array C_nextFree211 integer C_firstFree219 integer C_maxIndex591 array C_typeId118 integer C_firstFree219 = 0 integer C_maxIndex591 = 0 function initGlobals152() { C_firstFree_219 = 0; C_maxIndex_591 = 0; } function main907() { initGlobals152(); init_test649(); } function config128() { } function init_test649() { new_C565(); } IS_NATIVE function testSuccess113() { } function C_A_foo679(integer this310) { dispatch_C_test_C_A_bar204(this_310); } function C_A_bar678(integer this413) { testSuccess113(); } function C_init213(integer this778) { construct_C_A956(this_778); } function construct_C_A956(integer this794) { } function new_C565() returns integer { local integer this204 this_204 = alloc_C179(); construct_C104(this_204); return this_204; } function construct_C104(integer this188) { C_init213(this_188); dispatch_C_test_C_A_foo119(this_188); } function alloc_C179() returns integer { local integer this116 if (C_firstFree_219 == 0) { if (C_maxIndex_591 < 32768) { C_maxIndex_591 = (C_maxIndex_591 + 1); this_116 = C_maxIndex_591; C_typeId_118[this_116] = 1; } else { error184("Out of memory: Could not create C."); this_116 = 0; }; } else { C_firstFree_219 = (C_firstFree_219 - 1); this_116 = C_nextFree_211[C_firstFree_219]; C_typeId_118[this_116] = 1; }; return this_116; } function error184(string msg169) { $debugPrint513((msg_169 + (" " + #getStackTrace()))); } function dispatch_C_test_C_A_foo119(integer this574) { if (C_typeId_118[this_574] == 0) { if (this_574 == 0) { error184("Nullpointer exception when calling C.foo"); } else { error184("Called C.foo on invalid object."); }; } else { }; C_A_foo679(this_574); } function dispatch_C_test_C_A_bar204(integer this151) { if (C_typeId_118[this_151] == 0) { if (this_151 == 0) { error184("Nullpointer exception when calling C.bar"); } else { error184("Called C.bar on invalid object."); }; } else { }; C_A_bar678(this_151); }