array C_nextFree516 integer C_firstFree158 integer C_maxIndex176 array C_typeId158 integer C_firstFree158 = 0 integer C_maxIndex176 = 0 function initGlobals187() { C_firstFree_158 = 0; C_maxIndex_176 = 0; } function main208() { initGlobals187(); init_test108(); } function config450() { } function init_test108() { if (dispatch_C_test_C_bar964(new_D191()) == 4) { testSuccess941(); } else { }; } IS_NATIVE function testSuccess941() { } function C_foo692(integer this170) returns integer { return 3; } function C_bar114(integer this152) returns integer { return (dispatch_C_test_C_foo192(this_152) + 1); } function C_init175(integer this155) { } function construct_C167(integer this956) { C_init175(this_956); } function D_init888(integer this861) { } function new_D191() returns integer { local integer this543 this_543 = alloc_D584(); construct_D547(this_543); return this_543; } function construct_D547(integer this896) { construct_C167(this_896); D_init888(this_896); } function error137(string msg183) { $debugPrint100((msg_183 + (" " + #getStackTrace()))); } function alloc_D584() returns integer { local integer this148 if (C_firstFree_158 == 0) { if (C_maxIndex_176 < 32768) { C_maxIndex_176 = (C_maxIndex_176 + 1); this_148 = C_maxIndex_176; C_typeId_158[this_148] = 2; } else { error137("Out of memory: Could not create D."); this_148 = 0; }; } else { C_firstFree_158 = (C_firstFree_158 - 1); this_148 = C_nextFree_516[C_firstFree_158]; C_typeId_158[this_148] = 2; }; return this_148; } function dispatch_C_test_C_foo192(integer this271) returns integer { local integer test_C_foo_result964 if (C_typeId_158[this_271] == 0) { if (this_271 == 0) { error137("Nullpointer exception when calling C.foo"); } else { error137("Called C.foo on invalid object."); }; } else { }; test_C_foo_result_964 = C_foo692(this_271); return test_C_foo_result_964; } function dispatch_C_test_C_bar964(integer this174) returns integer { local integer test_C_bar_result105 if (C_typeId_158[this_174] == 0) { if (this_174 == 0) { error137("Nullpointer exception when calling C.bar"); } else { error137("Called C.bar on invalid object."); }; } else { }; test_C_bar_result_105 = C_bar114(this_174); return test_C_bar_result_105; }