array C_nextFree115 integer C_firstFree201 integer C_maxIndex405 array C_typeId131 integer C_firstFree201 = 0 integer C_maxIndex405 = 0 function initGlobals101() { C_firstFree_201 = 0; C_maxIndex_405 = 0; } function main136() { initGlobals101(); init_test958(); } function config182() { } function init_test958() { local integer c126 c_126 = new_C578(); if (dispatch_C_test_C_A_getBar213(c_126) != 3) { testFail581("fail"); } else { }; testSuccess827(); } IS_NATIVE function testFail581(string msg202) { } IS_NATIVE function testSuccess827() { } function C_getFoo169(integer this183) returns integer { return 2; } function C_A_getBar590(integer this150) returns integer { return (dispatch_C_test_C_getFoo608(this_150) + 1); } function C_init106(integer this940) { construct_C_A143(this_940); } function construct_C_A143(integer this137) { } function new_C578() returns integer { local integer this529 this_529 = alloc_C116(); construct_C520(this_529); return this_529; } function construct_C520(integer this131) { C_init106(this_131); } function alloc_C116() returns integer { local integer this114 if (C_firstFree_201 == 0) { if (C_maxIndex_405 < 32768) { C_maxIndex_405 = (C_maxIndex_405 + 1); this_114 = C_maxIndex_405; C_typeId_131[this_114] = 1; } else { error844("Out of memory: Could not create C."); this_114 = 0; }; } else { C_firstFree_201 = (C_firstFree_201 - 1); this_114 = C_nextFree_115[C_firstFree_201]; C_typeId_131[this_114] = 1; }; return this_114; } function error844(string msg163) { $debugPrint112((msg_163 + (" " + #getStackTrace()))); } function dispatch_C_test_C_getFoo608(integer this706) returns integer { local integer test_C_getFoo_result187 if (C_typeId_131[this_706] == 0) { if (this_706 == 0) { error844("Nullpointer exception when calling C.getFoo"); } else { error844("Called C.getFoo on invalid object."); }; } else { }; test_C_getFoo_result_187 = C_getFoo169(this_706); return test_C_getFoo_result_187; } function dispatch_C_test_C_A_getBar213(integer this178) returns integer { local integer test_C_A_getBar_result568 if (C_typeId_131[this_178] == 0) { if (this_178 == 0) { error844("Nullpointer exception when calling C.getBar"); } else { error844("Called C.getBar on invalid object."); }; } else { }; test_C_A_getBar_result_568 = C_A_getBar590(this_178); return test_C_A_getBar_result_568; }