array A_nextFree399 integer A_firstFree163 integer A_maxIndex197 array A_typeId123 array B_nextFree134 integer B_firstFree207 integer B_maxIndex851 array B_typeId172 array A_b869 integer A_firstFree163 = 0 integer A_maxIndex197 = 0 integer B_firstFree207 = 0 integer B_maxIndex851 = 0 function initGlobals510() { } function main137() { local integer a512 initGlobals510(); a_512 = new_A843(); if (dispatch_A_test_A_get182(a_512) == 1) { testSuccess794(); } else { }; } function config202() { } IS_NATIVE function testSuccess794() { } function new_A843() returns integer { local integer this630 local integer this210 local integer this147 local integer this133 if (A_firstFree_163 == 0) { if (A_maxIndex_197 < 32768) { A_maxIndex_197 = (A_maxIndex_197 + 1); this_210 = A_maxIndex_197; A_typeId_123[this_210] = 1; } else { error428("Out of memory: Could not create A."); this_210 = 0; }; } else { A_firstFree_163 = (A_firstFree_163 - 1); this_210 = A_nextFree_399[A_firstFree_163]; A_typeId_123[this_210] = 1; }; this_630 = this_210; this_147 = this_630; this_133 = this_147; A_b_869[this_133] = new_B229(); return this_630; } function new_B229() returns integer { local integer this175 local integer this293 if (B_firstFree_207 == 0) { if (B_maxIndex_851 < 32768) { B_maxIndex_851 = (B_maxIndex_851 + 1); this_293 = B_maxIndex_851; B_typeId_172[this_293] = 2; } else { error428("Out of memory: Could not create B."); this_293 = 0; }; } else { B_firstFree_207 = (B_firstFree_207 - 1); this_293 = B_nextFree_134[B_firstFree_207]; B_typeId_172[this_293] = 2; }; this_175 = this_293; return this_175; } function error428(string msg205) { $debugPrint170((msg_205 + (" " + #getStackTrace()))); } function dispatch_A_test_A_get182(integer this213) returns integer { local integer test_A_get_result700 local integer this362 local integer this115 local integer test_A_B_get_result454 if (A_typeId_123[this_213] == 0) { if (this_213 == 0) { error428("Nullpointer exception when calling A.get"); } else { error428("Called A.get on invalid object."); }; } else { }; this_362 = this_213; this_115 = A_b_869[this_362]; if (B_typeId_172[this_115] == 0) { if (this_115 == 0) { error428("Nullpointer exception when calling B.get"); } else { error428("Called B.get on invalid object."); }; } else { }; test_A_B_get_result_454 = 1; test_A_get_result_700 = test_A_B_get_result_454; return test_A_get_result_700; }