array C_nextFree206 integer C_firstFree886 integer C_maxIndex205 array C_typeId114 array E_nextFree129 integer E_firstFree162 integer E_maxIndex135 array E_typeId130 integer C_firstFree886 = 0 integer C_maxIndex205 = 0 integer E_firstFree162 = 0 integer E_maxIndex135 = 0 function initGlobals176() { C_firstFree_886 = 0; C_maxIndex_205 = 0; E_firstFree_162 = 0; E_maxIndex_135 = 0; } function main926() { initGlobals176(); init_Test488(); } function config105() { } function init_Test488() { local integer e101 e_101 = new_E130(); dispatch_E_Test_E_A_test203(e_101); } IS_NATIVE function testSuccess270() { } function C_init558(integer this143) { } function construct_C111(integer this211) { C_init558(this_211); } function E_A_test868(integer this127) { dispatch_D_Test_E_A_D_foo166(new_D159()); } function E_init190(integer this330) { construct_E_A489(this_330); } function construct_E_A489(integer this152) { } function new_E130() returns integer { local integer this212 this_212 = alloc_E207(); construct_E208(this_212); return this_212; } function construct_E208(integer this173) { E_init190(this_173); } function D_foo209(integer this367) { testSuccess270(); } function new_D159() returns integer { local integer this157 this_157 = alloc_D204(); construct_D143(this_157); return this_157; } function D_init563(integer this103) { } function construct_D143(integer this895) { construct_C111(this_895); D_init563(this_895); } function error110(string msg120) { $debugPrint184((msg_120 + (" " + #getStackTrace()))); } function alloc_E207() returns integer { local integer this205 if (E_firstFree_162 == 0) { if (E_maxIndex_135 < 32768) { E_maxIndex_135 = (E_maxIndex_135 + 1); this_205 = E_maxIndex_135; E_typeId_130[this_205] = 3; } else { error110("Out of memory: Could not create E."); this_205 = 0; }; } else { E_firstFree_162 = (E_firstFree_162 - 1); this_205 = E_nextFree_129[E_firstFree_162]; E_typeId_130[this_205] = 3; }; return this_205; } function alloc_D204() returns integer { local integer this938 if (C_firstFree_886 == 0) { if (C_maxIndex_205 < 32768) { C_maxIndex_205 = (C_maxIndex_205 + 1); this_938 = C_maxIndex_205; C_typeId_114[this_938] = 2; } else { error110("Out of memory: Could not create D."); this_938 = 0; }; } else { C_firstFree_886 = (C_firstFree_886 - 1); this_938 = C_nextFree_206[C_firstFree_886]; C_typeId_114[this_938] = 2; }; return this_938; } function dispatch_E_Test_E_A_test203(integer this994) { if (E_typeId_130[this_994] == 0) { if (this_994 == 0) { error110("Nullpointer exception when calling E.test"); } else { error110("Called E.test on invalid object."); }; } else { }; E_A_test868(this_994); } function dispatch_D_Test_E_A_D_foo166(integer this746) { if (C_typeId_114[this_746] == 0) { if (this_746 == 0) { error110("Nullpointer exception when calling D.foo"); } else { error110("Called D.foo on invalid object."); }; } else { }; D_foo209(this_746); }