integer B_blub167 array Blub_nextFree449 integer Blub_firstFree166 integer Blub_maxIndex114 array Blub_typeId123 array Blub_x159 integer B_blub167 = new_Blub958() integer Blub_firstFree166 = 0 integer Blub_maxIndex114 = 0 function initGlobals162() { } function main194() { initGlobals162(); init_B659(); init_C101(); } function config176() { } function init_B659() { B_blub_167 = new_Blub958(); } function init_C101() { if ((Blub_x_159[B_blub_167] == 2) and (dispatch_Blub_A_Blub_f513(B_blub_167) == 3)) { testSuccess473(); } else { }; } IS_NATIVE function testSuccess473() { } function Blub_f922(integer this121) returns integer { return 3; } function Blub_init181(integer this394) { Blub_x_159[this_394] = 2; } function new_Blub958() returns integer { local integer this584 this_584 = alloc_Blub199(); construct_Blub137(this_584); return this_584; } function construct_Blub137(integer this133) { Blub_init181(this_133); } function alloc_Blub199() returns integer { local integer this641 if (Blub_firstFree_166 == 0) { if (Blub_maxIndex_114 < 32768) { Blub_maxIndex_114 = (Blub_maxIndex_114 + 1); this_641 = Blub_maxIndex_114; Blub_typeId_123[this_641] = 1; } else { error282("Out of memory: Could not create Blub."); this_641 = 0; }; } else { Blub_firstFree_166 = (Blub_firstFree_166 - 1); this_641 = Blub_nextFree_449[Blub_firstFree_166]; Blub_typeId_123[this_641] = 1; }; return this_641; } function error282(string msg141) { $debugPrint197((msg_141 + (" " + #getStackTrace()))); } function dispatch_Blub_A_Blub_f513(integer this132) returns integer { if (Blub_typeId_123[this_132] == 0) { if (this_132 == 0) { error282("Nullpointer exception when calling Blub.f"); } else { error282("Called Blub.f on invalid object."); }; } else { }; return Blub_f922(this_132); }