array C_nextFree117 integer C_firstFree190 integer C_maxIndex194 array C_typeId132 integer C_firstFree190 = 0 integer C_maxIndex194 = 0 function initGlobals135() { } function main172() { initGlobals135(); init_test751(); } function config711() { } function init_test751() { new_C147(); } IS_NATIVE function testSuccess136() { } function C_A_foo140(integer this786) { dispatch_C_test_C_A_bar600(this_786); } function C_A_bar123(integer this107) { testSuccess136(); } function C_init127(integer this202) { construct_C_A218(this_202); } function construct_C_A218(integer this164) { } function new_C147() returns integer { local integer this394 this_394 = alloc_C106(); construct_C742(this_394); return this_394; } function construct_C742(integer this103) { C_init127(this_103); dispatch_C_test_C_A_foo255(this_103); } function alloc_C106() returns integer { local integer this944 if (C_firstFree_190 == 0) { if (C_maxIndex_194 < 32768) { C_maxIndex_194 = (C_maxIndex_194 + 1); this_944 = C_maxIndex_194; C_typeId_132[this_944] = 1; } else { error209("Out of memory: Could not create C."); this_944 = 0; }; } else { C_firstFree_190 = (C_firstFree_190 - 1); this_944 = C_nextFree_117[C_firstFree_190]; C_typeId_132[this_944] = 1; }; return this_944; } function error209(string msg199) { $debugPrint162((msg_199 + (" " + #getStackTrace()))); } function dispatch_C_test_C_A_foo255(integer this182) { if (C_typeId_132[this_182] == 0) { if (this_182 == 0) { error209("Nullpointer exception when calling C.foo"); } else { error209("Called C.foo on invalid object."); }; } else { }; C_A_foo140(this_182); } function dispatch_C_test_C_A_bar600(integer this756) { if (C_typeId_132[this_756] == 0) { if (this_756 == 0) { error209("Nullpointer exception when calling C.bar"); } else { error209("Called C.bar on invalid object."); }; } else { }; C_A_bar123(this_756); }