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