integer B_blub922 array Blub_nextFree148 integer Blub_firstFree103 integer Blub_maxIndex197 array Blub_typeId194 array Blub_x758 integer B_blub922 = new_Blub154() integer Blub_firstFree103 = 0 integer Blub_maxIndex197 = 0 function initGlobals153() { } function main181() { initGlobals153(); init_B756(); init_C648(); } function config109() { } function init_B756() { B_blub_922 = new_Blub154(); } function init_C648() { if ((Blub_x_758[B_blub_922] == 2) and (dispatch_Blub_A_Blub_f179(B_blub_922) == 3)) { testSuccess167(); } else { }; } IS_NATIVE function testSuccess167() { } function Blub_f417(integer this107) returns integer { return 3; } function Blub_init115(integer this523) { Blub_x_758[this_523] = 2; } function new_Blub154() returns integer { local integer this125 this_125 = alloc_Blub129(); construct_Blub614(this_125); return this_125; } function construct_Blub614(integer this413) { Blub_init115(this_413); } function alloc_Blub129() returns integer { local integer this108 if (Blub_firstFree_103 == 0) { if (Blub_maxIndex_197 < 32768) { Blub_maxIndex_197 = (Blub_maxIndex_197 + 1); this_108 = Blub_maxIndex_197; Blub_typeId_194[this_108] = 1; } else { error844("Out of memory: Could not create Blub."); this_108 = 0; }; } else { Blub_firstFree_103 = (Blub_firstFree_103 - 1); this_108 = Blub_nextFree_148[Blub_firstFree_103]; Blub_typeId_194[this_108] = 1; }; return this_108; } function error844(string msg177) { $debugPrint500((msg_177 + (" " + #getStackTrace()))); } function dispatch_Blub_A_Blub_f179(integer this120) returns integer { if (Blub_typeId_194[this_120] == 0) { if (this_120 == 0) { error844("Nullpointer exception when calling Blub.f"); } else { error844("Called Blub.f on invalid object."); }; } else { }; return Blub_f417(this_120); }