This was built to track decompiler and CFG progress.
An error occurred while decompiling the function: Inconsistent number of phi candidates in predecessor block BasicBlockId { index: 0, block_type: Entry, address: 1 }: expected 2, got 1
{
"frames": []
}
{
"current_block_id": {
"index": 2,
"address": 44,
"block_type": "Normal"
},
"current_ast_node_stack": [],
"current_instruction": {
"opcode": "ConvertToFloat",
"operand": null,
"address": 43
}
}
function onCreated()
{
lit#5 = true;
temp.thingOne = lit#5;
lit#6 = true;
temp.thingTwo = lit#6;
lit#7 = false;
temp.thingThree = lit#7;
// RegionId(0)
// RegionId(1)
if (temp.thingOne)
{
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
// RegionId(3)
// RegionId(4)
if (temp.thingOne)
{
// RegionId(4)
// RegionId(5)
if (temp.thingTwo)
{
}
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
// RegionId(7)
// RegionId(8)
if (temp.thingOne)
{
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
// RegionId(10)
// RegionId(11)
if (temp.thingOne)
{
// RegionId(11)
// RegionId(12)
if (temp.thingTwo)
{
}
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
// RegionId(14)
// RegionId(15)
if (temp.thingOne)
{
}
// RegionId(16)
// RegionId(17)
if (phi<idx=0, regions=()>)
{
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
// RegionId(19)
// RegionId(20)
if (temp.thingOne)
{
}
// RegionId(21)
// RegionId(22)
if (phi<idx=0, regions=()>)
{
// RegionId(22)
// RegionId(23)
if (temp.thingThree)
{
}
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
// RegionId(25)
// RegionId(26)
if (temp.thingOne)
{
}
// RegionId(27)
// RegionId(28)
if (phi<idx=0, regions=()>)
{
// RegionId(28)
// RegionId(29)
if (temp.thingThree)
{
// RegionId(29)
// RegionId(30)
if (temp.thingOne)
{
lit#15 = false;
lit#16 = true;
fn_call#18 = returnAndShortCircuit#17(lit#16, lit#15);
}
}
}
phi<idx=1, regions=()> = phi<idx=0, regions=()>;
lit#19 = "simpleAndTwo: ";
fn_call#20 = echo#3(lit#19 @ temp.simpleAndTwo);
lit#21 = "simpleAndThree: ";
fn_call#22 = echo#3(lit#21 @ temp.simpleAndThree);
lit#23 = "simpleOrTwo: ";
fn_call#24 = echo#3(lit#23 @ temp.simpleOrTwo);
lit#25 = "simpleOrThree: ";
fn_call#26 = echo#3(lit#25 @ temp.simpleOrThree);
lit#27 = "complex: ";
fn_call#28 = echo#3(lit#27 @ temp.complex);
lit#29 = "complexTwo: ";
fn_call#30 = echo#3(lit#29 @ temp.complexTwo);
lit#31 = 0;
return lit#31;
}
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 65