array I_nextFree141 integer I_firstFree965 integer I_maxIndex147 array I_typeId732 integer wurst_stack_depth926 array wurst_stack197 integer I_firstFree965 = 0 integer I_maxIndex147 = 0 integer wurst_stack_depth926 = 0 function initGlobals182() { } function main798() { initGlobals182(); init_test444("when calling init_test in defaultImplInClassDelegation, line 1"); } function config172() { } function init_test444(string __wurst_stackPos211) { local integer b194 local integer c296 local integer d213 wurst_stack_197[wurst_stack_depth_926] = __wurst_stackPos_211; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); b_194 = new_B124("when calling new_B in defaultImplInClassDelegation, line 16"); c_296 = new_C376("when calling new_C in defaultImplInClassDelegation, line 17"); d_213 = new_D122("when calling new_D in defaultImplInClassDelegation, line 18"); wurst_stack_197[wurst_stack_depth_926] = "when calling foo in defaultImplInClassDelegation, line 19"; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); if (I_typeId_732[b_194] == 0) { if (b_194 == 0) { error882("Nullpointer exception when calling B.foo", "when calling error in defaultImplInClassDelegation, line 9"); } else { error882("Called B.foo on invalid object.", "when calling error in defaultImplInClassDelegation, line 9"); }; } else { }; wurst_stack_depth_926 = (wurst_stack_depth_926 - 1); if ((dispatch_I_test_I_foo414(c_296, "when calling foo in defaultImplInClassDelegation, line 19") == 5) and (dispatch_I_test_I_foo414(d_213, "when calling foo in defaultImplInClassDelegation, line 19") == 3)) { testSuccess214(); } else { }; wurst_stack_depth_926 = (wurst_stack_depth_926 - 1); } IS_NATIVE function testSuccess214() { } function new_B124(string __wurst_stackPos684) returns integer { local integer this127 wurst_stack_197[wurst_stack_depth_926] = __wurst_stackPos_684; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); wurst_stack_197[wurst_stack_depth_926] = "when calling alloc_B in defaultImplInClassDelegation, line 8"; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); if (I_firstFree_965 == 0) { if (I_maxIndex_147 < 32768) { I_maxIndex_147 = (I_maxIndex_147 + 1); this_127 = I_maxIndex_147; I_typeId_732[this_127] = 2; } else { error882("Out of memory: Could not create B.", "when calling error in defaultImplInClassDelegation, line 8"); this_127 = 0; }; } else { I_firstFree_965 = (I_firstFree_965 - 1); this_127 = I_nextFree_141[I_firstFree_965]; I_typeId_732[this_127] = 2; }; wurst_stack_depth_926 = ((wurst_stack_depth_926 - 1) - 1); return this_127; } function new_C376(string __wurst_stackPos100) returns integer { local integer this157 wurst_stack_197[wurst_stack_depth_926] = __wurst_stackPos_100; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); wurst_stack_197[wurst_stack_depth_926] = "when calling alloc_C in defaultImplInClassDelegation, line 11"; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); if (I_firstFree_965 == 0) { if (I_maxIndex_147 < 32768) { I_maxIndex_147 = (I_maxIndex_147 + 1); this_157 = I_maxIndex_147; I_typeId_732[this_157] = 3; } else { error882("Out of memory: Could not create C.", "when calling error in defaultImplInClassDelegation, line 11"); this_157 = 0; }; } else { I_firstFree_965 = (I_firstFree_965 - 1); this_157 = I_nextFree_141[I_firstFree_965]; I_typeId_732[this_157] = 3; }; wurst_stack_depth_926 = ((wurst_stack_depth_926 - 1) - 1); return this_157; } function new_D122(string __wurst_stackPos632) returns integer { local integer this199 wurst_stack_197[wurst_stack_depth_926] = __wurst_stackPos_632; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); wurst_stack_197[wurst_stack_depth_926] = "when calling alloc_D in defaultImplInClassDelegation, line 12"; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); if (I_firstFree_965 == 0) { if (I_maxIndex_147 < 32768) { I_maxIndex_147 = (I_maxIndex_147 + 1); this_199 = I_maxIndex_147; I_typeId_732[this_199] = 4; } else { error882("Out of memory: Could not create D.", "when calling error in defaultImplInClassDelegation, line 12"); this_199 = 0; }; } else { I_firstFree_965 = (I_firstFree_965 - 1); this_199 = I_nextFree_141[I_firstFree_965]; I_typeId_732[this_199] = 4; }; wurst_stack_depth_926 = ((wurst_stack_depth_926 - 1) - 1); return this_199; } function error882(string msg152, string __wurst_stackPos190) { local integer stacktraceIndex180 local integer stacktraceLimit597 wurst_stack_197[wurst_stack_depth_926] = __wurst_stackPos_190; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); __wurst_stackPos_190 = ""; stacktraceIndex_180 = wurst_stack_depth_926; stacktraceLimit_597 = 0; loop { stacktraceIndex_180 = (stacktraceIndex_180 - 1); stacktraceLimit_597 = (stacktraceLimit_597 + 1); exitwhen ((stacktraceLimit_597 > 20) or (stacktraceIndex_180 < 0)); __wurst_stackPos_190 = (__wurst_stackPos_190 + (" " + wurst_stack_197[stacktraceIndex_180])); }; $debugPrint457((msg_152 + (" " + __wurst_stackPos_190))); wurst_stack_depth_926 = (wurst_stack_depth_926 - 1); } function dispatch_I_test_I_foo414(integer this172, string __wurst_stackPos213) returns integer { wurst_stack_197[wurst_stack_depth_926] = __wurst_stackPos_213; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); if (I_typeId_732[this_172] == 0) { if (this_172 == 0) { error882("Nullpointer exception when calling I.foo", "when calling error in defaultImplInClassDelegation, line 4"); } else { error882("Called I.foo on invalid object.", "when calling error in defaultImplInClassDelegation, line 4"); }; } else { }; if (I_typeId_732[this_172] <= 2) { if (I_typeId_732[this_172] <= 1) { wurst_stack_197[wurst_stack_depth_926] = "when calling foo in defaultImplInClassDelegation, line 4"; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); this_172 = dispatch_I_test_I_bar827(this_172, "when calling bar in defaultImplInClassDelegation, line 5"); wurst_stack_depth_926 = (wurst_stack_depth_926 - 1); } else { this_172 = 2; }; } else { wurst_stack_197[wurst_stack_depth_926] = "when calling foo in defaultImplInClassDelegation, line 4"; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); this_172 = dispatch_I_test_I_bar827(this_172, "when calling bar in defaultImplInClassDelegation, line 5"); wurst_stack_depth_926 = (wurst_stack_depth_926 - 1); }; wurst_stack_depth_926 = (wurst_stack_depth_926 - 1); return this_172; } function dispatch_I_test_I_bar827(integer this131, string __wurst_stackPos886) returns integer { wurst_stack_197[wurst_stack_depth_926] = __wurst_stackPos_886; wurst_stack_depth_926 = (wurst_stack_depth_926 + 1); if (I_typeId_732[this_131] == 0) { if (this_131 == 0) { error882("Nullpointer exception when calling I.bar", "when calling error in defaultImplInClassDelegation, line 6"); } else { error882("Called I.bar on invalid object.", "when calling error in defaultImplInClassDelegation, line 6"); }; } else { }; if (I_typeId_732[this_131] <= 3) { this_131 = 5; } else { this_131 = 3; }; wurst_stack_depth_926 = (wurst_stack_depth_926 - 1); return this_131; }