You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Alexey Afanasiev (JIRA)" <ji...@apache.org> on 2018/06/07 09:47:00 UTC
[jira] [Created] (GROOVY-8637) @NamedVariant processing error
Alexey Afanasiev created GROOVY-8637:
----------------------------------------
Summary: @NamedVariant processing error
Key: GROOVY-8637
URL: https://issues.apache.org/jira/browse/GROOVY-8637
Project: Groovy
Issue Type: Bug
Components: Compiler
Reporter: Alexey Afanasiev
Example about @NamedVariant from http://groovy-lang.org/releasenotes/groovy-2.5.html works perfectly well as far as all @NamedDelegate type are compiling in the same compilation unit.
{code:java}
class Animal {
String type, name
}
@ToString(includeNames=true)
class Color {
Integer r, g, b
}
@NamedVariant
String foo(String s1, @NamedParam String s2,
@NamedDelegate Color shade,
@NamedDelegate Animal pet) {
"$s1 $s2 ${pet.type?.toUpperCase()}:$pet.name $shade"
}
{code}
So in this example if you have Animal an Color classes compiled beforehand and passed to the compiler with classpath, you will receive 'Error during @NamedVariant processing. Duplicate property 'metaClass' found.'
NamedVariantASTTransformation treats 'setMetaClass' method as set method of some property with ''metaClass' name. Obviously these names are clashed at compile time.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)