array C_nextFree160 integer C_firstFree194 integer C_maxIndex389 array C_typeId557 integer C_firstFree194 = 0 integer C_maxIndex389 = 0 function initGlobals195() { } function main145() { initGlobals195(); init_test478(); } function config177() { } function init_test478() { local integer e321 e_321 = new_E124(); if (C_typeId_557[e_321] == 0) { if (e_321 == 0) { error619("Nullpointer exception when calling D.bla"); } else { error619("Called D.bla on invalid object."); }; } else { }; if (dispatch_C_test_C_foo418(e_321) == 4) { testSuccess796(); } else { }; } IS_NATIVE function testSuccess796() { } function new_E124() returns integer { local integer this118 if (C_firstFree_194 == 0) { if (C_maxIndex_389 < 32768) { C_maxIndex_389 = (C_maxIndex_389 + 1); this_118 = C_maxIndex_389; C_typeId_557[this_118] = 3; } else { error619("Out of memory: Could not create E."); this_118 = 0; }; } else { C_firstFree_194 = (C_firstFree_194 - 1); this_118 = C_nextFree_160[C_firstFree_194]; C_typeId_557[this_118] = 3; }; return this_118; } function error619(string msg499) { $debugPrint757((msg_499 + (" " + #getStackTrace()))); } function dispatch_C_test_C_foo418(integer this192) returns integer { if (C_typeId_557[this_192] == 0) { if (this_192 == 0) { error619("Nullpointer exception when calling C.foo"); } else { error619("Called C.foo on invalid object."); }; } else { }; if (C_typeId_557[this_192] <= 2) { this_192 = 3; } else { this_192 = 4; }; return this_192; }