array A_nextFree765 integer A_firstFree145 integer A_maxIndex215 array A_typeId738 integer A_firstFree145 = 0 integer A_maxIndex215 = 0 function initGlobals814() { A_firstFree_145 = 0; A_maxIndex_215 = 0; } function main397() { initGlobals814(); init_test166(); } function config114() { } function init_test166() { new_B121(); } IS_NATIVE function testSuccess791() { } function A_someInt210(integer this620) { testSuccess791(); } function A_init175(integer this200) { } function construct_A179(integer this136) { A_init175(this_136); } function B_init179(integer this869) { } function new_B121() returns integer { local integer this765 this_765 = alloc_B138(); construct_B192(this_765); return this_765; } function construct_B192(integer this116) { construct_A179(this_116); B_init179(this_116); dispatch_A_test_A_someInt214(this_116); } function error115(string msg186) { $debugPrint267((msg_186 + (" " + #getStackTrace()))); } function alloc_B138() returns integer { local integer this846 if (A_firstFree_145 == 0) { if (A_maxIndex_215 < 32768) { A_maxIndex_215 = (A_maxIndex_215 + 1); this_846 = A_maxIndex_215; A_typeId_738[this_846] = 2; } else { error115("Out of memory: Could not create B."); this_846 = 0; }; } else { A_firstFree_145 = (A_firstFree_145 - 1); this_846 = A_nextFree_765[A_firstFree_145]; A_typeId_738[this_846] = 2; }; return this_846; } function dispatch_A_test_A_someInt214(integer this337) { if (A_typeId_738[this_337] == 0) { if (this_337 == 0) { error115("Nullpointer exception when calling A.someInt"); } else { error115("Called A.someInt on invalid object."); }; } else { }; A_someInt210(this_337); }