This was built to track decompiler and CFG progress.
Unexpected AstNode sub-type on stack. Expected Assignable.
{
"frames": [
{
"line": 282,
"function": "gbf_core::decompiler::function_decompiler_context::FunctionDecompilerContext::pop_assignable",
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler_context.rs"
},
{
"line": 33,
"file": ".\\gbf_core\\src\\decompiler\\handlers\\special_two_operand.rs",
"function": "gbf_core::decompiler::handlers::special_two_operand::impl$0::handle_instruction"
},
{
"line": 171,
"function": "gbf_core::decompiler::function_decompiler_context::FunctionDecompilerContext::process_instruction",
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler_context.rs"
},
{
"line": 467,
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler.rs",
"function": "gbf_core::decompiler::function_decompiler::FunctionDecompiler::process_regions"
},
{
"line": 286,
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler.rs",
"function": "gbf_core::decompiler::function_decompiler::FunctionDecompiler::decompile"
}
]
}
{
"current_block_id": {
"index": 0,
"block_type": "Entry",
"address": 9929
},
"current_ast_node_stack": [
{
"StandaloneNode": {
"Expression": {
"Assignable": {
"MemberAccess": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"rhs": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"ssa_version": null,
"id": "text"
},
"node_id": 93309
}
},
"ssa_version": 14,
"lhs": {
"Identifier": {
"metadata": {
"properties": {},
"comments": []
},
"ptr": {
"ssa_version": null,
"id": "temp"
},
"node_id": 93308
}
}
},
"node_id": 93310
}
}
}
}
},
{
"BuildingArray": []
}
],
"current_instruction": {
"opcode": "AccessMember",
"operand": null,
"address": 9969
}
}
function onGuiRCListFlagsButtonPressed(obj#0)
{
temp.title = obj.parent.text;
fn_call#7 = getTextTypeByTitle#6(temp.title);
temp.texttype = fn_call#7;
lit#8 = "GuiRC";
lit#9 = "ListTextList";
fn_call#11 = (lit#8 @ temp.title) @ lit#9.getselectedtext();
temp.text = fn_call#11;
lit#12 = "npc";
// RegionId(0)
// RegionId(1)
if (temp.texttype == lit#12)
{
lit#13 = null;
// RegionId(1)
// RegionId(2)
if (temp.text != lit#13)
{
lit#14 = "npcflags";
fn_call#17 = this.queueRequest(lit#14, temp.text);
}
}
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 7