array A_nextFree182 integer A_firstFree382 integer A_maxIndex624 array A_typeId103 array B_nextFree269 integer B_firstFree208 integer B_maxIndex206 array B_typeId133 array A_b148 integer A_firstFree382 = 0 integer A_maxIndex624 = 0 integer B_firstFree208 = 0 integer B_maxIndex206 = 0 function initGlobals961() { } function main183() { initGlobals961(); init_test128(); } function config203() { } function init_test128() { if (dispatch_A_test_A_get100(new_A158()) == 1) { testSuccess194(); } else { }; } IS_NATIVE function testSuccess194() { } function A_get167(integer this135) returns integer { return dispatch_B_test_A_B_get109(A_b_148[this_135]); } function A_init201(integer this157) { A_b_148[this_157] = new_B142(); } function new_A158() returns integer { local integer this944 this_944 = alloc_A115(); construct_A892(this_944); return this_944; } function construct_A892(integer this134) { A_init201(this_134); } function B_get891(integer this901) returns integer { return 1; } function new_B142() returns integer { local integer this117 this_117 = alloc_B211(); construct_B174(this_117); return this_117; } function B_init230(integer this417) { } function construct_B174(integer this227) { B_init230(this_227); } function alloc_A115() returns integer { local integer this433 if (A_firstFree_382 == 0) { if (A_maxIndex_624 < 32768) { A_maxIndex_624 = (A_maxIndex_624 + 1); this_433 = A_maxIndex_624; A_typeId_103[this_433] = 1; } else { error533("Out of memory: Could not create A."); this_433 = 0; }; } else { A_firstFree_382 = (A_firstFree_382 - 1); this_433 = A_nextFree_182[A_firstFree_382]; A_typeId_103[this_433] = 1; }; return this_433; } function error533(string msg469) { $debugPrint203((msg_469 + (" " + #getStackTrace()))); } function alloc_B211() returns integer { local integer this994 if (B_firstFree_208 == 0) { if (B_maxIndex_206 < 32768) { B_maxIndex_206 = (B_maxIndex_206 + 1); this_994 = B_maxIndex_206; B_typeId_133[this_994] = 2; } else { error533("Out of memory: Could not create B."); this_994 = 0; }; } else { B_firstFree_208 = (B_firstFree_208 - 1); this_994 = B_nextFree_269[B_firstFree_208]; B_typeId_133[this_994] = 2; }; return this_994; } function dispatch_A_test_A_get100(integer this178) returns integer { if (A_typeId_103[this_178] == 0) { if (this_178 == 0) { error533("Nullpointer exception when calling A.get"); } else { error533("Called A.get on invalid object."); }; } else { }; return A_get167(this_178); } function dispatch_B_test_A_B_get109(integer this552) returns integer { if (B_typeId_133[this_552] == 0) { if (this_552 == 0) { error533("Nullpointer exception when calling B.get"); } else { error533("Called B.get on invalid object."); }; } else { }; return B_get891(this_552); }