You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Leonard Brünings (JIRA)" <ji...@apache.org> on 2018/09/26 18:51:01 UTC
[jira] [Created] (GROOVY-8814) AnnotationCollector not removed
during stub generation
Leonard Brünings created GROOVY-8814:
----------------------------------------
Summary: AnnotationCollector not removed during stub generation
Key: GROOVY-8814
URL: https://issues.apache.org/jira/browse/GROOVY-8814
Project: Groovy
Issue Type: Bug
Components: Stub generator / Joint compiler
Affects Versions: 2.5.2, 2.4.15
Reporter: Leonard Brünings
Attachments: groovy-stubs-annotation.zip
The Groovy Stubs generator leaves the AnnotationCollectors in the generator stubs sources instead of replacing them with the collected annotations, which in turn causes javac to fail, since they are not valid annotations. (Related to GROOVY-7056)
{{[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project example: Compilation failure}}
{{[ERROR] /C:/dev/github/groovy-stubs-annotation/target/generated-sources/groovy-stubs/main/org/example/Service.java:[19,18] incompatible types: groovy.transform.CompileDynamic cannot be converted to java.lang.annotation.Annotation}}
{code:title=Groovy Source}
@CompileStatic
class Service {
@CompileDynamic
List<String> dynamic() {
[]
}
}
{code}
gets transformed into
{code:java|title=Generated Stub}
@groovy.transform.CompileStatic() public class Service
extends java.lang.Object implements
groovy.lang.GroovyObject {
@groovy.transform.CompileDynamic() public java.util.List<java.lang.String> dynamic() { return (java.util.List<java.lang.String>)null;}
}
{code}
See attached Project to reproduce
For groovy 2.4.15: {{./mvnw clean install}}
For groovy 2.5.2: {{./mvnw clean install -Pgroovy-2.5}}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)