array A_nextFree873 integer A_firstFree571 integer A_maxIndex171 array A_typeId129 integer A_firstFree571 = 0 integer A_maxIndex171 = 0 function initGlobals145() { A_firstFree_571 = 0; A_maxIndex_171 = 0; } function main169() { initGlobals145(); init_test687(); } function config193() { } function init_test687() { local integer b198 local integer clVar151 clVar_151 = alloc_B_test180(); construct_B397(clVar_151); b_198 = clVar_151; dispatch_B_test_B_foo141(b_198, 5); } IS_NATIVE function testSuccess191() { } function foo_test136(integer this131, integer i555) { testSuccess191(); } function A_init196(integer this157) { } function construct_A332(integer this352) { A_init196(this_352); } function B_init106(integer this100) { } function construct_B397(integer this901) { construct_A332(this_901); B_init106(this_901); } function alloc_B_test180() returns integer { local integer this202 if (A_firstFree_571 == 0) { if (A_maxIndex_171 < 32768) { A_maxIndex_171 = (A_maxIndex_171 + 1); this_202 = A_maxIndex_171; A_typeId_129[this_202] = 3; } else { error765("Out of memory: Could not create B_test."); this_202 = 0; }; } else { A_firstFree_571 = (A_firstFree_571 - 1); this_202 = A_nextFree_873[A_firstFree_571]; A_typeId_129[this_202] = 3; }; return this_202; } function error765(string msg626) { $debugPrint109((msg_626 + (" " + #getStackTrace()))); } function dispatch_B_test_B_foo141(integer this139, integer x866) { if (A_typeId_129[this_139] == 0) { if (this_139 == 0) { error765("Nullpointer exception when calling B.foo"); } else { error765("Called B.foo on invalid object."); }; } else { }; foo_test136(this_139, x_866); }