// 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 Cell_nextFree integer Cell_firstFree=0 integer Cell_maxIndex=0 integer array Cell_typeId integer array A_x integer array Cell_x 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_Cell takes nothing returns integer local integer this local integer this_1 if Cell_firstFree == 0 then if Cell_maxIndex < 32768 then set Cell_maxIndex = Cell_maxIndex + 1 set this_1 = Cell_maxIndex set Cell_typeId[this_1] = 2 else call error("Out of memory: Could not create Cell.") set this_1 = 0 endif else set Cell_firstFree = Cell_firstFree - 1 set this_1 = Cell_nextFree[Cell_firstFree] set Cell_typeId[this_1] = 2 endif set this = this_1 return this endfunction function init_test takes nothing returns nothing local integer x = 42 local integer a local integer c local integer this local integer this_1 local integer this_2 local integer x_1 local integer this_3 local integer this_4 local integer x_2 local integer this_5 local integer x_3 local integer this_6 local integer test_Cell_get_result local integer this_7 if A_firstFree == 0 then if A_maxIndex < 32768 then set A_maxIndex = A_maxIndex + 1 set this_1 = A_maxIndex 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] endif set this = this_1 set this_2 = this set x_1 = x set this_3 = this_2 set A_x[this_3] = 1 set A_x[this_2] = x_1 set a = this set c = new_Cell() set this_4 = c set x_2 = a if Cell_typeId[this_4] == 0 then if this_4 == 0 then call error("Nullpointer exception when calling Cell.set") else call error("Called Cell.set on invalid object.") endif endif set this_5 = this_4 set x_3 = x_2 set Cell_x[this_5] = x_3 set this_6 = c if Cell_typeId[this_6] == 0 then if this_6 == 0 then call error("Nullpointer exception when calling Cell.get") else call error("Called Cell.get on invalid object.") endif endif set this_7 = this_6 set test_Cell_get_result = Cell_x[this_7] if A_x[test_Cell_get_result] == 42 then call testSuccess() endif endfunction function main takes nothing returns nothing call initGlobals() call init_test() endfunction function config takes nothing returns nothing endfunction