svoid test_tok_settableFields() { testTranspilationFunction tok_settableFields( "settable S bla;", //"selfType bla(S bla) { this.bla = bla; this; } S bla() { ret bla; } S bla;", "public selfType bla aka setBla(S bla) { this.bla = bla; this; }\n" + "public S bla aka getBla() { ret bla; } S bla;", "settable volatile S bla;", "public selfType bla aka setBla(S bla) { this.bla = bla; this; }\n" + "public S bla aka getBla() { ret bla; } volatile S bla;", "transient settable S bla;", "public selfType bla aka setBla(S bla) { this.bla = bla; this; }\n" + "public S bla aka getBla() { ret bla; } transient S bla;", "settable volatile A bla;", "public selfType bla aka setBla(A bla) { this.bla = bla; this; }\n" + "public A bla aka getBla() { ret bla; } volatile A bla;", // setter with change event firing "settableWithChange S blu;", "public selfType blu aka setBlu(S blu) { if (!eq(this.blu, blu)) { this.blu = blu; change(); } this; }\n" + "public S blu aka getBlu() { ret blu; } S blu;", // void settable = setter returns void "void settable S bla;", "public void bla aka setBla(S bla) { this.bla = bla; }\n" + "public S bla aka getBla() { ret bla; } S bla;", // setter with FieldVar "settableWithVar S blu;", "public transient simplyCached FieldVar varBlu()\n" + "{ ret new FieldVar(this, \"blu\", -> blu(), blu -> blu(blu)); }\n" + "public selfType blu aka setBlu(S blu) { if (!eq(this.blu, blu)) { this.blu = blu; change(); } this; }\n" + "public S blu aka getBlu() { ret blu; } S blu;", ); }