groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GROOVY-7509) Problem With Stub Generator And Static Import Aliases
Date Fri, 31 Jul 2015 15:57:05 GMT

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

ASF GitHub Bot commented on GROOVY-7509:
----------------------------------------

Github user keeganwitt commented on a diff in the pull request:

    https://github.com/apache/incubator-groovy/pull/76#discussion_r35987069
  
    --- Diff: src/main/org/codehaus/groovy/tools/javac/JavaStubGenerator.java ---
    @@ -925,7 +931,8 @@ private void printImports(PrintWriter out, ClassNode classNode) {
             imports.addAll(Arrays.asList(ResolveVisitor.DEFAULT_IMPORTS));
     
             for (Map.Entry<String, ImportNode> entry : moduleNode.getStaticImports().entrySet())
{
    -            imports.add("static "+entry.getValue().getType().getName()+"."+entry.getKey());
    +            if (entry.getKey().equals(entry.getValue().getFieldName()))
    --- End diff --
    
    I'm rethinking my comment now.  I thought it'd be better to include the non-aliased name,
but that could cause a problem if it was aliased to work around a name conflict.  I'm thinking
now what you did is the right thing.


> Problem With Stub Generator And Static Import Aliases
> -----------------------------------------------------
>
>                 Key: GROOVY-7509
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7509
>             Project: Groovy
>          Issue Type: Bug
>          Components: Stub generator / Joint compiler
>    Affects Versions: 2.4.4
>            Reporter: Jeff Scott Brown
>              Labels: regression
>         Attachments: staticimportalias.zip
>
>
> The attached staticimportalias.zip contains the following:
> {code:borderStyle=solid|title=src/main/groovy/demo/helper/SomeHelper.java}
> package demo.helper;
> public class SomeHelper {
>     public static final int ANSWER = 42;
> }
> {code}
> {code:borderStyle=solid|title=src/main/groovy/demo/SomeClass.groovy}
> package demo
> import static demo.helper.SomeHelper.ANSWER as MAGIC_NUMBER
> class SomeClass {
>     static int getMagicNumber() {
>         MAGIC_NUMBER
>     }
> }
> {code}
> {code:borderStyle=solid|title=src/main/groovy/demo/SomeJavaClass.java}
> package demo;
> public class SomeJavaClass {
>     SomeClass sc;
> }
> {code}
> The code will not compile with Groovy 2.4.4:
> {noformat}
> $ ./gradlew clean cG
> :clean
> :compileJava UP-TO-DATE
> :compileGroovy
> /Users/jeff/staticimportalias/build/tmp/groovy-java-stubs/demo/SomeClass.java:9: error:
cannot find symbol
> import static demo.helper.SomeHelper.MAGIC_NUMBER;
> ^
>   symbol:   static MAGIC_NUMBER
>   location: class
> 1 error
> startup failed:
> Compilation failed; see the compiler error output for details.
> 1 error
> :compileGroovy FAILED
> FAILURE: Build failed with an exception.
> * What went wrong:
> Execution failed for task ':compileGroovy'.
> > Compilation failed; see the compiler error output for details.
> * Try:
> Run with --stacktrace option to get the stack trace. Run with --info or --debug option
to get more log output.
> BUILD FAILED
> Total time: 4.467 secs
> {noformat}
> If I edit the top level build.gradle to use Groovy 2.4.3, the code compiles.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message