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,
"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": 6654
},
"current_ast_node_stack": [],
"current_instruction": {
"opcode": "AccessMember",
"operand": null,
"address": 6673
}
}
function GuiRCTabs.onSelect(tabid#2, tabtext#1, tabindex#0)
{
lit#6 = 0;
temp.i = lit#6;
fn_call#8 = GuiRCTabs.rowcount();
while (temp.i < fn_call#8)
{
lit#9 = "GuiRCConsoleScroll_Tab_";
fn_call#12 = GuiRCTabs.rows[temp.i].gettext();
fn_call#15 = GuiRCTabs.isrowselected(temp.i);
lit#9 @ fn_call#12.visible = fn_call#15;
temp.i++;
}
lit#16 = 0;
return lit#16;
}
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