読者です 読者をやめる 読者になる 読者になる

Xtend で static field に型を指定して代入するとコンパイルエラーになる

Xtend のバージョンは最新の 2.4.2 です。
コードを見てもらうと分かりやすいです。

class StaticFieldTest {
  var static FIELD = 1
  
  def hoge() {
    println(FIELD)
    println(StaticFieldTest::FIELD)
    FIELD = 10
    StaticFieldTest::FIELD = 10 // ここだけコンパイルエラー
  }
}


何なんでしょうね?
ちなみに 2.4.2 から static へのアクセスが "." でもいけるようになりました。
Xtend - Modernized Java
書き換えても結果は同じですが。

class StaticFieldTest {
  var static FIELD = 1
  
  def hoge() {
    println(FIELD)
    println(StaticFieldTest.FIELD)
    FIELD = 10
    StaticFieldTest.FIELD = 10 // ここだけコンパイルエラー
  }
}

Java っぽくなりましたね。