array A_nextFree699 integer A_firstFree196 integer A_maxIndex646 array A_typeId129 array A_pos_x160 integer A_firstFree196 = 0 integer A_maxIndex646 = 0 function initGlobals846() { A_firstFree_196 = 0; A_maxIndex_646 = 0; } function main593() { initGlobals846(); init_test196(); } function config117() { } function init_test196() { local integer a175 a_175 = new_A163(); dispatch_A_test_A_foo858(a_175); if (A_pos_x_160[a_175] == 3.) { testSuccess142(); } else { }; } IS_NATIVE function testSuccess142() { } function A_foo886(integer this188) { A_pos_x_160[this_188] = 3.; } function A_init483(integer this199) { } function new_A163() returns integer { local integer this656 this_656 = alloc_A378(); construct_A115(this_656); return this_656; } function construct_A115(integer this162) { local real tuple_temp316 A_init483(this_162); tuple_temp_316 = 1.; A_pos_x_160[this_162] = tuple_temp_316; } function alloc_A378() returns integer { local integer this197 if (A_firstFree_196 == 0) { if (A_maxIndex_646 < 32768) { A_maxIndex_646 = (A_maxIndex_646 + 1); this_197 = A_maxIndex_646; A_typeId_129[this_197] = 1; } else { error161("Out of memory: Could not create A."); this_197 = 0; }; } else { A_firstFree_196 = (A_firstFree_196 - 1); this_197 = A_nextFree_699[A_firstFree_196]; A_typeId_129[this_197] = 1; }; return this_197; } function error161(string msg157) { $debugPrint114((msg_157 + (" " + #getStackTrace()))); } function dispatch_A_test_A_foo858(integer this134) { if (A_typeId_129[this_134] == 0) { if (this_134 == 0) { error161("Nullpointer exception when calling A.foo"); } else { error161("Called A.foo on invalid object."); }; } else { }; A_foo886(this_134); }