array A_nextFree143 integer A_firstFree641 integer A_maxIndex104 array A_typeId166 integer A_firstFree641 = 0 integer A_maxIndex104 = 0 function initGlobals355() { A_firstFree_641 = 0; A_maxIndex_104 = 0; } function main129() { initGlobals355(); init_test172(); } function config938() { } function init_test172() { local integer b194 local integer clVar900 clVar_900 = alloc_B_test408(); construct_B323(clVar_900); b_194 = clVar_900; dispatch_B_test_B_bar152(b_194); } IS_NATIVE function testSuccess182() { } function bar_test947(integer this139) { testSuccess182(); } function A_init553(integer this778) { } function construct_A210(integer this964) { A_init553(this_964); } function B_init198(integer this190) { } function construct_B323(integer this456) { construct_A210(this_456); B_init198(this_456); } function alloc_B_test408() returns integer { local integer this207 if (A_firstFree_641 == 0) { if (A_maxIndex_104 < 32768) { A_maxIndex_104 = (A_maxIndex_104 + 1); this_207 = A_maxIndex_104; A_typeId_166[this_207] = 3; } else { error477("Out of memory: Could not create B_test."); this_207 = 0; }; } else { A_firstFree_641 = (A_firstFree_641 - 1); this_207 = A_nextFree_143[A_firstFree_641]; A_typeId_166[this_207] = 3; }; return this_207; } function error477(string msg191) { $debugPrint172((msg_191 + (" " + #getStackTrace()))); } function dispatch_B_test_B_bar152(integer this553) { if (A_typeId_166[this_553] == 0) { if (this_553 == 0) { error477("Nullpointer exception when calling B.bar"); } else { error477("Called B.bar on invalid object."); }; } else { }; bar_test947(this_553); }