array C_nextFree662 integer C_firstFree190 integer C_maxIndex157 array C_typeId615 integer C_firstFree190 = 0 integer C_maxIndex157 = 0 function initGlobals120() { } function main213() { initGlobals120(); if (dispatch_C_test_C_foo125(new_E530()) == 4) { testSuccess507(); } else { }; } function config536() { } IS_NATIVE function testSuccess507() { } function new_E530() returns integer { local integer this123 if (C_firstFree_190 == 0) { if (C_maxIndex_157 < 32768) { C_maxIndex_157 = (C_maxIndex_157 + 1); this_123 = C_maxIndex_157; C_typeId_615[this_123] = 3; } else { error212("Out of memory: Could not create E."); this_123 = 0; }; } else { C_firstFree_190 = (C_firstFree_190 - 1); this_123 = C_nextFree_662[C_firstFree_190]; C_typeId_615[this_123] = 3; }; return this_123; } function error212(string msg162) { $debugPrint147((msg_162 + (" " + #getStackTrace()))); } function dispatch_C_test_C_foo125(integer this357) returns integer { if (C_typeId_615[this_357] == 0) { if (this_357 == 0) { error212("Nullpointer exception when calling C.foo"); } else { error212("Called C.foo on invalid object."); }; } else { }; if (C_typeId_615[this_357] <= 2) { this_357 = 3; } else { this_357 = 4; }; return this_357; }