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,
"file": ".\\gbf_core\\src\\decompiler\\structure_analysis\\mod.rs",
"function": "gbf_core::decompiler::structure_analysis::StructureAnalysis::reduce_acyclic_region"
},
{
"line": 300,
"file": ".\\gbf_core\\src\\decompiler\\structure_analysis\\mod.rs",
"function": "gbf_core::decompiler::structure_analysis::StructureAnalysis::execute"
},
{
"line": 292,
"file": ".\\gbf_core\\src\\decompiler\\function_decompiler.rs",
"function": "gbf_core::decompiler::function_decompiler::FunctionDecompiler::decompile"
}
]
}
{
"current_block_id": {
"index": 7,
"address": 2706,
"block_type": "Normal"
},
"current_ast_node_stack": [],
"current_instruction": {
"opcode": "Ret",
"operand": null,
"address": 2708
}
}
function onMessageBoxButton()
{
lit#2 = "close";
// RegionId(5)
// RegionId(6)
if (!(this.messageboxaction == lit#2))
{
lit#3 = "relogin";
// RegionId(6)
// RegionId(4)
if (!(phi<idx=0, regions=()> == lit#3))
{
lit#4 = "";
this.messageboxaction = lit#4;
lit#7 = "OK";
builtin_fn_call#8 = _(lit#7);
MessageBoxDialog_Button.text = builtin_fn_call#8;
fn_call#13 = TClient_setConnectionAttributes#12(this.loginserver, this.loginhost, this.loginport);
fn_call#15 = sendLogin#14();
}
}
// RegionId(1)
else
{
lit#16 = "";
this.messageboxaction = lit#16;
fn_call#18 = getplatform#17();
lit#19 = "javascript";
lit#20 = "flash";
// RegionId(1)
// RegionId(2)
if (fn_call#18 in {lit#20, lit#19})
{
fn_call#22 = onCreated#21();
}
// RegionId(3)
else
{
fn_call#24 = Adventure_quit#23();
}
}
lit#25 = 0;
return lit#25;
}
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