array C_nextFree187 integer C_firstFree176 integer C_maxIndex155 array C_typeId394 integer C_firstFree176 = 0 integer C_maxIndex155 = 0 function initGlobals156() { C_firstFree_176 = 0; C_maxIndex_155 = 0; } function main429() { initGlobals156(); init_test162(); } function config110() { } function init_test162() { local integer c174 c_174 = new_C351(); if (dispatch_C_test_C_BlubModule_foo112(c_174) == 3) { testSuccess550(); } else { }; } IS_NATIVE function testSuccess550() { } function C_BlubModule_foo195(integer this123) returns integer { return 3; } function C_init367(integer this127) { construct_C_BlubModule775(this_127); } function construct_C_BlubModule775(integer this211) { } function new_C351() returns integer { local integer this675 this_675 = alloc_C153(); construct_C850(this_675); return this_675; } function construct_C850(integer this359) { C_init367(this_359); } function alloc_C153() returns integer { local integer this888 if (C_firstFree_176 == 0) { if (C_maxIndex_155 < 32768) { C_maxIndex_155 = (C_maxIndex_155 + 1); this_888 = C_maxIndex_155; C_typeId_394[this_888] = 1; } else { error196("Out of memory: Could not create C."); this_888 = 0; }; } else { C_firstFree_176 = (C_firstFree_176 - 1); this_888 = C_nextFree_187[C_firstFree_176]; C_typeId_394[this_888] = 1; }; return this_888; } function error196(string msg135) { $debugPrint705((msg_135 + (" " + #getStackTrace()))); } function dispatch_C_test_C_BlubModule_foo112(integer this646) returns integer { local integer test_C_BlubModule_foo_result137 if (C_typeId_394[this_646] == 0) { if (this_646 == 0) { error196("Nullpointer exception when calling C.foo"); } else { error196("Called C.foo on invalid object."); }; } else { }; test_C_BlubModule_foo_result_137 = C_BlubModule_foo195(this_646); return test_C_BlubModule_foo_result_137; }