[ 
https://issues.apache.org/jira/browse/GROOVY-8669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16582028#comment-16582028
 ] 

Paul King commented on GROOVY-8669:
-----------------------------------

I agree with your assessment.

> Groovy class does not compile if the ValueType of an annotation is not on the 
> classpath
> ---------------------------------------------------------------------------------------
>
>                 Key: GROOVY-8669
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8669
>             Project: Groovy
>          Issue Type: Bug
>          Components: class generator
>    Affects Versions: 2.5.0
>            Reporter: Andreas Turban
>            Priority: Major
>              Labels: annotations, compile-error
>         Attachments: AnnoTest.zip
>
>
> If a groovy class (Test.groovy) references a class (AnnotatedClass) which has 
> an annotation (Annotation) with a value class (ValueClass), which is not on 
> the classpath an NoClassDefFoundError is thrown.
> This does happen during Compilation. This did not happen in Groovy 2.4.15.
> The stacktrace is:
> {noformat}
> Caused by: java.lang.NoClassDefFoundError: annos.ValueClass
>     at 
> org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:48)
>     at 
> org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveNonArrayType(AsmReferenceResolver.java:81)
>     at 
> org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveType(AsmReferenceResolver.java:72)
>     at 
> org.codehaus.groovy.ast.decompiled.Annotations.annotationValueToExpression(Annotations.java:58)
>     at 
> org.codehaus.groovy.ast.decompiled.Annotations.createAnnotationNode(Annotations.java:51)
>    ...
> {noformat}
> I think the class org.codehaus.groovy.ast.decompiled.Annotations should also 
> ignore annotation nodes, if the values type is not resolvable. Like it is 
> done if the annotation type itself is not resolvable, see line 43-46.
> I have attached a simple sample to reproduce the issue.
>  1. Compile it with gradle build
>  2. Open the jar file annos/build/libs/annos.jar
>  3. Delete the classfile annos/ValueClass.class
>  4. Compile it with gradle :client:build
>  Now the exception is thrown.
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to