array C_nextFree119 integer C_firstFree175 integer C_maxIndex149 array C_typeId212 integer C_firstFree175 = 0 integer C_maxIndex149 = 0 function initGlobals249() { } function main397() { initGlobals249(); if (dispatch_C_test_C_foo173(new_E160()) == 4) { testSuccess393(); } else { }; } function config813() { } IS_NATIVE function testSuccess393() { } function new_E160() returns integer { local integer this191 if (C_firstFree_175 == 0) { if (C_maxIndex_149 < 32768) { C_maxIndex_149 = (C_maxIndex_149 + 1); this_191 = C_maxIndex_149; C_typeId_212[this_191] = 3; } else { error157("Out of memory: Could not create E."); this_191 = 0; }; } else { C_firstFree_175 = (C_firstFree_175 - 1); this_191 = C_nextFree_119[C_firstFree_175]; C_typeId_212[this_191] = 3; }; return this_191; } function error157(string msg301) { $debugPrint163((msg_301 + (" " + #getStackTrace()))); } function dispatch_C_test_C_foo173(integer this132) returns integer { if (C_typeId_212[this_132] == 0) { if (this_132 == 0) { error157("Nullpointer exception when calling C.foo"); } else { error157("Called C.foo on invalid object."); }; } else { }; if (C_typeId_212[this_132] <= 2) { this_132 = 3; } else { this_132 = 4; }; return this_132; }