array A_nextFree130 integer A_firstFree626 integer A_maxIndex840 array A_typeId118 array C_nextFree108 integer C_firstFree635 integer C_maxIndex100 integer A_firstFree626 = 0 integer A_maxIndex840 = 0 integer C_firstFree635 = 0 integer C_maxIndex100 = 0 function initGlobals918() { } function main126() { initGlobals918(); init_Test170(); } function config680() { } function init_Test170() { local integer b174 local integer this185 b_174 = new_B574(); this_185 = b_174; new_C212(); if (A_typeId_118[this_185] == 0) { if (this_185 == 0) { error513("Nullpointer exception when calling A.bla"); } else { error513("Called A.bla on invalid object."); }; } else { }; } function new_B574() returns integer { local integer this142 local integer this299 if (A_firstFree_626 == 0) { if (A_maxIndex_840 < 32768) { A_maxIndex_840 = (A_maxIndex_840 + 1); this_299 = A_maxIndex_840; A_typeId_118[this_299] = 2; } else { error513("Out of memory: Could not create B."); this_299 = 0; }; } else { A_firstFree_626 = (A_firstFree_626 - 1); this_299 = A_nextFree_130[A_firstFree_626]; A_typeId_118[this_299] = 2; }; this_142 = this_299; return this_142; } function new_C212() returns integer { local integer this845 local integer this825 if (C_firstFree_635 == 0) { if (C_maxIndex_100 < 32768) { C_maxIndex_100 = (C_maxIndex_100 + 1); this_825 = C_maxIndex_100; } else { error513("Out of memory: Could not create C."); this_825 = 0; }; } else { C_firstFree_635 = (C_firstFree_635 - 1); this_825 = C_nextFree_108[C_firstFree_635]; }; this_845 = this_825; return this_845; } function error513(string msg395) { $debugPrint138((msg_395 + (" " + #getStackTrace()))); }