svoid test_tok_eventFunctions() { // no args testTranspilationFunction tok_eventFunctions( "event blubb;", [[ transient L onBlubb; selfType onBlubb(Runnable r) { onBlubb = syncAddOrCreate(onBlubb, r); this; } void blubb() { pcallFAll(onBlubb); } ]]); // with args testTranspilationFunction tok_eventFunctions( "event newX(X x);", [[ transient L> onNewX; selfType onNewX(IVF1 f) { onNewX = syncAddOrCreate(onNewX, f); this; } void newX(X x) { pcallFAll(onNewX, x); } ]]); // "on" prefix handled correctly testTranspilationFunction tok_eventFunctions( "event onBlubb;", [[ transient L onBlubb; selfType onBlubb(Runnable r) { onBlubb = syncAddOrCreate(onBlubb, r); this; } void blubb() { pcallFAll(onBlubb); } ]]); // "fire" prefix handled correctly testTranspilationFunction tok_eventFunctions( "event fireBlubb;", [[ transient L onBlubb; selfType onBlubb(Runnable r) { onBlubb = syncAddOrCreate(onBlubb, r); this; } void fireBlubb() { pcallFAll(onBlubb); } ]]); }