array C_nextFree678 integer C_firstFree642 integer C_maxIndex136 array C_typeId606 integer C_firstFree642 = 0 integer C_maxIndex136 = 0 function initGlobals955() { } function main157() { initGlobals955(); if (dispatch_C_test_C_foo550(new_E109()) == 4) { testSuccess866(); } else { }; } function config205() { } IS_NATIVE function testSuccess866() { } function new_E109() returns integer { local integer this186 if (C_firstFree_642 == 0) { if (C_maxIndex_136 < 32768) { C_maxIndex_136 = (C_maxIndex_136 + 1); this_186 = C_maxIndex_136; C_typeId_606[this_186] = 3; } else { error103("Out of memory: Could not create E."); this_186 = 0; }; } else { C_firstFree_642 = (C_firstFree_642 - 1); this_186 = C_nextFree_678[C_firstFree_642]; C_typeId_606[this_186] = 3; }; return this_186; } function error103(string msg970) { $debugPrint177((msg_970 + (" " + #getStackTrace()))); } function dispatch_C_test_C_foo550(integer this586) returns integer { if (C_typeId_606[this_586] == 0) { if (this_586 == 0) { error103("Nullpointer exception when calling C.foo"); } else { error103("Called C.foo on invalid object."); }; } else { }; if (C_typeId_606[this_586] <= 2) { this_586 = 3; } else { this_586 = 4; }; return this_586; }