// this script was compiled with wurst 1.8.1.0-jenkins-Wurst-1365 globals integer array CounterImpl_nextFree integer CounterImpl_firstFree=0 integer CounterImpl_maxIndex=0 integer array CounterImpl_typeId integer array CounterImpl_Counter_count integer wurst_stack_depth=0 string array wurst_stack endglobals native testFail takes string msg returns nothing native testSuccess takes nothing returns nothing function initGlobals takes nothing returns nothing endfunction function error takes string msg, string w__wurst_stackPos returns nothing local integer stacktraceIndex local integer stacktraceLimit set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set w__wurst_stackPos = "" set stacktraceIndex = wurst_stack_depth set stacktraceLimit = 0 loop set stacktraceIndex = stacktraceIndex - 1 set stacktraceLimit = stacktraceLimit + 1 exitwhen stacktraceLimit > 20 or stacktraceIndex < 0 set w__wurst_stackPos = w__wurst_stackPos + "\n " + wurst_stack[stacktraceIndex] endloop call BJDebugMsg(msg + "\n" + w__wurst_stackPos) set wurst_stack_depth = wurst_stack_depth - 1 endfunction function new_CounterImpl takes string w__wurst_stackPos returns integer local integer this set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_CounterImpl in simple.wurst, line 20" set wurst_stack_depth = wurst_stack_depth + 1 if CounterImpl_firstFree == 0 then if CounterImpl_maxIndex < 32768 then set CounterImpl_maxIndex = CounterImpl_maxIndex + 1 set this = CounterImpl_maxIndex set CounterImpl_typeId[this] = 1 else call error("Out of memory: Could not create CounterImpl.", "when calling error in simple.wurst, line 20") set this = 0 endif else set CounterImpl_firstFree = CounterImpl_firstFree - 1 set this = CounterImpl_nextFree[CounterImpl_firstFree] set CounterImpl_typeId[this] = 1 endif set wurst_stack_depth = wurst_stack_depth - 1 set CounterImpl_Counter_count[this] = 0 set wurst_stack_depth = wurst_stack_depth - 1 return this endfunction function init_test takes string w__wurst_stackPos returns nothing local integer c set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set c = new_CounterImpl("when calling new_CounterImpl in simple.wurst, line 27") set wurst_stack[wurst_stack_depth] = "when calling incCounter in simple.wurst, line 28" set wurst_stack_depth = wurst_stack_depth + 1 if CounterImpl_typeId[c] == 0 then if c == 0 then call error("Nullpointer exception when calling CounterImpl.incCounter", "when calling error in simple.wurst, line 10") else call error("Called CounterImpl.incCounter on invalid object.", "when calling error in simple.wurst, line 10") endif endif set CounterImpl_Counter_count[c] = CounterImpl_Counter_count[c] + 1 set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling incCounter in simple.wurst, line 29" set wurst_stack_depth = wurst_stack_depth + 1 if CounterImpl_typeId[c] == 0 then if c == 0 then call error("Nullpointer exception when calling CounterImpl.incCounter", "when calling error in simple.wurst, line 10") else call error("Called CounterImpl.incCounter on invalid object.", "when calling error in simple.wurst, line 10") endif endif set CounterImpl_Counter_count[c] = CounterImpl_Counter_count[c] + 1 set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling getCounter in simple.wurst, line 31" set wurst_stack_depth = wurst_stack_depth + 1 if CounterImpl_typeId[c] == 0 then if c == 0 then call error("Nullpointer exception when calling CounterImpl.getCounter", "when calling error in simple.wurst, line 14") else call error("Called CounterImpl.getCounter on invalid object.", "when calling error in simple.wurst, line 14") endif endif set c = CounterImpl_Counter_count[c] set wurst_stack_depth = wurst_stack_depth - 1 if c == 2 then call testSuccess() else call testFail("defect in equality if") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function main takes nothing returns nothing call initGlobals() call init_test("when calling init_test in simple.wurst, line 1") endfunction function config takes nothing returns nothing endfunction