// this script was compiled with wurst 1.8.1.0-jenkins-Wurst-1366 globals integer array MyClass_nextFree integer MyClass_firstFree=0 integer MyClass_maxIndex=0 integer array MyClass_typeId integer array Iterator_nextFree integer Iterator_firstFree=0 integer Iterator_maxIndex=0 endglobals native testSuccess takes nothing returns nothing function initGlobals takes nothing returns nothing set MyClass_firstFree = 0 set MyClass_maxIndex = 0 set Iterator_firstFree = 0 set Iterator_maxIndex = 0 endfunction function Iterator_close takes integer this returns nothing endfunction function Iterator_hasNext takes integer this returns boolean return false endfunction function Iterator_next takes integer this returns integer return 0 endfunction function error takes string msg returns nothing call BJDebugMsg(msg + "\n" + "") endfunction function alloc_Iterator takes nothing returns integer local integer this if Iterator_firstFree == 0 then if Iterator_maxIndex < 32768 then set Iterator_maxIndex = Iterator_maxIndex + 1 set this = Iterator_maxIndex else call error("Out of memory: Could not create Iterator.") set this = 0 endif else set Iterator_firstFree = Iterator_firstFree - 1 set this = Iterator_nextFree[Iterator_firstFree] endif return this endfunction function Iterator_init takes integer this returns nothing endfunction function construct_Iterator takes integer this returns nothing call Iterator_init(this) endfunction function new_Iterator takes nothing returns integer local integer this = alloc_Iterator() call construct_Iterator(this) return this endfunction function MyClass_MyModule_LinkedListModule_iterator takes nothing returns integer return new_Iterator() endfunction function MyClass_do takes integer this returns nothing endfunction function dispatch_MyClass_Test_MyClass_do takes integer this returns nothing if MyClass_typeId[this] == 0 then if this == 0 then call error("Nullpointer exception when calling MyClass.do") else call error("Called MyClass.do on invalid object.") endif endif call MyClass_do(this) endfunction function MyClass_all takes nothing returns nothing local integer iterator = MyClass_MyModule_LinkedListModule_iterator() local integer elem loop exitwhen not Iterator_hasNext(iterator) set elem = Iterator_next(iterator) call dispatch_MyClass_Test_MyClass_do(elem) endloop call Iterator_close(iterator) endfunction function alloc_MyClass takes nothing returns integer local integer this if MyClass_firstFree == 0 then if MyClass_maxIndex < 32768 then set MyClass_maxIndex = MyClass_maxIndex + 1 set this = MyClass_maxIndex set MyClass_typeId[this] = 2 else call error("Out of memory: Could not create MyClass.") set this = 0 endif else set MyClass_firstFree = MyClass_firstFree - 1 set this = MyClass_nextFree[MyClass_firstFree] set MyClass_typeId[this] = 2 endif return this endfunction function construct_MyClass_MyModule_LinkedListModule takes integer this returns nothing endfunction function construct_MyClass_MyModule takes integer this returns nothing call construct_MyClass_MyModule_LinkedListModule(this) endfunction function MyClass_init takes integer this returns nothing call construct_MyClass_MyModule(this) endfunction function construct_MyClass takes integer this returns nothing call MyClass_init(this) endfunction function new_MyClass takes nothing returns integer local integer this = alloc_MyClass() call construct_MyClass(this) return this endfunction function init_Test takes nothing returns nothing call new_MyClass() call new_MyClass() call MyClass_all() call testSuccess() endfunction function main takes nothing returns nothing call initGlobals() call init_Test() endfunction function config takes nothing returns nothing endfunction