array C_nextFree143 integer C_firstFree159 integer C_maxIndex203 array C_typeId182 array E_nextFree819 integer E_firstFree110 integer E_maxIndex973 array E_typeId723 integer C_firstFree159 = 0 integer C_maxIndex203 = 0 integer E_firstFree110 = 0 integer E_maxIndex973 = 0 function initGlobals380() { } function main202() { local integer e943 initGlobals380(); e_943 = new_E455(); dispatch_E_Test_E_A_test106(e_943); } function config711() { } IS_NATIVE function testSuccess735() { } function new_E455() returns integer { local integer this397 local integer this213 if (E_firstFree_110 == 0) { if (E_maxIndex_973 < 32768) { E_maxIndex_973 = (E_maxIndex_973 + 1); this_213 = E_maxIndex_973; E_typeId_723[this_213] = 3; } else { error673("Out of memory: Could not create E."); this_213 = 0; }; } else { E_firstFree_110 = (E_firstFree_110 - 1); this_213 = E_nextFree_819[E_firstFree_110]; E_typeId_723[this_213] = 3; }; this_397 = this_213; return this_397; } function new_D109() returns integer { local integer this161 local integer this190 if (C_firstFree_159 == 0) { if (C_maxIndex_203 < 32768) { C_maxIndex_203 = (C_maxIndex_203 + 1); this_190 = C_maxIndex_203; C_typeId_182[this_190] = 2; } else { error673("Out of memory: Could not create D."); this_190 = 0; }; } else { C_firstFree_159 = (C_firstFree_159 - 1); this_190 = C_nextFree_143[C_firstFree_159]; C_typeId_182[this_190] = 2; }; this_161 = this_190; return this_161; } function error673(string msg154) { $debugPrint158((msg_154 + (" " + #getStackTrace()))); } function dispatch_E_Test_E_A_test106(integer this119) { local integer this157 if (E_typeId_723[this_119] == 0) { if (this_119 == 0) { error673("Nullpointer exception when calling E.test"); } else { error673("Called E.test on invalid object."); }; } else { }; this_157 = new_D109(); if (C_typeId_182[this_157] == 0) { if (this_157 == 0) { error673("Nullpointer exception when calling D.foo"); } else { error673("Called D.foo on invalid object."); }; } else { }; testSuccess735(); }