array C_nextFree136 integer C_firstFree870 integer C_maxIndex190 array C_typeId186 integer C_firstFree870 = 0 integer C_maxIndex190 = 0 function initGlobals176() { } function main679() { initGlobals176(); init_test163(); } function config821() { } function init_test163() { local integer this283 this_283 = new_D193(); if (C_typeId_186[this_283] == 0) { if (this_283 == 0) { error133("Nullpointer exception when calling C.bar"); } else { error133("Called C.bar on invalid object."); }; } else { }; if (dispatch_C_test_C_foo774(this_283) == 4) { testSuccess316(); } else { }; } IS_NATIVE function testSuccess316() { } function new_D193() returns integer { local integer this129 if (C_firstFree_870 == 0) { if (C_maxIndex_190 < 32768) { C_maxIndex_190 = (C_maxIndex_190 + 1); this_129 = C_maxIndex_190; C_typeId_186[this_129] = 2; } else { error133("Out of memory: Could not create D."); this_129 = 0; }; } else { C_firstFree_870 = (C_firstFree_870 - 1); this_129 = C_nextFree_136[C_firstFree_870]; C_typeId_186[this_129] = 2; }; return this_129; } function error133(string msg199) { $debugPrint392((msg_199 + (" " + #getStackTrace()))); } function dispatch_C_test_C_foo774(integer this210) returns integer { if (C_typeId_186[this_210] == 0) { if (this_210 == 0) { error133("Nullpointer exception when calling C.foo"); } else { error133("Called C.foo on invalid object."); }; } else { }; if (C_typeId_186[this_210] <= 1) { this_210 = 3; } else { this_210 = 4; }; return this_210; }