array A_nextFree307 integer A_firstFree196 integer A_maxIndex865 array A_typeId869 array B_nextFree453 integer B_firstFree567 integer B_maxIndex103 array B_typeId888 array A_b417 integer A_firstFree196 = 0 integer A_maxIndex865 = 0 integer B_firstFree567 = 0 integer B_maxIndex103 = 0 function initGlobals330() { } function main427() { initGlobals330(); init_test536(); } function config147() { } function init_test536() { if (dispatch_A_test_A_get210(new_A190()) == 1) { testSuccess358(); } else { }; } IS_NATIVE IS_EXTERN @extern function S2I914(string i139) returns integer { } IS_NATIVE function testSuccess358() { } function A_get150(integer this646) returns integer { return S2I914(dispatch_B_test_A_B_get128(A_b_417[this_646])); } function A_init156(integer this253) { A_b_417[this_253] = new_B204(); } function new_A190() returns integer { local integer this150 this_150 = alloc_A149(); construct_A842(this_150); return this_150; } function construct_A842(integer this415) { A_init156(this_415); } function B_get105(integer this135) returns string { return "1"; } function new_B204() returns integer { local integer this149 this_149 = alloc_B200(); construct_B903(this_149); return this_149; } function B_init410(integer this147) { } function construct_B903(integer this658) { B_init410(this_658); } function alloc_A149() returns integer { local integer this423 if (A_firstFree_196 == 0) { if (A_maxIndex_865 < 32768) { A_maxIndex_865 = (A_maxIndex_865 + 1); this_423 = A_maxIndex_865; A_typeId_869[this_423] = 1; } else { error181("Out of memory: Could not create A."); this_423 = 0; }; } else { A_firstFree_196 = (A_firstFree_196 - 1); this_423 = A_nextFree_307[A_firstFree_196]; A_typeId_869[this_423] = 1; }; return this_423; } function error181(string msg171) { $debugPrint623((msg_171 + (" " + #getStackTrace()))); } function alloc_B200() returns integer { local integer this144 if (B_firstFree_567 == 0) { if (B_maxIndex_103 < 32768) { B_maxIndex_103 = (B_maxIndex_103 + 1); this_144 = B_maxIndex_103; B_typeId_888[this_144] = 2; } else { error181("Out of memory: Could not create B."); this_144 = 0; }; } else { B_firstFree_567 = (B_firstFree_567 - 1); this_144 = B_nextFree_453[B_firstFree_567]; B_typeId_888[this_144] = 2; }; return this_144; } function dispatch_A_test_A_get210(integer this210) returns integer { if (A_typeId_869[this_210] == 0) { if (this_210 == 0) { error181("Nullpointer exception when calling A.get"); } else { error181("Called A.get on invalid object."); }; } else { }; return A_get150(this_210); } function dispatch_B_test_A_B_get128(integer this172) returns string { if (B_typeId_888[this_172] == 0) { if (this_172 == 0) { error181("Nullpointer exception when calling B.get"); } else { error181("Called B.get on invalid object."); }; } else { }; return B_get105(this_172); }