array C_nextFree153 integer C_firstFree588 integer C_maxIndex129 array C_typeId107 integer C_firstFree588 = 0 integer C_maxIndex129 = 0 function initGlobals171() { C_firstFree_588 = 0; C_maxIndex_129 = 0; } function main146() { initGlobals171(); init_test183(); } function config881() { } function init_test183() { local integer c797 c_797 = new_C104(); if (dispatch_C_test_C_BlubModule_foo515(c_797) == 3) { testSuccess183(); } else { }; } IS_NATIVE function testSuccess183() { } function C_BlubModule_foo153(integer this293) returns integer { return 3; } function C_init137(integer this193) { construct_C_BlubModule193(this_193); } function construct_C_BlubModule193(integer this120) { } function new_C104() returns integer { local integer this630 this_630 = alloc_C154(); construct_C152(this_630); return this_630; } function construct_C152(integer this663) { C_init137(this_663); } function alloc_C154() returns integer { local integer this119 if (C_firstFree_588 == 0) { if (C_maxIndex_129 < 32768) { C_maxIndex_129 = (C_maxIndex_129 + 1); this_119 = C_maxIndex_129; C_typeId_107[this_119] = 1; } else { error590("Out of memory: Could not create C."); this_119 = 0; }; } else { C_firstFree_588 = (C_firstFree_588 - 1); this_119 = C_nextFree_153[C_firstFree_588]; C_typeId_107[this_119] = 1; }; return this_119; } function error590(string msg200) { $debugPrint201((msg_200 + (" " + #getStackTrace()))); } function dispatch_C_test_C_BlubModule_foo515(integer this153) returns integer { local integer test_C_BlubModule_foo_result194 if (C_typeId_107[this_153] == 0) { if (this_153 == 0) { error590("Nullpointer exception when calling C.foo"); } else { error590("Called C.foo on invalid object."); }; } else { }; test_C_BlubModule_foo_result_194 = C_BlubModule_foo153(this_153); return test_C_BlubModule_foo_result_194; }