array A_nextFree189 integer A_firstFree578 integer A_maxIndex834 array A_typeId257 array B_nextFree547 integer B_firstFree146 integer B_maxIndex642 array B_typeId136 integer A_firstFree578 = 0 integer A_maxIndex834 = 0 integer B_firstFree146 = 0 integer B_maxIndex642 = 0 function initGlobals147() { } function main118() { initGlobals147(); init_test130(); } function config751() { } function init_test130() { if (dispatch_A_test_A_M_bar101(new_A110()) == 42) { testSuccess203(); } else { }; } IS_NATIVE function testSuccess203() { } function A_M_bar232(integer this165) returns integer { return ((dispatch_B_test_A_M_B_foo151(new_B184()) * 10) + 2); } function A_init119(integer this165) { construct_A_M124(this_165); } function construct_A_M124(integer this152) { } function new_A110() returns integer { local integer this136 this_136 = alloc_A161(); construct_A208(this_136); return this_136; } function construct_A208(integer this117) { A_init119(this_117); } function new_B184() returns integer { local integer this758 this_758 = alloc_B830(); construct_B813(this_758); return this_758; } function B_foo515(integer this888) returns integer { return 4; } function B_init194(integer this150) { } function construct_B813(integer this141) { B_init194(this_141); } function alloc_A161() returns integer { local integer this147 if (A_firstFree_578 == 0) { if (A_maxIndex_834 < 32768) { A_maxIndex_834 = (A_maxIndex_834 + 1); this_147 = A_maxIndex_834; A_typeId_257[this_147] = 1; } else { error460("Out of memory: Could not create A."); this_147 = 0; }; } else { A_firstFree_578 = (A_firstFree_578 - 1); this_147 = A_nextFree_189[A_firstFree_578]; A_typeId_257[this_147] = 1; }; return this_147; } function error460(string msg152) { $debugPrint156((msg_152 + (" " + #getStackTrace()))); } function alloc_B830() returns integer { local integer this152 if (B_firstFree_146 == 0) { if (B_maxIndex_642 < 32768) { B_maxIndex_642 = (B_maxIndex_642 + 1); this_152 = B_maxIndex_642; B_typeId_136[this_152] = 2; } else { error460("Out of memory: Could not create B."); this_152 = 0; }; } else { B_firstFree_146 = (B_firstFree_146 - 1); this_152 = B_nextFree_547[B_firstFree_146]; B_typeId_136[this_152] = 2; }; return this_152; } function dispatch_A_test_A_M_bar101(integer this174) returns integer { if (A_typeId_257[this_174] == 0) { if (this_174 == 0) { error460("Nullpointer exception when calling A.bar"); } else { error460("Called A.bar on invalid object."); }; } else { }; return A_M_bar232(this_174); } function dispatch_B_test_A_M_B_foo151(integer this168) returns integer { if (B_typeId_136[this_168] == 0) { if (this_168 == 0) { error460("Nullpointer exception when calling B.foo"); } else { error460("Called B.foo on invalid object."); }; } else { }; return B_foo515(this_168); }