You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Anton Pryamostanov (JIRA)" <ji...@apache.org> on 2018/10/09 11:10:00 UTC

[jira] [Created] (GROOVY-8835) AstNodeToScriptVisitor - no token needed for EmptyStatement initialization

Anton Pryamostanov created GROOVY-8835:
------------------------------------------

             Summary: AstNodeToScriptVisitor - no token needed for EmptyStatement initialization
                 Key: GROOVY-8835
                 URL: https://issues.apache.org/jira/browse/GROOVY-8835
             Project: Groovy
          Issue Type: Bug
          Components: Groovy Console, Swing
    Affects Versions: 2.5.2
            Reporter: Anton Pryamostanov


Consider the following example:
{code:java}
package groovy

import groovy.inspect.swingui.AstNodeToScriptVisitor
import org.codehaus.groovy.ast.expr.EmptyExpression
import org.codehaus.groovy.ast.tools.GeneralUtils

class SandBox {

    static void main(String[] args) {
        new SandBox().someMethod()
    }

    void someMethod() {
        StringWriter stringWriter = new StringWriter()
        GeneralUtils.declS(GeneralUtils.varX("someVariableName"), new EmptyExpression()).visit(new AstNodeToScriptVisitor(stringWriter))
        System.out.println("Output: "+stringWriter.getBuffer().toString().replace("\$", ""))
    }

}
{code}

Actual result:
{code}
Output: java.lang.Object someVariableName = 
{code}

Expected result:
{code}
Output: java.lang.Object someVariableName
{code}

When DeclarationExpression (or possibly other BinaryExpression) is initialized with EmptyExpression as "right" expression, *AstNodeToScriptVisitor* should not output the token ("=" in this example), as there is no corresponding expression printed after the token.



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