array C_nextFree195 integer C_firstFree108 integer C_maxIndex771 array C_typeId239 integer C_firstFree108 = 0 integer C_maxIndex771 = 0 function initGlobals812() { C_firstFree_108 = 0; C_maxIndex_771 = 0; } function main591() { initGlobals812(); init_test122(); } function config205() { } function init_test122() { if (dispatch_C_test_C_bar134(new_D963()) == 4) { testSuccess200(); } else { }; } IS_NATIVE function testSuccess200() { } function C_foo189(integer this166) returns integer { return 3; } function C_bar527(integer this118) returns integer { return (dispatch_C_test_C_foo126(this_118) + 1); } function C_init192(integer this879) { } function construct_C875(integer this173) { C_init192(this_173); } function D_init103(integer this308) { } function new_D963() returns integer { local integer this133 this_133 = alloc_D125(); construct_D844(this_133); return this_133; } function construct_D844(integer this147) { construct_C875(this_147); D_init103(this_147); } function error439(string msg194) { $debugPrint143((msg_194 + (" " + #getStackTrace()))); } function alloc_D125() returns integer { local integer this391 if (C_firstFree_108 == 0) { if (C_maxIndex_771 < 32768) { C_maxIndex_771 = (C_maxIndex_771 + 1); this_391 = C_maxIndex_771; C_typeId_239[this_391] = 2; } else { error439("Out of memory: Could not create D."); this_391 = 0; }; } else { C_firstFree_108 = (C_firstFree_108 - 1); this_391 = C_nextFree_195[C_firstFree_108]; C_typeId_239[this_391] = 2; }; return this_391; } function dispatch_C_test_C_foo126(integer this131) returns integer { local integer test_C_foo_result182 if (C_typeId_239[this_131] == 0) { if (this_131 == 0) { error439("Nullpointer exception when calling C.foo"); } else { error439("Called C.foo on invalid object."); }; } else { }; test_C_foo_result_182 = C_foo189(this_131); return test_C_foo_result_182; } function dispatch_C_test_C_bar134(integer this200) returns integer { local integer test_C_bar_result769 if (C_typeId_239[this_200] == 0) { if (this_200 == 0) { error439("Nullpointer exception when calling C.bar"); } else { error439("Called C.bar on invalid object."); }; } else { }; test_C_bar_result_769 = C_bar527(this_200); return test_C_bar_result_769; }