array C_nextFree209 integer C_firstFree597 integer C_maxIndex196 array C_typeId581 integer C_firstFree597 = 0 integer C_maxIndex196 = 0 function initGlobals885() { } function main166() { initGlobals885(); init_test107(); } function config265() { } function init_test107() { if (dispatch_C_test_C_bar213(new_D712()) == 4) { testSuccess945(); } else { }; } IS_NATIVE function testSuccess945() { } function C_foo834(integer this948) returns integer { return 3; } function C_bar154(integer this165) returns integer { return (dispatch_C_test_C_foo840(this_165) + 1); } function C_init118(integer this146) { } function construct_C185(integer this421) { C_init118(this_421); } function D_init527(integer this158) { } function new_D712() returns integer { local integer this498 this_498 = alloc_D965(); construct_D494(this_498); return this_498; } function construct_D494(integer this155) { construct_C185(this_155); D_init527(this_155); } function error209(string msg165) { $debugPrint747((msg_165 + (" " + #getStackTrace()))); } function alloc_D965() returns integer { local integer this105 if (C_firstFree_597 == 0) { if (C_maxIndex_196 < 32768) { C_maxIndex_196 = (C_maxIndex_196 + 1); this_105 = C_maxIndex_196; C_typeId_581[this_105] = 2; } else { error209("Out of memory: Could not create D."); this_105 = 0; }; } else { C_firstFree_597 = (C_firstFree_597 - 1); this_105 = C_nextFree_209[C_firstFree_597]; C_typeId_581[this_105] = 2; }; return this_105; } function dispatch_C_test_C_foo840(integer this184) returns integer { if (C_typeId_581[this_184] == 0) { if (this_184 == 0) { error209("Nullpointer exception when calling C.foo"); } else { error209("Called C.foo on invalid object."); }; } else { }; return C_foo834(this_184); } function dispatch_C_test_C_bar213(integer this194) returns integer { if (C_typeId_581[this_194] == 0) { if (this_194 == 0) { error209("Nullpointer exception when calling C.bar"); } else { error209("Called C.bar on invalid object."); }; } else { }; return C_bar154(this_194); }