[ https://issues.apache.org/jira/browse/GROOVY-7524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14641547#comment-14641547 ]
Paul King commented on GROOVY-7524: ----------------------------------- Removing the fix version. In general, we assign the fix at the point we make the fix so it appears in the correct release notes. Assigning too early increases greatly the risk of it not being correct when the issue becomes resolved. Some exceptions: if the commit is imminent and no releases imminent, then feel free to set it in anticipation - also for blocker's we set the fix version indicating that the release shouldn't go ahead unless that issue has been resolved. To indicate that it should be fixed on a particular stream we normally have 2.4.x etc. Though we tend not to do that unless we are indicating our intention to fix it in a future stream in our roadmap or to indicate a greater than normal importance for it to be fixed for legacy streams. [meta note: I guess we should document our conventions somewhere] > Inconsistant behavior when mixing TupleConstructor and InheritConstructors > -------------------------------------------------------------------------- > > Key: GROOVY-7524 > URL: https://issues.apache.org/jira/browse/GROOVY-7524 > Project: Groovy > Issue Type: Bug > Reporter: Keegan Witt > > This compiles, but the constructors from the subclass are deleted because of > GROOVY-7522. > {code:java} > @groovy.transform.TupleConstructor > class Animal { > int age > } > @groovy.transform.InheritConstructors > @groovy.transform.TupleConstructor > class Cat extends Animal { > String name > } > {code} > But simply changing the order of the annotations, like this > {code:java} > @groovy.transform.TupleConstructor > class Animal { > int age > } > @groovy.transform.TupleConstructor > @groovy.transform.InheritConstructors > class Cat extends Animal { > String name > } > {code} > causes > {noformat}java.util.NoSuchElementException > at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1205) > at java.util.TreeMap$KeyIterator.next(TreeMap.java:1261) > at > org.codehaus.groovy.classgen.asm.InvocationWriter.makeMOPBasedConstructorCall(InvocationWriter.java:723) > at > org.codehaus.groovy.classgen.asm.InvocationWriter.visitSpecialConstructorCall(InvocationWriter.java:629) > at > org.codehaus.groovy.classgen.asm.InvocationWriter.writeSpecialConstructorCall(InvocationWriter.java:619) > at > org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorCallExpression(AsmClassGenerator.java:813) > at > org.codehaus.groovy.ast.expr.ConstructorCallExpression.visit(ConstructorCallExpression.java:44) > at > org.codehaus.groovy.classgen.asm.StatementWriter.writeExpressionStatement(StatementWriter.java:604) > at > org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeExpressionStatement(OptimizingStatementWriter.java:354) > at > org.codehaus.groovy.classgen.AsmClassGenerator.visitExpressionStatement(AsmClassGenerator.java:619) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:101) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:112) > at > org.codehaus.groovy.classgen.AsmClassGenerator.visitStdMethod(AsmClassGenerator.java:429) > at > org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorOrMethod(AsmClassGenerator.java:386) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructor(ClassCodeVisitorSupport.java:119) > at > org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructor(AsmClassGenerator.java:501) > at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1079) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:50) > at > org.codehaus.groovy.classgen.AsmClassGenerator.visitClass(AsmClassGenerator.java:232) > at > org.codehaus.groovy.control.CompilationUnit$16.call(CompilationUnit.java:810) > at > org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1052) > at > org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:588) > at > org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:566) > at > org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:543) > at > groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:297) > at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:267) > ...{noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)