[jira] [Created] (GROOVY-8637) @NamedVariant processing error

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Created] (GROOVY-8637) @NamedVariant processing error

JIRA jira@apache.org
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.

class Animal {
    String type, name

class Color {
    Integer r, g, b

String foo(String s1, @NamedParam String s2,
           @NamedDelegate Color shade,
           @NamedDelegate Animal pet) {
    "$s1 $s2 ${pet.type?.toUpperCase()}:$pet.name $shade"

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