array C_nextFree177 integer C_firstFree154 integer C_maxIndex118 array C_typeId187 integer C_firstFree154 = 0 integer C_maxIndex118 = 0 function initGlobals193() { } function main912() { initGlobals193(); init_test264(); } function config106() { } function init_test264() { if (dispatch_D_test_D_foo970(new_D148()) == 4) { testSuccess182(); } else { }; } IS_NATIVE function testSuccess182() { } function C_init209(integer this114) { } function construct_C674(integer this129) { C_init209(this_129); } function D_foo780(integer this194) returns integer { return 4; } function D_init776(integer this110) { } function new_D148() returns integer { local integer this801 this_801 = alloc_D201(); construct_D154(this_801); return this_801; } function construct_D154(integer this177) { construct_C674(this_177); D_init776(this_177); } function error210(string msg468) { $debugPrint299((msg_468 + (" " + #getStackTrace()))); } function alloc_D201() returns integer { local integer this200 if (C_firstFree_154 == 0) { if (C_maxIndex_118 < 32768) { C_maxIndex_118 = (C_maxIndex_118 + 1); this_200 = C_maxIndex_118; C_typeId_187[this_200] = 2; } else { error210("Out of memory: Could not create D."); this_200 = 0; }; } else { C_firstFree_154 = (C_firstFree_154 - 1); this_200 = C_nextFree_177[C_firstFree_154]; C_typeId_187[this_200] = 2; }; return this_200; } function dispatch_D_test_D_foo970(integer this380) returns integer { if (C_typeId_187[this_380] == 0) { if (this_380 == 0) { error210("Nullpointer exception when calling D.foo"); } else { error210("Called D.foo on invalid object."); }; } else { }; return D_foo780(this_380); }