This was built to track decompiler and CFG progress.
Unimplemented Opcode: NewObject
{
"frames": []
}
{
"current_block_id": {
"index": 0,
"address": 40,
"block_type": "Entry"
},
"current_ast_node_stack": [
{
"StandaloneNode": {
"Expression": {
"Assignable": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 29021,
"ptr": {
"ssa_version": 2,
"id": "unknown_object"
}
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Assignable": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"ssa_version": 2,
"id": "unknown_object"
},
"node_id": 29022
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Assignable": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"ssa_version": 2,
"id": "unknown_object"
},
"node_id": 29023
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Assignable": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 29024,
"ptr": {
"ssa_version": 2,
"id": "unknown_object"
}
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Literal": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 29025,
"ptr": {
"String": "TStaticVar"
}
}
}
}
}
],
"current_instruction": {
"opcode": "NewObject",
"operand": null,
"address": 55
}
}
function simpleNewBlock()
{
fn_call#1 = echo#0("Hello, world!");
new_node#3 = new TStaticVar(unknown_object#2);
unknown_object#4 = new_node#3;
// RegionId(0)
// Unresolved nodes:
// idx=0: unknown_object
// RegionId(1)
// Unresolved nodes:
// idx=0: unknown_object
with (unknown_object#2)
{
<this.x>#8 = 0;
<this.y>#11 = 0;
<this.foo>#14 = "bar";
}
fn_call#16 = addcontrol#15(unknown_object#2);
fn_call#17 = echo#0("Goodbye, world!");
return 0;
}
Use the mouse wheel + shift to zoom in and out, and click and drag to pan.
Use the mouse wheel + shift to zoom in and out, and click and drag to pan.
Step 1 of 5