array C_nextFree919 integer C_firstFree140 integer C_maxIndex164 array C_typeId176 array E_nextFree659 integer E_firstFree128 integer E_maxIndex177 array E_typeId828 integer C_firstFree140 = 0 integer C_maxIndex164 = 0 integer E_firstFree128 = 0 integer E_maxIndex177 = 0 function initGlobals517() { C_firstFree_140 = 0; C_maxIndex_164 = 0; E_firstFree_128 = 0; E_maxIndex_177 = 0; } function main397() { initGlobals517(); init_Test149(); } function config111() { } function init_Test149() { local integer e306 e_306 = new_E971(); dispatch_E_Test_E_A_test171(e_306); } IS_NATIVE function testSuccess171() { } function C_init139(integer this689) { } function construct_C125(integer this129) { C_init139(this_129); } function E_A_test135(integer this795) { dispatch_D_Test_E_A_D_foo129(new_D474()); } function E_init137(integer this111) { construct_E_A100(this_111); } function construct_E_A100(integer this213) { } function new_E971() returns integer { local integer this844 this_844 = alloc_E740(); construct_E161(this_844); return this_844; } function construct_E161(integer this136) { E_init137(this_136); } function D_foo824(integer this825) { testSuccess171(); } function new_D474() returns integer { local integer this134 this_134 = alloc_D820(); construct_D102(this_134); return this_134; } function D_init539(integer this128) { } function construct_D102(integer this702) { construct_C125(this_702); D_init539(this_702); } function error119(string msg146) { $debugPrint393((msg_146 + (" " + #getStackTrace()))); } function alloc_E740() returns integer { local integer this196 if (E_firstFree_128 == 0) { if (E_maxIndex_177 < 32768) { E_maxIndex_177 = (E_maxIndex_177 + 1); this_196 = E_maxIndex_177; E_typeId_828[this_196] = 3; } else { error119("Out of memory: Could not create E."); this_196 = 0; }; } else { E_firstFree_128 = (E_firstFree_128 - 1); this_196 = E_nextFree_659[E_firstFree_128]; E_typeId_828[this_196] = 3; }; return this_196; } function alloc_D820() returns integer { local integer this899 if (C_firstFree_140 == 0) { if (C_maxIndex_164 < 32768) { C_maxIndex_164 = (C_maxIndex_164 + 1); this_899 = C_maxIndex_164; C_typeId_176[this_899] = 2; } else { error119("Out of memory: Could not create D."); this_899 = 0; }; } else { C_firstFree_140 = (C_firstFree_140 - 1); this_899 = C_nextFree_919[C_firstFree_140]; C_typeId_176[this_899] = 2; }; return this_899; } function dispatch_E_Test_E_A_test171(integer this341) { if (E_typeId_828[this_341] == 0) { if (this_341 == 0) { error119("Nullpointer exception when calling E.test"); } else { error119("Called E.test on invalid object."); }; } else { }; E_A_test135(this_341); } function dispatch_D_Test_E_A_D_foo129(integer this114) { if (C_typeId_176[this_114] == 0) { if (this_114 == 0) { error119("Nullpointer exception when calling D.foo"); } else { error119("Called D.foo on invalid object."); }; } else { }; D_foo824(this_114); }