array Blub_nextFree864 integer Blub_firstFree170 integer Blub_maxIndex135 array Blub_typeId161 array A_nextFree609 integer A_firstFree129 integer A_maxIndex278 array A_typeId442 array B_nextFree720 integer B_firstFree122 integer B_maxIndex597 array A_x479 array B_x827 integer Blub_firstFree170 = 0 integer Blub_maxIndex135 = 0 integer A_firstFree129 = 0 integer A_maxIndex278 = 0 integer B_firstFree122 = 0 integer B_maxIndex597 = 0 function initGlobals621() { Blub_firstFree_170 = 0; Blub_maxIndex_135 = 0; A_firstFree_129 = 0; A_maxIndex_278 = 0; B_firstFree_122 = 0; B_maxIndex_597 = 0; } function main696() { initGlobals621(); init_test176(); } function config155() { } function init_test176() { local integer i243 local integer clVar560 local integer temp193 local integer temp102 temp_193 = new_A240(3); temp_102 = new_B154(4); clVar_560 = alloc_Blub_callMe_test153(); i_243 = callMe875(temp_193, temp_102, clVar_560); if (B_x_827[i_243] == 10) { testSuccess285(); } else { }; } function callMe875(any t144, any s313, integer b460) returns any { local any s2766 s2_766 = dispatch_Blub_test_Blub_foo128(b_460, t_144, s_313); return dispatch_Blub_test_Blub_foo128(b_460, t_144, s2_766); } IS_NATIVE function testSuccess285() { } function foo_callMe_test487(integer this913, integer a168, integer b163) returns integer { return dispatch_A_test_A_foo580(a_168, b_163); } function A_foo124(integer this208, integer b121) returns integer { return new_B154((A_x_479[this_208] + B_x_827[b_121])); } function A_init100(integer this197) { } function new_A240(integer x156) returns integer { local integer this207 this_207 = alloc_A210(); construct_A718(this_207, x_156); return this_207; } function construct_A718(integer this993, integer x188) { A_init100(this_993); A_x_479[this_993] = x_188; } function new_B154(integer x450) returns integer { local integer this998 this_998 = alloc_B177(); construct_B658(this_998, x_450); return this_998; } function B_init190(integer this531) { } function construct_B658(integer this151, integer x131) { B_init190(this_151); B_x_827[this_151] = x_131; } function alloc_Blub_callMe_test153() returns integer { local integer this202 if (Blub_firstFree_170 == 0) { if (Blub_maxIndex_135 < 32768) { Blub_maxIndex_135 = (Blub_maxIndex_135 + 1); this_202 = Blub_maxIndex_135; Blub_typeId_161[this_202] = 4; } else { error110("Out of memory: Could not create Blub_callMe_test."); this_202 = 0; }; } else { Blub_firstFree_170 = (Blub_firstFree_170 - 1); this_202 = Blub_nextFree_864[Blub_firstFree_170]; Blub_typeId_161[this_202] = 4; }; return this_202; } function error110(string msg135) { $debugPrint103((msg_135 + (" " + #getStackTrace()))); } function alloc_A210() returns integer { local integer this149 if (A_firstFree_129 == 0) { if (A_maxIndex_278 < 32768) { A_maxIndex_278 = (A_maxIndex_278 + 1); this_149 = A_maxIndex_278; A_typeId_442[this_149] = 1; } else { error110("Out of memory: Could not create A."); this_149 = 0; }; } else { A_firstFree_129 = (A_firstFree_129 - 1); this_149 = A_nextFree_609[A_firstFree_129]; A_typeId_442[this_149] = 1; }; return this_149; } function alloc_B177() returns integer { local integer this322 if (B_firstFree_122 == 0) { if (B_maxIndex_597 < 32768) { B_maxIndex_597 = (B_maxIndex_597 + 1); this_322 = B_maxIndex_597; } else { error110("Out of memory: Could not create B."); this_322 = 0; }; } else { B_firstFree_122 = (B_firstFree_122 - 1); this_322 = B_nextFree_720[B_firstFree_122]; }; return this_322; } function dispatch_A_test_A_foo580(integer this853, integer b150) returns integer { local integer test_A_foo_result554 if (A_typeId_442[this_853] == 0) { if (this_853 == 0) { error110("Nullpointer exception when calling A.foo"); } else { error110("Called A.foo on invalid object."); }; } else { }; test_A_foo_result_554 = A_foo124(this_853, b_150); return test_A_foo_result_554; } function dispatch_Blub_test_Blub_foo128(integer this155, any t141, any s595) returns any { local any test_Blub_foo_result896 if (Blub_typeId_161[this_155] == 0) { if (this_155 == 0) { error110("Nullpointer exception when calling Blub.foo"); } else { error110("Called Blub.foo on invalid object."); }; } else { }; test_Blub_foo_result_896 = foo_callMe_test487(this_155, t_141, s_595); return test_Blub_foo_result_896; }