[ https://issues.apache.org/jira/browse/GROOVY-11479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Milles resolved GROOVY-11479. ---------------------------------- Fix Version/s: 5.0.0-alpha-11 Resolution: Fixed https://github.com/apache/groovy/commit/7a7e7b2ef8a40b7cf648017f57c1ea0ddd8ba87f > crash when annotating a lambda parameter > ---------------------------------------- > > Key: GROOVY-11479 > URL: https://issues.apache.org/jira/browse/GROOVY-11479 > Project: Groovy > Issue Type: Bug > Components: Static compilation > Reporter: Thodoris Sotiropoulos > Assignee: Eric Milles > Priority: Minor > Fix For: 5.0.0-alpha-11 > > > I have the following program > {code:java} > import java.lang.annotation.*; > import java.util.function.*; > @Target(ElementType.TYPE_USE) > @interface Nullable {} > class Test { > public static void main() { > IntUnaryOperator x = (@Nullable Integer y) -> 1; > } > } {code} > h3. Actual behavior > The compiler crashes > {code:java} > >>> a serious error occurred: BUG! exception in phase 'class generation' in > >>> source unit 'test.groovy' Adding type annotation @Nullable to > >>> non-redirect node: int > >>> stacktrace: > BUG! exception in phase 'class generation' in source unit 'test.groovy' > Adding type annotation @Nullable to non-redirect node: int > at > org.codehaus.groovy.ast.ClassNode.addTypeAnnotation(ClassNode.java:1673) > at > org.codehaus.groovy.ast.ClassNode.addTypeAnnotations(ClassNode.java:1684) > at > org.codehaus.groovy.classgen.ExtendedVerifier.extractTypeUseAnnotations(ExtendedVerifier.java:269) > at > org.codehaus.groovy.classgen.ExtendedVerifier.visitConstructorOrMethod(ExtendedVerifier.java:173) > at > org.codehaus.groovy.classgen.ExtendedVerifier.visitMethod(ExtendedVerifier.java:220) > at org.codehaus.groovy.ast.ClassNode.visitMethods(ClassNode.java:1331) > at > org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1324) > at > org.codehaus.groovy.classgen.ExtendedVerifier.visitClass(ExtendedVerifier.java:127) > at > org.codehaus.groovy.control.CompilationUnit$3.call(CompilationUnit.java:775) > at > org.codehaus.groovy.control.CompilationUnit$4.call(CompilationUnit.java:828) > at > org.codehaus.groovy.control.CompilationUnit$IPrimaryClassNodeOperation.doPhaseOperation(CompilationUnit.java:952) > at > org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:698) > at > org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:672) > at > org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:653) > at > org.codehaus.groovy.tools.FileSystemCompiler.compile(FileSystemCompiler.java:312) > at > org.codehaus.groovy.tools.FileSystemCompiler.doCompilation(FileSystemCompiler.java:241) > at > org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompile(FileSystemCompiler.java:166) > at > org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompileWithErrorHandling(FileSystemCompiler.java:206) > at > org.codehaus.groovy.tools.FileSystemCompiler.main(FileSystemCompiler.java:190) > {code} > h3. Notes > Tested against master (commit: 168bb9bc078ec7f68c47af4571ce0238496235f1) -- This message was sent by Atlassian Jira (v8.20.10#820010)