array C_nextFree223 integer C_firstFree861 integer C_maxIndex204 array C_typeId114 integer C_firstFree861 = 0 integer C_maxIndex204 = 0 function initGlobals114() { } function main426() { initGlobals114(); init_test945(); } function config462() { } function init_test945() { local integer e124 e_124 = new_E409(); if (C_typeId_114[e_124] == 0) { if (e_124 == 0) { error139("Nullpointer exception when calling D.bla"); } else { error139("Called D.bla on invalid object."); }; } else { }; if (dispatch_C_test_C_foo626(e_124) == 4) { testSuccess129(); } else { }; } IS_NATIVE function testSuccess129() { } function new_E409() returns integer { local integer this699 if (C_firstFree_861 == 0) { if (C_maxIndex_204 < 32768) { C_maxIndex_204 = (C_maxIndex_204 + 1); this_699 = C_maxIndex_204; C_typeId_114[this_699] = 3; } else { error139("Out of memory: Could not create E."); this_699 = 0; }; } else { C_firstFree_861 = (C_firstFree_861 - 1); this_699 = C_nextFree_223[C_firstFree_861]; C_typeId_114[this_699] = 3; }; return this_699; } function error139(string msg734) { $debugPrint356((msg_734 + (" " + #getStackTrace()))); } function dispatch_C_test_C_foo626(integer this188) returns integer { if (C_typeId_114[this_188] == 0) { if (this_188 == 0) { error139("Nullpointer exception when calling C.foo"); } else { error139("Called C.foo on invalid object."); }; } else { }; if (C_typeId_114[this_188] <= 2) { this_188 = 3; } else { this_188 = 4; }; return this_188; }