array A_nextFree494 integer A_firstFree823 integer A_maxIndex128 array A_typeId136 array B_nextFree214 integer B_firstFree170 integer B_maxIndex214 array B_typeId106 array A_b111 integer A_firstFree823 = 0 integer A_maxIndex128 = 0 integer B_firstFree170 = 0 integer B_maxIndex214 = 0 function initGlobals831() { A_firstFree_823 = 0; A_maxIndex_128 = 0; B_firstFree_170 = 0; B_maxIndex_214 = 0; } function main669() { initGlobals831(); init_test136(); } function config516() { } function init_test136() { local integer a161 a_161 = new_A213(); if (dispatch_A_test_A_get169(a_161) == 1) { testSuccess748(); } else { }; } IS_NATIVE IS_EXTERN @extern function S2I119(string i128) returns integer { } IS_NATIVE function testSuccess748() { } function A_get139(integer this133) returns integer { return S2I119(dispatch_B_test_A_B_get203(A_b_111[this_133])); } function A_init182(integer this189) { A_b_111[this_189] = new_B124(); } function new_A213() returns integer { local integer this154 this_154 = alloc_A201(); construct_A185(this_154); return this_154; } function construct_A185(integer this471) { A_init182(this_471); } function B_get608(integer this188) returns string { return "1"; } function new_B124() returns integer { local integer this209 this_209 = alloc_B137(); construct_B184(this_209); return this_209; } function B_init632(integer this933) { } function construct_B184(integer this143) { B_init632(this_143); } function alloc_A201() returns integer { local integer this446 if (A_firstFree_823 == 0) { if (A_maxIndex_128 < 32768) { A_maxIndex_128 = (A_maxIndex_128 + 1); this_446 = A_maxIndex_128; A_typeId_136[this_446] = 1; } else { error173("Out of memory: Could not create A."); this_446 = 0; }; } else { A_firstFree_823 = (A_firstFree_823 - 1); this_446 = A_nextFree_494[A_firstFree_823]; A_typeId_136[this_446] = 1; }; return this_446; } function error173(string msg149) { $debugPrint128((msg_149 + (" " + #getStackTrace()))); } function alloc_B137() returns integer { local integer this147 if (B_firstFree_170 == 0) { if (B_maxIndex_214 < 32768) { B_maxIndex_214 = (B_maxIndex_214 + 1); this_147 = B_maxIndex_214; B_typeId_106[this_147] = 2; } else { error173("Out of memory: Could not create B."); this_147 = 0; }; } else { B_firstFree_170 = (B_firstFree_170 - 1); this_147 = B_nextFree_214[B_firstFree_170]; B_typeId_106[this_147] = 2; }; return this_147; } function dispatch_A_test_A_get169(integer this188) returns integer { local integer test_A_get_result106 if (A_typeId_136[this_188] == 0) { if (this_188 == 0) { error173("Nullpointer exception when calling A.get"); } else { error173("Called A.get on invalid object."); }; } else { }; test_A_get_result_106 = A_get139(this_188); return test_A_get_result_106; } function dispatch_B_test_A_B_get203(integer this984) returns string { local string test_A_B_get_result596 if (B_typeId_106[this_984] == 0) { if (this_984 == 0) { error173("Nullpointer exception when calling B.get"); } else { error173("Called B.get on invalid object."); }; } else { }; test_A_B_get_result_596 = B_get608(this_984); return test_A_B_get_result_596; }