This was built to track decompiler and CFG progress.
A structure analysis error occurred while decompiling the function: A structure analysis error occurred: Control flow region must have exactly two successors, found 1
{
"frames": [
{
"line": 134,
"function": "gbf_core::decompiler::structure_analysis::if_region_reducer::impl$1::reduce_region",
"file": ".\\gbf_core\\src\\decompiler\\structure_analysis\\if_region_reducer.rs"
},
{
"line": 564,
"function": "gbf_core::decompiler::structure_analysis::StructureAnalysis::reduce_acyclic_region",
"file": ".\\gbf_core\\src\\decompiler\\structure_analysis\\mod.rs"
},
{
"line": 300,
"file": ".\\gbf_core\\src\\decompiler\\structure_analysis\\mod.rs",
"function": "gbf_core::decompiler::structure_analysis::StructureAnalysis::execute"
},
{
"line": 292,
"function": "gbf_core::decompiler::function_decompiler::FunctionDecompiler::decompile",
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler.rs"
}
]
}
{
"current_block_id": {
"index": 21,
"address": 11641,
"block_type": "Normal"
},
"current_ast_node_stack": [],
"current_instruction": {
"opcode": "Ret",
"operand": null,
"address": 11654
}
}
function onSortFolder(obj#0)
{
lit#5 = "Name";
// RegionId(5)
// RegionId(6)
if (!(obj.text == lit#5))
{
lit#6 = "Rights";
// RegionId(6)
// RegionId(7)
if (!(phi<idx=0, regions=()> == lit#6))
{
lit#7 = "Size";
// RegionId(7)
// RegionId(8)
if (!(phi<idx=0, regions=()> == lit#7))
{
lit#8 = "Modified";
// RegionId(8)
// RegionId(4)
if (!(phi<idx=0, regions=()> == lit#8))
{
lit#9 = 3;
temp.col = lit#9;
}
}
// RegionId(3)
else
{
lit#10 = 2;
temp.col = lit#10;
}
}
// RegionId(2)
else
{
lit#11 = 1;
temp.col = lit#11;
}
}
// RegionId(1)
else
{
lit#12 = 0;
temp.col = lit#12;
}
lit#14 = 2;
// RegionId(9)
// RegionId(10)
if (temp.col == lit#14)
{
lit#15 = "value";
}
// RegionId(11)
else
{
lit#16 = "name";
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
lit#18 = "ascending";
FileBrowser_FilesList.groupsortmode = lit#18;
// RegionId(12)
// RegionId(13)
if (this.sortcol == temp.col)
{
lit#22 = "ascending";
// RegionId(13)
// RegionId(14)
if (FileBrowser_FilesList.sortorder == lit#22)
{
lit#23 = "descending";
}
// RegionId(15)
else
{
lit#24 = "ascending";
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
}
// RegionId(17)
else
{
lit#25 = 3;
lit#26 = 2;
// RegionId(17)
// RegionId(18)
if (temp.col in {lit#26, lit#25})
{
lit#27 = "descending";
}
// RegionId(19)
else
{
lit#28 = "ascending";
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
FileBrowser_FilesList.sortcolumn = temp.col;
}
this.sortcol = temp.col;
fn_call#31 = FileBrowser_FilesList.sort();
lit#32 = 0;
return lit#32;
}
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 29