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": 28644,
"ptr": {
"ssa_version": 2,
"id": "unknown_object"
}
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Assignable": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"ssa_version": 2,
"id": "unknown_object"
},
"node_id": 28645
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Assignable": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"ssa_version": 2,
"id": "unknown_object"
},
"node_id": 28646
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Assignable": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"ssa_version": 2,
"id": "unknown_object"
},
"node_id": 28647
}
}
}
}
},
{
"StandaloneNode": {
"Expression": {
"Literal": {
"metadata": {
"properties": {},
"comments": []
},
"node_id": 28648,
"ptr": {
"String": "TStaticVar"
}
}
}
}
}
],
"current_instruction": {
"opcode": "NewObject",
"operand": null,
"address": 55
}
}
function simpleNewBlock()
{
lit#0 = "Hello, world!";
fn_call#2 = echo#1(lit#0);
lit#4 = "TStaticVar";
new_node#5 = new lit#4(unknown_object#3);
unknown_object#6 = new_node#5;
// RegionId(0)
// Unresolved nodes:
// idx=0: unknown_object
// RegionId(1)
// Unresolved nodes:
// idx=0: unknown_object
with (unknown_object#3)
{
lit#9 = 0;
this.x = lit#9;
lit#11 = 0;
this.y = lit#11;
lit#13 = "bar";
this.foo = lit#13;
}
fn_call#15 = addcontrol#14(unknown_object#3);
lit#16 = "Goodbye, world!";
fn_call#17 = echo#1(lit#16);
lit#18 = 0;
return lit#18;
}
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