array Blub_nextFree205 integer Blub_firstFree142 integer Blub_maxIndex127 array Blub_typeId921 array A_nextFree141 integer A_firstFree419 integer A_maxIndex383 array A_typeId214 array B_nextFree382 integer B_firstFree211 integer B_maxIndex916 array A_x189 array B_x171 integer Blub_firstFree142 = 0 integer Blub_maxIndex127 = 0 integer A_firstFree419 = 0 integer A_maxIndex383 = 0 integer B_firstFree211 = 0 integer B_maxIndex916 = 0 function initGlobals119() { Blub_firstFree_142 = 0; Blub_maxIndex_127 = 0; A_firstFree_419 = 0; A_maxIndex_383 = 0; B_firstFree_211 = 0; B_maxIndex_916 = 0; } function main135() { initGlobals119(); init_test187(); } function config462() { } function init_test187() { local integer i127 local integer clVar163 local integer temp211 local integer temp947 temp_211 = new_A168(3); temp_947 = new_B134(4); clVar_163 = alloc_Blub_callMe_test132(); i_127 = callMe133(temp_211, temp_947, clVar_163); if (B_x_171[i_127] == 10) { testSuccess184(); } else { }; } function callMe133(any t342, any s723, integer b110) returns any { local any s2203 s2_203 = dispatch_Blub_test_Blub_foo196(b_110, t_342, s_723); return dispatch_Blub_test_Blub_foo196(b_110, t_342, s2_203); } IS_NATIVE function testSuccess184() { } function foo_callMe_test161(integer this192, integer a102, integer b135) returns integer { return dispatch_A_test_A_foo113(a_102, b_135); } function A_foo972(integer this585, integer b162) returns integer { return new_B134((A_x_189[this_585] + B_x_171[b_162])); } function A_init970(integer this123) { } function new_A168(integer x142) returns integer { local integer this803 this_803 = alloc_A429(); construct_A565(this_803, x_142); return this_803; } function construct_A565(integer this120, integer x795) { A_init970(this_120); A_x_189[this_120] = x_795; } function new_B134(integer x283) returns integer { local integer this802 this_802 = alloc_B406(); construct_B372(this_802, x_283); return this_802; } function B_init128(integer this993) { } function construct_B372(integer this166, integer x323) { B_init128(this_166); B_x_171[this_166] = x_323; } function alloc_Blub_callMe_test132() returns integer { local integer this620 if (Blub_firstFree_142 == 0) { if (Blub_maxIndex_127 < 32768) { Blub_maxIndex_127 = (Blub_maxIndex_127 + 1); this_620 = Blub_maxIndex_127; Blub_typeId_921[this_620] = 4; } else { error213("Out of memory: Could not create Blub_callMe_test."); this_620 = 0; }; } else { Blub_firstFree_142 = (Blub_firstFree_142 - 1); this_620 = Blub_nextFree_205[Blub_firstFree_142]; Blub_typeId_921[this_620] = 4; }; return this_620; } function error213(string msg204) { $debugPrint971((msg_204 + (" " + #getStackTrace()))); } function alloc_A429() returns integer { local integer this181 if (A_firstFree_419 == 0) { if (A_maxIndex_383 < 32768) { A_maxIndex_383 = (A_maxIndex_383 + 1); this_181 = A_maxIndex_383; A_typeId_214[this_181] = 1; } else { error213("Out of memory: Could not create A."); this_181 = 0; }; } else { A_firstFree_419 = (A_firstFree_419 - 1); this_181 = A_nextFree_141[A_firstFree_419]; A_typeId_214[this_181] = 1; }; return this_181; } function alloc_B406() returns integer { local integer this167 if (B_firstFree_211 == 0) { if (B_maxIndex_916 < 32768) { B_maxIndex_916 = (B_maxIndex_916 + 1); this_167 = B_maxIndex_916; } else { error213("Out of memory: Could not create B."); this_167 = 0; }; } else { B_firstFree_211 = (B_firstFree_211 - 1); this_167 = B_nextFree_382[B_firstFree_211]; }; return this_167; } function dispatch_A_test_A_foo113(integer this803, integer b187) returns integer { local integer test_A_foo_result116 if (A_typeId_214[this_803] == 0) { if (this_803 == 0) { error213("Nullpointer exception when calling A.foo"); } else { error213("Called A.foo on invalid object."); }; } else { }; test_A_foo_result_116 = A_foo972(this_803, b_187); return test_A_foo_result_116; } function dispatch_Blub_test_Blub_foo196(integer this661, any t452, any s750) returns any { local any test_Blub_foo_result157 if (Blub_typeId_921[this_661] == 0) { if (this_661 == 0) { error213("Nullpointer exception when calling Blub.foo"); } else { error213("Called Blub.foo on invalid object."); }; } else { }; test_Blub_foo_result_157 = foo_callMe_test161(this_661, t_452, s_750); return test_Blub_foo_result_157; }