Description
looks like traits are stricter than the "normal" groovy when an identifier happens to contain the dollar sign:
252 /tmp> <q.groovy trait Test { static foo_ok() { println 'trait non-$ OK' } static foo$oops() { println 'trait $ OK' } } class Foo implements Test { static foo$ok() { println 'class $ OK' } } Foo.foo$ok() Foo.foo_ok() Foo.foo$oops() 253 /tmp> groovy q class $ OK trait non-$ OK Caught: groovy.lang.MissingMethodException: No signature of method: static Foo.foo$oops() is applicable for argument types: () values: [] Possible solutions: foo$ok(), foo_ok() ...
Attachments
Issue Links
- is duplicated by
-
GROOVY-7539 Traits break if method name has $ sign
- Closed
- links to