This was built to track decompiler and CFG progress.
The AST Node stack is empty.
{
"frames": [
{
"line": 212,
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler_context.rs",
"function": "gbf_core::decompiler::function_decompiler_context::FunctionDecompilerContext::pop_one_node"
},
{
"line": 29,
"function": "gbf_core::decompiler::handlers::general::impl$0::handle_instruction",
"file": ".\\gbf_core\\src\\decompiler\\handlers\\general.rs"
},
{
"line": 171,
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler_context.rs",
"function": "gbf_core::decompiler::function_decompiler_context::FunctionDecompilerContext::process_instruction"
},
{
"line": 467,
"function": "gbf_core::decompiler::function_decompiler::FunctionDecompiler::process_regions",
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler.rs"
},
{
"line": 286,
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler.rs",
"function": "gbf_core::decompiler::function_decompiler::FunctionDecompiler::decompile"
}
]
}
{
"current_block_id": {
"index": 5,
"block_type": "Normal",
"address": 12998
},
"current_ast_node_stack": [],
"current_instruction": {
"opcode": "Pop",
"operand": null,
"address": 12999
}
}
function performSearch(next#0)
{
this.searchRows = {};
lit#7 = 0;
for (phi<idx=0, regions=()> : phi<idx=1, regions=()>)
{
builtin_fn_call#10 = temp.row.text.starts(ScriptedRC_SearchEdit.text);
// RegionId(2)
// RegionId(3)
if (builtin_fn_call#10)
{
fn_call#13 = FileBrowser_FilesList.getRowNumByID(temp.row.id);
fn_call#15 = FileBrowser_FilesList.setSelectedRow(fn_call#13);
fn_call#16 = FileBrowser_FilesList.getRowNumByID(temp.row.id);
builtin_fn_call#17 = this.searchRows.add(fn_call#16);
}
phi<idx=0, regions=()>++;
}
lit#18 = 0;
// RegionId(5)
// RegionId(6)
if (next#0 == lit#18)
{
lit#20 = 0;
this.searchindex = lit#20;
lit#21 = 0;
fn_call#22 = FileBrowser_FilesList.setSelectedRow(this.searchRows[lit#21]);
}
// RegionId(7)
else
{
lit#23 = 0;
// RegionId(7)
// RegionId(8)
if (next#0 > lit#23)
{
lit#24 = 0;
}
// RegionId(9)
// RegionId(10)
if (phi<idx=0, regions=()>)
{
builtin_fn_call#25 = this.searchRows.size();
this.searchindex = (this.searchindex + next#0) % builtin_fn_call#25;
fn_call#26 = FileBrowser_FilesList.setSelectedRow(this.searchRows[this.searchindex]);
}
}
lit#27 = "";
// RegionId(11)
// RegionId(12)
if (ScriptedRC_SearchEdit.text == lit#27)
{
lit#28 = -1;
fn_call#29 = FileBrowser_FilesList.setSelectedRow(lit#28);
}
lit#30 = 0;
return lit#30;
}
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 25