array C_nextFree728 integer C_firstFree800 integer C_maxIndex833 array C_typeId150 array C_i890 integer C_firstFree800 = 0 integer C_maxIndex833 = 0 function initGlobals222() { } function main151() { initGlobals222(); init_test315(); } function config137() { } function init_test315() { if (dispatch_D_test_D_foo269(new_D272()) == 6) { testSuccess183(); } else { }; } IS_NATIVE function testSuccess183() { } function C_init530(integer this197) { C_i_890[this_197] = 5; } function construct_C148(integer this138) { C_init530(this_138); } function D_foo199(integer this198) returns integer { return (C_i_890[this_198] + 1); } function D_init316(integer this354) { } function new_D272() returns integer { local integer this200 this_200 = alloc_D107(); construct_D121(this_200); return this_200; } function construct_D121(integer this196) { construct_C148(this_196); D_init316(this_196); } function error972(string msg177) { $debugPrint258((msg_177 + (" " + #getStackTrace()))); } function alloc_D107() returns integer { local integer this188 if (C_firstFree_800 == 0) { if (C_maxIndex_833 < 32768) { C_maxIndex_833 = (C_maxIndex_833 + 1); this_188 = C_maxIndex_833; C_typeId_150[this_188] = 2; } else { error972("Out of memory: Could not create D."); this_188 = 0; }; } else { C_firstFree_800 = (C_firstFree_800 - 1); this_188 = C_nextFree_728[C_firstFree_800]; C_typeId_150[this_188] = 2; }; return this_188; } function dispatch_D_test_D_foo269(integer this410) returns integer { if (C_typeId_150[this_410] == 0) { if (this_410 == 0) { error972("Nullpointer exception when calling D.foo"); } else { error972("Called D.foo on invalid object."); }; } else { }; return D_foo199(this_410); }