array C_nextFree515 integer C_firstFree131 integer C_maxIndex202 array C_typeId776 integer C_firstFree131 = 0 integer C_maxIndex202 = 0 function initGlobals101() { } function main202() { initGlobals101(); init_test107(); } function config192() { } function init_test107() { if (dispatch_C_test_C_foo847(new_D911()) == 3) { testSuccess564(); } else { }; } IS_NATIVE function testSuccess564() { } function C_foo187(integer this168) returns integer { return 3; } function C_init171(integer this207) { } function construct_C519(integer this153) { C_init171(this_153); } function D_init637(integer this831) { } function new_D911() returns integer { local integer this214 this_214 = alloc_D450(); construct_D192(this_214); return this_214; } function construct_D192(integer this116) { construct_C519(this_116); D_init637(this_116); } function error165(string msg100) { $debugPrint877((msg_100 + (" " + #getStackTrace()))); } function alloc_D450() returns integer { local integer this183 if (C_firstFree_131 == 0) { if (C_maxIndex_202 < 32768) { C_maxIndex_202 = (C_maxIndex_202 + 1); this_183 = C_maxIndex_202; C_typeId_776[this_183] = 2; } else { error165("Out of memory: Could not create D."); this_183 = 0; }; } else { C_firstFree_131 = (C_firstFree_131 - 1); this_183 = C_nextFree_515[C_firstFree_131]; C_typeId_776[this_183] = 2; }; return this_183; } function dispatch_C_test_C_foo847(integer this153) returns integer { if (C_typeId_776[this_153] == 0) { if (this_153 == 0) { error165("Nullpointer exception when calling C.foo"); } else { error165("Called C.foo on invalid object."); }; } else { }; return C_foo187(this_153); }