Libraryless. Click here for Pure Java version (6552L/37K).
1 | svoid test_tok_settableFields() { |
2 | testTranspilationFunction tok_settableFields( |
3 | "settable S bla;", |
4 | //"selfType bla(S bla) { this.bla = bla; this; } S bla() { ret bla; } S bla;", |
5 | "public selfType bla aka setBla(S bla) { this.bla = bla; this; }\n" |
6 | + "public S bla aka getBla() { ret bla; } S bla;", |
7 | |
8 | "settable volatile S bla;", |
9 | "public selfType bla aka setBla(S bla) { this.bla = bla; this; }\n" |
10 | + "public S bla aka getBla() { ret bla; } volatile S bla;", |
11 | |
12 | "transient settable S bla;", |
13 | "public selfType bla aka setBla(S bla) { this.bla = bla; this; }\n" |
14 | + "public S bla aka getBla() { ret bla; } transient S bla;", |
15 | |
16 | "settable volatile A<B> bla;", |
17 | "public selfType bla aka setBla(A<B> bla) { this.bla = bla; this; }\n" |
18 | + "public A<B> bla aka getBla() { ret bla; } volatile A<B> bla;", |
19 | |
20 | // setter with change event firing |
21 | "settableWithChange S blu;", |
22 | "public selfType blu aka setBlu(S blu) { if (!eq(this.blu, blu)) { this.blu = blu; change(); } this; }\n" |
23 | + "public S blu aka getBlu() { ret blu; } S blu;", |
24 | |
25 | // void settable = setter returns void |
26 | "void settable S bla;", |
27 | "public void bla aka setBla(S bla) { this.bla = bla; }\n" |
28 | + "public S bla aka getBla() { ret bla; } S bla;", |
29 | |
30 | // setter with FieldVar |
31 | "settableWithVar S blu;", |
32 | "public transient simplyCached FieldVar<S> varBlu()\n" + |
33 | "{ ret new FieldVar<S>(this, \"blu\", -> blu(), blu -> blu(blu)); }\n" + |
34 | "public selfType blu aka setBlu(S blu) { if (!eq(this.blu, blu)) { this.blu = blu; change(); } this; }\n" |
35 | + "public S blu aka getBlu() { ret blu; } S blu;", |
36 | ); |
37 | } |
Began life as a copy of #1032963
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, ekrmjmnbrukm, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
Snippet ID: | #1033079 |
Snippet name: | test_tok_settableFields - settable implies gettable |
Eternal ID of this version: | #1033079/19 |
Text MD5: | 506a0e1240ceb74d23438d729ab4f211 |
Transpilation MD5: | 097eb8b09ffa9214f0823850edcfbfe8 |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2022-02-07 20:04:38 |
Source code size: | 1720 bytes / 37 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 288 / 485 |
Version history: | 18 change(s) |
Referenced in: | [show references] |