array A_nextFree121 integer A_firstFree149 integer A_maxIndex953 array A_typeId840 integer A_firstFree149 = 0 integer A_maxIndex953 = 0 function initGlobals348() { A_firstFree_149 = 0; A_maxIndex_953 = 0; } function main884() { initGlobals348(); init_test137(); } function config131() { } function init_test137() { local integer b193 local integer a166 b_193 = new_C155(); a_166 = b_193; if (dispatch_A_test_A_f1584(a_166) == 3) { testSuccess846(); } else { }; } IS_NATIVE function testSuccess846() { } function C_f1131(integer this194) returns integer { return 3; } function C_init105(integer this143) { } function new_C155() returns integer { local integer this625 this_625 = alloc_C188(); construct_C388(this_625); return this_625; } function construct_C388(integer this137) { C_init105(this_137); } function error149(string msg522) { $debugPrint170((msg_522 + (" " + #getStackTrace()))); } function alloc_C188() returns integer { local integer this212 if (A_firstFree_149 == 0) { if (A_maxIndex_953 < 32768) { A_maxIndex_953 = (A_maxIndex_953 + 1); this_212 = A_maxIndex_953; A_typeId_840[this_212] = 3; } else { error149("Out of memory: Could not create C."); this_212 = 0; }; } else { A_firstFree_149 = (A_firstFree_149 - 1); this_212 = A_nextFree_121[A_firstFree_149]; A_typeId_840[this_212] = 3; }; return this_212; } function dispatch_A_test_A_f1584(integer this250) returns integer { local integer test_A_f1_result988 if (A_typeId_840[this_250] == 0) { if (this_250 == 0) { error149("Nullpointer exception when calling A.f1"); } else { error149("Called A.f1 on invalid object."); }; } else { }; test_A_f1_result_988 = C_f1131(this_250); return test_A_f1_result_988; }