array ABC_nextFree204 integer ABC_firstFree112 integer ABC_maxIndex245 array ABC_typeId551 integer ABC_firstFree112 = 0 integer ABC_maxIndex245 = 0 integer B_firstFree148 = 0 integer B_maxIndex595 = 0 function initGlobals716() { ABC_firstFree_112 = 0; ABC_maxIndex_245 = 0; } function main606() { initGlobals716(); init_A117(); } function config175() { } function init_A117() { local integer clVar747 clVar_747 = alloc_ABC_foo_A175(); if (foo101(clVar_747) == 42) { testSuccess173(); } else { }; } function foo101(integer a614) returns integer { return dispatch_ABC_A_ABC_foo763(a_614); } IS_NATIVE function testSuccess173() { } function foo_foo_A757(integer this700) returns integer { return 42; } function alloc_ABC_foo_A175() returns integer { local integer this138 if (ABC_firstFree_112 == 0) { if (ABC_maxIndex_245 < 32768) { ABC_maxIndex_245 = (ABC_maxIndex_245 + 1); this_138 = ABC_maxIndex_245; ABC_typeId_551[this_138] = 2; } else { error103("Out of memory: Could not create ABC_foo_A."); this_138 = 0; }; } else { ABC_firstFree_112 = (ABC_firstFree_112 - 1); this_138 = ABC_nextFree_204[ABC_firstFree_112]; ABC_typeId_551[this_138] = 2; }; return this_138; } function error103(string msg402) { $debugPrint515((msg_402 + (" " + #getStackTrace()))); } function dispatch_ABC_A_ABC_foo763(integer this140) returns integer { local integer A_ABC_foo_result259 if (ABC_typeId_551[this_140] == 0) { if (this_140 == 0) { error103("Nullpointer exception when calling ABC.foo"); } else { error103("Called ABC.foo on invalid object."); }; } else { }; A_ABC_foo_result_259 = foo_foo_A757(this_140); return A_ABC_foo_result_259; }