integer test_i865 array A_nextFree294 integer A_firstFree140 integer A_maxIndex315 array A_typeId123 integer A_firstFree140 = 0 integer A_maxIndex315 = 0 function initGlobals287() { } function main855() { initGlobals287(); init_test113(); } function config113() { } function init_test113() { if (dispatch_A_test_A_foo115(new_B172()) == 8) { testSuccess937(); } else { }; } IS_NATIVE function testSuccess937() { } function A_init201(integer this203) { } function construct_A131(integer this745) { A_init201(this_745); } function B_foo188(integer this116) returns integer { test_i_865 = 8; return test_i_865; } function B_init150(integer this174) { } function new_B172() returns integer { local integer this205 this_205 = alloc_B134(); construct_B112(this_205); return this_205; } function construct_B112(integer this135) { construct_A131(this_135); B_init150(this_135); } function error145(string msg161) { $debugPrint145((msg_161 + (" " + #getStackTrace()))); } function alloc_B134() returns integer { local integer this158 if (A_firstFree_140 == 0) { if (A_maxIndex_315 < 32768) { A_maxIndex_315 = (A_maxIndex_315 + 1); this_158 = A_maxIndex_315; A_typeId_123[this_158] = 2; } else { error145("Out of memory: Could not create B."); this_158 = 0; }; } else { A_firstFree_140 = (A_firstFree_140 - 1); this_158 = A_nextFree_294[A_firstFree_140]; A_typeId_123[this_158] = 2; }; return this_158; } function dispatch_A_test_A_foo115(integer this174) returns integer { if (A_typeId_123[this_174] == 0) { if (this_174 == 0) { error145("Nullpointer exception when calling A.foo"); } else { error145("Called A.foo on invalid object."); }; } else { }; return B_foo188(this_174); }