array A_nextFree114 integer A_firstFree209 integer A_maxIndex163 array A_typeId585 integer A_firstFree209 = 0 integer A_maxIndex163 = 0 function initGlobals240() { } function main794() { local integer c128 initGlobals240(); c_128 = new_C536(); if (dispatch_A_test_A_foo173(c_128) == 8) { testSuccess129(); } else { }; } function config110() { } IS_NATIVE function testSuccess129() { } function new_C536() returns integer { local integer this206 local integer this128 local integer this920 if (A_firstFree_209 == 0) { if (A_maxIndex_163 < 32768) { A_maxIndex_163 = (A_maxIndex_163 + 1); this_128 = A_maxIndex_163; A_typeId_585[this_128] = 3; } else { error206("Out of memory: Could not create C."); this_128 = 0; }; } else { A_firstFree_209 = (A_firstFree_209 - 1); this_128 = A_nextFree_114[A_firstFree_209]; A_typeId_585[this_128] = 3; }; this_206 = this_128; this_920 = this_206; return this_206; } function error206(string msg274) { $debugPrint618((msg_274 + (" " + #getStackTrace()))); } function dispatch_A_test_A_foo173(integer this159) returns integer { local integer test_A_foo_result133 if (A_typeId_585[this_159] == 0) { if (this_159 == 0) { error206("Nullpointer exception when calling A.foo"); } else { error206("Called A.foo on invalid object."); }; } else { }; if (A_typeId_585[this_159] <= 1) { test_A_foo_result_133 = 7; } else { test_A_foo_result_133 = 8; }; return test_A_foo_result_133; }