This was built to track decompiler and CFG progress.
A structure analysis error occurred while decompiling the function: Maximum number of iterations reached: 100
{
"frames": []
}
{
"current_block_id": {
"index": 27,
"block_type": "Normal",
"address": 13758
},
"current_ast_node_stack": [],
"current_instruction": {
"opcode": "Ret",
"operand": null,
"address": 13770
}
}
function onNamePromptEntry(obj#0)
{
lit#4 = "Class";
// RegionId(0)
// RegionId(21)
if (!(obj.title == lit#4))
{
lit#5 = "Weapon";
// RegionId(22)
if (!(phi<idx=0, regions=()> == lit#5))
{
lit#6 = "Disconnect";
// RegionId(22)
// RegionId(23)
if (!(phi<idx=0, regions=()> == lit#6))
{
lit#7 = "Admin message";
// RegionId(23)
// RegionId(24)
if (!(phi<idx=0, regions=()> == lit#7))
{
lit#8 = "Command or object name";
// RegionId(24)
// RegionId(25)
if (!(phi<idx=0, regions=()> == lit#8))
{
lit#9 = "Move File";
// RegionId(25)
// RegionId(26)
if (!(phi<idx=0, regions=()> == lit#9))
{
lit#10 = "Unrecognised name prompt: \'%s\'";
builtin_fn_call#11 = format(lit#10, obj.title);
fn_call#13 = echo#12(builtin_fn_call#11);
}
// RegionId(11)
else
{
builtin_fn_call#16 = obj.itemname.text.trim();
temp.targetfolder = builtin_fn_call#16;
builtin_fn_call#17 = temp.targetfolder.length();
lit#18 = 0;
// RegionId(11)
// RegionId(12)
if (builtin_fn_call#17 <= lit#18)
{
}
// RegionId(13)
else
{
lit#19 = "/";
builtin_fn_call#20 = temp.targetfolder.ends(lit#19);
// RegionId(13)
// RegionId(14)
if (!builtin_fn_call#20)
{
lit#21 = "/";
temp.targetfolder = temp.targetfolder @ lit#21;
}
lit#22 = "check files move: ";
lit#23 = " - ";
fn_call#25 = echo#12(((lit#22 @ temp.targetfolder) @ lit#23) @ obj.itemtype);
lit#27 = 6.012;
// RegionId(15)
// RegionId(16)
if (graalversion#26 >= lit#27)
{
fn_call#29 = Adventure_requestFilesMove#28(temp.targetfolder, obj.itemtype);
}
// RegionId(17)
else
{
fn_call#31 = requestFilesMove#30(temp.targetfolder, obj.itemtype);
}
lit#34 = "folder";
fn_call#36 = requesttext#35(lit#34, this.showfolder);
}
}
}
// RegionId(10)
else
{
lit#37 = "scripthelp";
fn_call#38 = requesttext#35(lit#37, obj.itemname.text);
}
}
// RegionId(9)
else
{
fn_call#40 = findPlayer#39(obj.itemtype);
lit#42 = "adminmessage";
fn_call#44 = sendtext#43(lit#42, fn_call.id, obj.itemname.text);
}
}
// RegionId(8)
else
{
fn_call#46 = escapestring#45(obj.itemname.text);
fn_call#47 = findPlayer#39(obj.itemtype);
lit#48 = "disconnect";
fn_call#49 = sendtext#43(lit#48, fn_call.id, fn_call#46);
}
fn_call#74 = obj.parent.destroy();
lit#75 = 0;
return lit#75;
}
}
lit#50 = "Class";
// RegionId(1)
// RegionId(2)
if (obj.title == lit#50)
{
lit#52 = "Classes";
temp.root = lit#52;
}
// RegionId(3)
else
{
lit#53 = "Weapon";
// RegionId(3)
// RegionId(4)
if (obj.title == lit#53)
{
lit#54 = "Weapons";
temp.root = lit#54;
}
}
lit#55 = "/";
lit#56 = "/";
fn_call#59 = ScriptEditorTree.getnodebypath((temp.root @ lit#56) @ obj.itemname.text, lit#55);
lit#60 = null;
// RegionId(5)
// RegionId(6)
if (fn_call#59 == lit#60)
{
lit#61 = "// Scripted by ";
fn_call#65 = lowercase#64(obj.title);
fn_call#66 = sendtext#43(fn_call#65, obj.itemname.text, lit#61 @ player.nick);
fn_call#67 = lowercase#64(obj.title);
fn_call#69 = this.clearScriptTree(fn_call#67);
}
fn_call#70 = lowercase#64(obj.title);
fn_call#71 = requesttext#35(fn_call#70, obj.itemname.text);
goto RegionId(27);
}
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 40