array Blub_nextFree104 integer Blub_firstFree114 integer Blub_maxIndex175 array Blub_typeId117 array A_nextFree158 integer A_firstFree302 integer A_maxIndex286 array A_typeId378 array B_nextFree810 integer B_firstFree610 integer B_maxIndex181 array A_x182 array B_x148 integer Blub_firstFree114 = 0 integer Blub_maxIndex175 = 0 integer A_firstFree302 = 0 integer A_maxIndex286 = 0 integer B_firstFree610 = 0 integer B_maxIndex181 = 0 function initGlobals128() { Blub_firstFree_114 = 0; Blub_maxIndex_175 = 0; A_firstFree_302 = 0; A_maxIndex_286 = 0; B_firstFree_610 = 0; B_maxIndex_181 = 0; } function main155() { initGlobals128(); init_test112(); } function config292() { } function init_test112() { local integer i754 local integer clVar904 local integer temp446 local integer temp483 temp_446 = new_A171(3); temp_483 = new_B167(4); clVar_904 = alloc_Blub_callMe_test158(); i_754 = callMe788(temp_446, temp_483, clVar_904); if (B_x_148[i_754] == 10) { testSuccess261(); } else { }; } function callMe788(any t124, any s184, integer b261) returns any { local any s2121 s2_121 = dispatch_Blub_test_Blub_foo190(b_261, t_124, s_184); return dispatch_Blub_test_Blub_foo190(b_261, t_124, s2_121); } IS_NATIVE function testSuccess261() { } function foo_callMe_test803(integer this513, integer a211, integer b116) returns integer { return dispatch_A_test_A_foo151(a_211, b_116); } function A_foo509(integer this185, integer b119) returns integer { return new_B167((A_x_182[this_185] + B_x_148[b_119])); } function A_init170(integer this725) { } function new_A171(integer x191) returns integer { local integer this274 this_274 = alloc_A194(); construct_A146(this_274, x_191); return this_274; } function construct_A146(integer this187, integer x671) { A_init170(this_187); A_x_182[this_187] = x_671; } function new_B167(integer x112) returns integer { local integer this194 this_194 = alloc_B107(); construct_B144(this_194, x_112); return this_194; } function B_init630(integer this890) { } function construct_B144(integer this112, integer x128) { B_init630(this_112); B_x_148[this_112] = x_128; } function alloc_Blub_callMe_test158() returns integer { local integer this372 if (Blub_firstFree_114 == 0) { if (Blub_maxIndex_175 < 32768) { Blub_maxIndex_175 = (Blub_maxIndex_175 + 1); this_372 = Blub_maxIndex_175; Blub_typeId_117[this_372] = 4; } else { error811("Out of memory: Could not create Blub_callMe_test."); this_372 = 0; }; } else { Blub_firstFree_114 = (Blub_firstFree_114 - 1); this_372 = Blub_nextFree_104[Blub_firstFree_114]; Blub_typeId_117[this_372] = 4; }; return this_372; } function error811(string msg181) { $debugPrint254((msg_181 + (" " + #getStackTrace()))); } function alloc_A194() returns integer { local integer this118 if (A_firstFree_302 == 0) { if (A_maxIndex_286 < 32768) { A_maxIndex_286 = (A_maxIndex_286 + 1); this_118 = A_maxIndex_286; A_typeId_378[this_118] = 1; } else { error811("Out of memory: Could not create A."); this_118 = 0; }; } else { A_firstFree_302 = (A_firstFree_302 - 1); this_118 = A_nextFree_158[A_firstFree_302]; A_typeId_378[this_118] = 1; }; return this_118; } function alloc_B107() returns integer { local integer this197 if (B_firstFree_610 == 0) { if (B_maxIndex_181 < 32768) { B_maxIndex_181 = (B_maxIndex_181 + 1); this_197 = B_maxIndex_181; } else { error811("Out of memory: Could not create B."); this_197 = 0; }; } else { B_firstFree_610 = (B_firstFree_610 - 1); this_197 = B_nextFree_810[B_firstFree_610]; }; return this_197; } function dispatch_A_test_A_foo151(integer this198, integer b770) returns integer { local integer test_A_foo_result542 if (A_typeId_378[this_198] == 0) { if (this_198 == 0) { error811("Nullpointer exception when calling A.foo"); } else { error811("Called A.foo on invalid object."); }; } else { }; test_A_foo_result_542 = A_foo509(this_198, b_770); return test_A_foo_result_542; } function dispatch_Blub_test_Blub_foo190(integer this232, any t207, any s140) returns any { local any test_Blub_foo_result243 if (Blub_typeId_117[this_232] == 0) { if (this_232 == 0) { error811("Nullpointer exception when calling Blub.foo"); } else { error811("Called Blub.foo on invalid object."); }; } else { }; test_Blub_foo_result_243 = foo_callMe_test803(this_232, t_207, s_140); return test_Blub_foo_result_243; }