[ https://issues.apache.org/jira/browse/GROOVY-8703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King closed GROOVY-8703. ----------------------------- > Unexpected behavior with @NamedVariant on constructor > ----------------------------------------------------- > > Key: GROOVY-8703 > URL: https://issues.apache.org/jira/browse/GROOVY-8703 > Project: Groovy > Issue Type: Bug > Affects Versions: 2.5.1 > Reporter: Eric Milles > Assignee: Paul King > Priority: Major > Labels: breaking > Fix For: 3.0.0-alpha-4, 2.5.3 > > > Tried this example and got cast exception converting Map to Integer. Should > the print statement at the end use the generated map constructor as expected? > (Note: I am compiling with indy variant; tried to use web console to try > vanilla MOP...) > {code:groovy} > import groovy.transform.* > import groovy.transform.options.* > @ToString(includeNames=true) > class Color { > final Integer r, g, b > @NamedVariant @VisibilityOptions(Visibility.PUBLIC) > private Color(Integer r, Integer g, Integer b) { > this.r = r > this.g = g > this.b = b > } > public static final Color BLACK = new Color(0, 0, 0) > } > print(new Color(g:12, b:42, r:12)) // gives > org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast > object '{}' with class 'java.util.LinkedHashMap' to class 'java.lang.Integer' > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)