groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Milles (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GROOVY-7764) Joint compilation does not work with AST-transformed Groovy
Date Sun, 17 Sep 2017 13:50:01 GMT

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

Eric Milles commented on GROOVY-7764:
-------------------------------------

I'm guessing that the Java stub is created for a Groovy source just after Conversion.  Is
it possible to bump this up to Semantic Analysis or Canonicalization?  At least then some
of the basic transforms would have been applied.  Or would this be creating the reverse dependency
on the Java sources as you just described?


> Joint compilation does not work with AST-transformed Groovy
> -----------------------------------------------------------
>
>                 Key: GROOVY-7764
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7764
>             Project: Groovy
>          Issue Type: Bug
>          Components: Stub generator / Joint compiler
>    Affects Versions: 2.4.6
>            Reporter: O. Rei├čig
>         Attachments: foo.zip
>
>
> When using AST transformations together with joint compilation the generated stubs don't
mind the transformations, which may yield invalid classes, that javac will fail to compile.
> Example:
> {code}
> [...]
> class GroovyTest implements Callable {
>     @Delegate
>     private final Callable c = { println "Hello World" }
> }
> {code}
> will get compiled into the following stub:
> {code}
> [...]
> public class GroovyTest
>   extends java.lang.Object  implements
>     java.util.concurrent.Callable,    groovy.lang.GroovyObject {
> ;
> public  groovy.lang.MetaClass getMetaClass() { return (groovy.lang.MetaClass)null;}
> public  void setMetaClass(groovy.lang.MetaClass mc) { }
> public  java.lang.Object invokeMethod(java.lang.String method, java.lang.Object arguments)
{ return null;}
> public  java.lang.Object getProperty(java.lang.String property) { return null;}
> public  void setProperty(java.lang.String property, java.lang.Object value) { }
> }
> {code}
> which claims to implement {{Callable}}, but lacks a {{call}} method.
> I don't know if this is specific to {{@Delegate}}, but noticed similar behaviour with
{{@InheritConstructors}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message