array C_nextFree132 integer C_firstFree142 integer C_maxIndex748 array C_typeId653 integer C_firstFree142 = 0 integer C_maxIndex748 = 0 function initGlobals786() { } function main151() { initGlobals786(); init_test526(); } function config206() { } function init_test526() { if (dispatch_C_test_C_foo211(new_D111()) == 3) { testSuccess198(); } else { }; } IS_NATIVE function testSuccess198() { } function C_foo121(integer this157) returns integer { return 3; } function C_init580(integer this101) { } function construct_C570(integer this192) { C_init580(this_192); } function D_init475(integer this177) { } function new_D111() returns integer { local integer this111 this_111 = alloc_D803(); construct_D214(this_111); return this_111; } function construct_D214(integer this183) { construct_C570(this_183); D_init475(this_183); } function error436(string msg971) { $debugPrint136((msg_971 + (" " + #getStackTrace()))); } function alloc_D803() returns integer { local integer this153 if (C_firstFree_142 == 0) { if (C_maxIndex_748 < 32768) { C_maxIndex_748 = (C_maxIndex_748 + 1); this_153 = C_maxIndex_748; C_typeId_653[this_153] = 2; } else { error436("Out of memory: Could not create D."); this_153 = 0; }; } else { C_firstFree_142 = (C_firstFree_142 - 1); this_153 = C_nextFree_132[C_firstFree_142]; C_typeId_653[this_153] = 2; }; return this_153; } function dispatch_C_test_C_foo211(integer this182) returns integer { if (C_typeId_653[this_182] == 0) { if (this_182 == 0) { error436("Nullpointer exception when calling C.foo"); } else { error436("Called C.foo on invalid object."); }; } else { }; return C_foo121(this_182); }