array Blub_nextFree114 integer Blub_firstFree116 integer Blub_maxIndex132 array Blub_typeId148 integer Blub_firstFree116 = 0 integer Blub_maxIndex132 = 0 function initGlobals151() { Blub_firstFree_116 = 0; Blub_maxIndex_132 = 0; } function main178() { initGlobals151(); init_B808(); } function config203() { } function init_B808() { local integer blub748 blub_748 = new_Blub579(); dispatch_Blub_A_Blub_foo514(blub_748); } function Blub_foo810(integer this165) { } function Blub_init102(integer this136) { } function new_Blub579() returns integer { local integer this211 this_211 = alloc_Blub210(); construct_Blub799(this_211); return this_211; } function construct_Blub799(integer this517) { Blub_init102(this_517); } function alloc_Blub210() returns integer { local integer this979 if (Blub_firstFree_116 == 0) { if (Blub_maxIndex_132 < 32768) { Blub_maxIndex_132 = (Blub_maxIndex_132 + 1); this_979 = Blub_maxIndex_132; Blub_typeId_148[this_979] = 1; } else { error120("Out of memory: Could not create Blub."); this_979 = 0; }; } else { Blub_firstFree_116 = (Blub_firstFree_116 - 1); this_979 = Blub_nextFree_114[Blub_firstFree_116]; Blub_typeId_148[this_979] = 1; }; return this_979; } function error120(string msg813) { $debugPrint938((msg_813 + (" " + #getStackTrace()))); } function dispatch_Blub_A_Blub_foo514(integer this670) { if (Blub_typeId_148[this_670] == 0) { if (this_670 == 0) { error120("Nullpointer exception when calling Blub.foo"); } else { error120("Called Blub.foo on invalid object."); }; } else { }; Blub_foo810(this_670); }