array I_nextFree163 integer I_firstFree171 integer I_maxIndex169 array I_typeId197 integer wurst_stack_depth143 array wurst_stack134 integer I_firstFree171 = 0 integer I_maxIndex169 = 0 integer wurst_stack_depth143 = 0 function initGlobals176() { } function main854() { initGlobals176(); init_test194("when calling init_test in defaultImplInClassDelegation, line 1"); } function config689() { } function init_test194(string __wurst_stackPos153) { local integer b145 local integer c178 local integer d202 wurst_stack_134[wurst_stack_depth_143] = __wurst_stackPos_153; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); b_145 = new_B994("when calling new_B in defaultImplInClassDelegation, line 16"); c_178 = new_C992("when calling new_C in defaultImplInClassDelegation, line 17"); d_202 = new_D155("when calling new_D in defaultImplInClassDelegation, line 18"); wurst_stack_134[wurst_stack_depth_143] = "when calling foo in defaultImplInClassDelegation, line 19"; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); if (I_typeId_197[b_145] == 0) { if (b_145 == 0) { error224("Nullpointer exception when calling B.foo", "when calling error in defaultImplInClassDelegation, line 9"); } else { error224("Called B.foo on invalid object.", "when calling error in defaultImplInClassDelegation, line 9"); }; } else { }; wurst_stack_depth_143 = (wurst_stack_depth_143 - 1); if ((dispatch_I_test_I_foo653(c_178, "when calling foo in defaultImplInClassDelegation, line 19") == 5) and (dispatch_I_test_I_foo653(d_202, "when calling foo in defaultImplInClassDelegation, line 19") == 3)) { testSuccess167(); } else { }; wurst_stack_depth_143 = (wurst_stack_depth_143 - 1); } IS_NATIVE function testSuccess167() { } function new_B994(string __wurst_stackPos206) returns integer { local integer this566 wurst_stack_134[wurst_stack_depth_143] = __wurst_stackPos_206; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); wurst_stack_134[wurst_stack_depth_143] = "when calling alloc_B in defaultImplInClassDelegation, line 8"; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); if (I_firstFree_171 == 0) { if (I_maxIndex_169 < 32768) { I_maxIndex_169 = (I_maxIndex_169 + 1); this_566 = I_maxIndex_169; I_typeId_197[this_566] = 2; } else { error224("Out of memory: Could not create B.", "when calling error in defaultImplInClassDelegation, line 8"); this_566 = 0; }; } else { I_firstFree_171 = (I_firstFree_171 - 1); this_566 = I_nextFree_163[I_firstFree_171]; I_typeId_197[this_566] = 2; }; wurst_stack_depth_143 = ((wurst_stack_depth_143 - 1) - 1); return this_566; } function new_C992(string __wurst_stackPos181) returns integer { local integer this716 wurst_stack_134[wurst_stack_depth_143] = __wurst_stackPos_181; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); wurst_stack_134[wurst_stack_depth_143] = "when calling alloc_C in defaultImplInClassDelegation, line 11"; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); if (I_firstFree_171 == 0) { if (I_maxIndex_169 < 32768) { I_maxIndex_169 = (I_maxIndex_169 + 1); this_716 = I_maxIndex_169; I_typeId_197[this_716] = 3; } else { error224("Out of memory: Could not create C.", "when calling error in defaultImplInClassDelegation, line 11"); this_716 = 0; }; } else { I_firstFree_171 = (I_firstFree_171 - 1); this_716 = I_nextFree_163[I_firstFree_171]; I_typeId_197[this_716] = 3; }; wurst_stack_depth_143 = ((wurst_stack_depth_143 - 1) - 1); return this_716; } function new_D155(string __wurst_stackPos288) returns integer { local integer this173 wurst_stack_134[wurst_stack_depth_143] = __wurst_stackPos_288; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); wurst_stack_134[wurst_stack_depth_143] = "when calling alloc_D in defaultImplInClassDelegation, line 12"; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); if (I_firstFree_171 == 0) { if (I_maxIndex_169 < 32768) { I_maxIndex_169 = (I_maxIndex_169 + 1); this_173 = I_maxIndex_169; I_typeId_197[this_173] = 4; } else { error224("Out of memory: Could not create D.", "when calling error in defaultImplInClassDelegation, line 12"); this_173 = 0; }; } else { I_firstFree_171 = (I_firstFree_171 - 1); this_173 = I_nextFree_163[I_firstFree_171]; I_typeId_197[this_173] = 4; }; wurst_stack_depth_143 = ((wurst_stack_depth_143 - 1) - 1); return this_173; } function error224(string msg528, string __wurst_stackPos166) { local integer stacktraceIndex857 local integer stacktraceLimit165 wurst_stack_134[wurst_stack_depth_143] = __wurst_stackPos_166; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); __wurst_stackPos_166 = ""; stacktraceIndex_857 = wurst_stack_depth_143; stacktraceLimit_165 = 0; loop { stacktraceIndex_857 = (stacktraceIndex_857 - 1); stacktraceLimit_165 = (stacktraceLimit_165 + 1); exitwhen ((stacktraceLimit_165 > 20) or (stacktraceIndex_857 < 0)); __wurst_stackPos_166 = (__wurst_stackPos_166 + (" " + wurst_stack_134[stacktraceIndex_857])); }; $debugPrint143((msg_528 + (" " + __wurst_stackPos_166))); wurst_stack_depth_143 = (wurst_stack_depth_143 - 1); } function dispatch_I_test_I_foo653(integer this366, string __wurst_stackPos100) returns integer { wurst_stack_134[wurst_stack_depth_143] = __wurst_stackPos_100; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); if (I_typeId_197[this_366] == 0) { if (this_366 == 0) { error224("Nullpointer exception when calling I.foo", "when calling error in defaultImplInClassDelegation, line 4"); } else { error224("Called I.foo on invalid object.", "when calling error in defaultImplInClassDelegation, line 4"); }; } else { }; if (I_typeId_197[this_366] <= 2) { if (I_typeId_197[this_366] <= 1) { wurst_stack_134[wurst_stack_depth_143] = "when calling foo in defaultImplInClassDelegation, line 4"; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); this_366 = dispatch_I_test_I_bar154(this_366, "when calling bar in defaultImplInClassDelegation, line 5"); wurst_stack_depth_143 = (wurst_stack_depth_143 - 1); } else { this_366 = 2; }; } else { wurst_stack_134[wurst_stack_depth_143] = "when calling foo in defaultImplInClassDelegation, line 4"; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); this_366 = dispatch_I_test_I_bar154(this_366, "when calling bar in defaultImplInClassDelegation, line 5"); wurst_stack_depth_143 = (wurst_stack_depth_143 - 1); }; wurst_stack_depth_143 = (wurst_stack_depth_143 - 1); return this_366; } function dispatch_I_test_I_bar154(integer this465, string __wurst_stackPos212) returns integer { wurst_stack_134[wurst_stack_depth_143] = __wurst_stackPos_212; wurst_stack_depth_143 = (wurst_stack_depth_143 + 1); if (I_typeId_197[this_465] == 0) { if (this_465 == 0) { error224("Nullpointer exception when calling I.bar", "when calling error in defaultImplInClassDelegation, line 6"); } else { error224("Called I.bar on invalid object.", "when calling error in defaultImplInClassDelegation, line 6"); }; } else { }; if (I_typeId_197[this_465] <= 3) { this_465 = 5; } else { this_465 = 3; }; wurst_stack_depth_143 = (wurst_stack_depth_143 - 1); return this_465; }