これは私が持っているコードです
@Typed class FooMap extends LinkedHashMap {
def doSomeFoo() {
// ...
}
FooMap plus(Collection coll) {
super.plus(coll)
}
}
プレーンな Groovy では動作しますが、Groovy++ でコンパイルするとエラーが発生します: Cannot reference default groovy method 'plus' using 'super'. Call the static method instead
. それがGroovy ++のバグなのか、それともこのように動作することを意図しているのかはわかりません。super
とにかく、私はタイプされた方法で呼び出したいです。この状況を回避するにはどうすればよいですか?
このようなメソッドが必要な理由は、このコードをコンパイルするためです。
FooMap map = new FooMap() + [bar: 42]
map.doSomeFoo()