Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

37
LINES

< > BotCompany Repo | #1033079 // test_tok_settableFields - settable implies gettable

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (6552L/37K).

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<B> bla;",
    "public selfType bla aka setBla(A<B> bla) { this.bla = bla; this; }\n"
      + "public A<B> bla aka getBla() { ret bla; } volatile A<B> 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<S> varBlu()\n" +
      "{ ret new FieldVar<S>(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;",
  );
}

Author comment

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: 152 / 318
Version history: 18 change(s)
Referenced in: [show references]