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

Eric Milles edited comment on GROOVY-10771 at 9/27/22 10:07 PM:
----------------------------------------------------------------

Current script imports are as follows (from 
{{GroovyTypeCheckingExtensionSupport}}):
{code:java}
    public void setup() {
        CompilerConfiguration config = new CompilerConfiguration();
config.setScriptBaseClass("org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport.TypeCheckingDSL");
        ImportCustomizer ic = new ImportCustomizer();
        ic.addStarImports("org.codehaus.groovy.ast.expr");
        ic.addStaticStars("org.codehaus.groovy.ast.ClassHelper");
        
ic.addStaticStars("org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport");
        config.addCompilationCustomizers(ic);
{code}

so you get:
{code:groovy}
import java.lang.*
import java.util.*
import java.io.*
import java.net.*
import groovy.lang.*
import groovy.util.*
import java.math.BigDecimal
import java.math.BigInteger
import org.codehaus.groovy.ast.expr.*
import static org.codehaus.groovy.ast.ClassHelper.*
import static org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport.*

@groovy.transform.BaseScript(org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport.TypeCheckingDSL)
// ...
{code}


was (Author: emilles):
Current script imports are as follows (from 
{{GroovyTypeCheckingExtensionSupport}}):
{code:java}
    public void setup() {
        CompilerConfiguration config = new CompilerConfiguration();
config.setScriptBaseClass("org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport.TypeCheckingDSL");
        ImportCustomizer ic = new ImportCustomizer();
        ic.addStarImports("org.codehaus.groovy.ast.expr");
        ic.addStaticStars("org.codehaus.groovy.ast.ClassHelper");
        
ic.addStaticStars("org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport");
        config.addCompilationCustomizers(ic);
{code}

so you get:
{code:groovy}
import org.codehaus.groovy.ast.expr.*
import static org.codehaus.groovy.ast.ClassHelper.*
import static org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport.*

@groovy.transform.BaseScript(org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport.TypeCheckingDSL)
// ...
{code}

> Type-checking extension scripts should import AST classes
> ---------------------------------------------------------
>
>                 Key: GROOVY-10771
>                 URL: https://issues.apache.org/jira/browse/GROOVY-10771
>             Project: Groovy
>          Issue Type: Improvement
>          Components: Static Type Checker
>    Affects Versions: 4.0.5
>            Reporter: Christopher Smith
>            Assignee: Eric Milles
>            Priority: Minor
>
> Scripts used as type-checking extensions have some imports applied 
> automatically, but these imports do not include, for example, {{ClassNode}}, 
> which is the type of some of the callback signatures to be implemented. It 
> seems to me that the automatic imports should include
> {code}
> org.codehaus.groovy.ast.*
> org.codehaus.groovy.ast.expr.*
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to