array A_nextFree141 integer A_firstFree516 integer A_maxIndex162 array A_typeId957 array B_nextFree197 integer B_firstFree103 integer B_maxIndex896 array B_typeId125 array A_b185 integer A_firstFree516 = 0 integer A_maxIndex162 = 0 integer B_firstFree103 = 0 integer B_maxIndex896 = 0 function initGlobals747() { A_firstFree_516 = 0; A_maxIndex_162 = 0; B_firstFree_103 = 0; B_maxIndex_896 = 0; } function main749() { initGlobals747(); init_test195(); } function config111() { } function init_test195() { local integer a488 a_488 = new_A170(); if (dispatch_A_test_A_get800(a_488) == 1) { testSuccess107(); } else { }; } IS_NATIVE IS_EXTERN @extern function S2I722(string i240) returns integer { } IS_NATIVE function testSuccess107() { } function A_get169(integer this213) returns integer { return S2I722(dispatch_B_test_A_B_get670(A_b_185[this_213])); } function A_init421(integer this639) { A_b_185[this_639] = new_B213(); } function new_A170() returns integer { local integer this726 this_726 = alloc_A965(); construct_A973(this_726); return this_726; } function construct_A973(integer this670) { A_init421(this_670); } function B_get966(integer this134) returns string { return "1"; } function new_B213() returns integer { local integer this103 this_103 = alloc_B866(); construct_B868(this_103); return this_103; } function B_init376(integer this160) { } function construct_B868(integer this150) { B_init376(this_150); } function alloc_A965() returns integer { local integer this713 if (A_firstFree_516 == 0) { if (A_maxIndex_162 < 32768) { A_maxIndex_162 = (A_maxIndex_162 + 1); this_713 = A_maxIndex_162; A_typeId_957[this_713] = 1; } else { error163("Out of memory: Could not create A."); this_713 = 0; }; } else { A_firstFree_516 = (A_firstFree_516 - 1); this_713 = A_nextFree_141[A_firstFree_516]; A_typeId_957[this_713] = 1; }; return this_713; } function error163(string msg109) { $debugPrint110((msg_109 + (" " + #getStackTrace()))); } function alloc_B866() returns integer { local integer this151 if (B_firstFree_103 == 0) { if (B_maxIndex_896 < 32768) { B_maxIndex_896 = (B_maxIndex_896 + 1); this_151 = B_maxIndex_896; B_typeId_125[this_151] = 2; } else { error163("Out of memory: Could not create B."); this_151 = 0; }; } else { B_firstFree_103 = (B_firstFree_103 - 1); this_151 = B_nextFree_197[B_firstFree_103]; B_typeId_125[this_151] = 2; }; return this_151; } function dispatch_A_test_A_get800(integer this113) returns integer { local integer test_A_get_result820 if (A_typeId_957[this_113] == 0) { if (this_113 == 0) { error163("Nullpointer exception when calling A.get"); } else { error163("Called A.get on invalid object."); }; } else { }; test_A_get_result_820 = A_get169(this_113); return test_A_get_result_820; } function dispatch_B_test_A_B_get670(integer this176) returns string { local string test_A_B_get_result157 if (B_typeId_125[this_176] == 0) { if (this_176 == 0) { error163("Nullpointer exception when calling B.get"); } else { error163("Called B.get on invalid object."); }; } else { }; test_A_B_get_result_157 = B_get966(this_176); return test_A_B_get_result_157; }