[ 
https://issues.apache.org/jira/browse/GROOVY-11479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Milles reassigned GROOVY-11479:
------------------------------------

    Assignee: Eric Milles

> 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
>
> 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)

Reply via email to