// this script was compiled with wurst 1.8.1.0-jenkins-Wurst-1366 globals integer array A_nextFree integer A_firstFree=0 integer A_maxIndex=0 integer array A_typeId integer array A_i endglobals native testSuccess takes nothing returns nothing function initGlobals takes nothing returns nothing endfunction function error takes string msg returns nothing call BJDebugMsg(msg + "\n" + "") endfunction function new_A takes nothing returns integer local integer this local integer this_1 if A_firstFree == 0 then if A_maxIndex < 32768 then set A_maxIndex = A_maxIndex + 1 set this_1 = A_maxIndex set A_typeId[this_1] = 1 else call error("Out of memory: Could not create A.") set this_1 = 0 endif else set A_firstFree = A_firstFree - 1 set this_1 = A_nextFree[A_firstFree] set A_typeId[this_1] = 1 endif set this = this_1 return this endfunction function init_test takes nothing returns nothing local integer receiver = new_A() local integer this = receiver local integer x = 3 local integer a local integer receiver_1 local integer receiver_2 local integer this_1 local integer x_1 local integer this_2 local integer x_2 local integer this_3 local integer x_3 local integer this_4 local integer x_4 local integer this_5 local integer x_5 if A_typeId[this] == 0 then if this == 0 then call error("Nullpointer exception when calling A.plus") else call error("Called A.plus on invalid object.") endif endif set this_1 = this set x_1 = x set A_i[this_1] = A_i[this_1] + x_1 set receiver_1 = receiver set this_2 = receiver_1 set x_2 = 4 if A_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling A.minus") else call error("Called A.minus on invalid object.") endif endif set this_3 = this_2 set x_3 = x_2 set A_i[this_3] = A_i[this_3] - x_3 set receiver_2 = receiver_1 set this_4 = receiver_2 set x_4 = 5 if A_typeId[this_4] == 0 then if this_4 == 0 then call error("Nullpointer exception when calling A.plus") else call error("Called A.plus on invalid object.") endif endif set this_5 = this_4 set x_5 = x_4 set A_i[this_5] = A_i[this_5] + x_5 set a = receiver_2 if A_i[a] == 4 then call testSuccess() endif endfunction function main takes nothing returns nothing call initGlobals() call init_test() endfunction function config takes nothing returns nothing endfunction