integer B_blub940 array Blub_nextFree567 integer Blub_firstFree333 integer Blub_maxIndex199 array Blub_typeId170 array Blub_x163 integer B_blub940 = new_Blub146() integer Blub_firstFree333 = 0 integer Blub_maxIndex199 = 0 function initGlobals112() { Blub_firstFree_333 = 0; Blub_maxIndex_199 = 0; } function main201() { initGlobals112(); init_B228(); init_C173(); } function config127() { } function init_B228() { B_blub_940 = new_Blub146(); } function init_C173() { if ((Blub_x_163[B_blub_940] == 2) and (dispatch_Blub_A_Blub_f173(B_blub_940) == 3)) { testSuccess986(); } else { }; } IS_NATIVE function testSuccess986() { } function Blub_f788(integer this335) returns integer { return 3; } function Blub_init686(integer this153) { Blub_x_163[this_153] = 2; } function new_Blub146() returns integer { local integer this102 this_102 = alloc_Blub183(); construct_Blub197(this_102); return this_102; } function construct_Blub197(integer this108) { Blub_init686(this_108); } function alloc_Blub183() returns integer { local integer this574 if (Blub_firstFree_333 == 0) { if (Blub_maxIndex_199 < 32768) { Blub_maxIndex_199 = (Blub_maxIndex_199 + 1); this_574 = Blub_maxIndex_199; Blub_typeId_170[this_574] = 1; } else { error117("Out of memory: Could not create Blub."); this_574 = 0; }; } else { Blub_firstFree_333 = (Blub_firstFree_333 - 1); this_574 = Blub_nextFree_567[Blub_firstFree_333]; Blub_typeId_170[this_574] = 1; }; return this_574; } function error117(string msg183) { $debugPrint521((msg_183 + (" " + #getStackTrace()))); } function dispatch_Blub_A_Blub_f173(integer this311) returns integer { local integer A_Blub_f_result451 if (Blub_typeId_170[this_311] == 0) { if (this_311 == 0) { error117("Nullpointer exception when calling Blub.f"); } else { error117("Called Blub.f on invalid object."); }; } else { }; A_Blub_f_result_451 = Blub_f788(this_311); return A_Blub_f_result_451; }