You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2019/11/20 20:38:52 UTC

[groovy] branch master updated: remove outer class

This is an automated email from the ASF dual-hosted git repository.

emilles pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


View the commit online:
https://github.com/apache/groovy/commit/b668bac0f481dac82bb935cbe1110f2fc9645067

The following commit(s) were added to refs/heads/master by this push:
     new b668bac  remove outer class
b668bac is described below

commit b668bac0f481dac82bb935cbe1110f2fc9645067
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Wed Nov 20 14:38:48 2019 -0600

    remove outer class
---
 .../MarkupTemplateTypeCheckingExtension.groovy     | 26 ++++++++--------------
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateTypeCheckingExtension.groovy b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateTypeCheckingExtension.groovy
index e52958c..ad3ad3b 100644
--- a/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateTypeCheckingExtension.groovy
+++ b/subprojects/groovy-templates/src/main/groovy/groovy/text/markup/MarkupTemplateTypeCheckingExtension.groovy
@@ -41,7 +41,6 @@ import org.codehaus.groovy.ast.stmt.ExpressionStatement
 import org.codehaus.groovy.control.ParserPlugin
 import org.codehaus.groovy.control.ResolveVisitor
 import org.codehaus.groovy.control.SourceUnit
-import org.codehaus.groovy.control.messages.SyntaxErrorMessage
 import org.codehaus.groovy.syntax.SyntaxException
 import org.codehaus.groovy.syntax.Types
 import org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport
@@ -174,30 +173,23 @@ class MarkupTemplateTypeCheckingExtension extends GroovyTypeCheckingExtensionSup
 
     @CompileStatic
     private static ClassNode buildNodeFromString(String option, TypeCheckingContext ctx) {
-        def moduleNode = ParserPlugin.buildAST("Dummy<$option> dummy;", ctx.compilationUnit.configuration, ctx.compilationUnit.classLoader, ctx.errorCollector)
-        ClassNode parsedNode = ((DeclarationExpression) ((ExpressionStatement) moduleNode.statementBlock.statements[0]).expression).leftExpression.type
-        ClassNode dummyClass = new ClassNode("dummy", 0, OBJECT_TYPE)
-        dummyClass.setModule(new ModuleNode(ctx.source))
-        MethodNode dummyMN = new MethodNode(
-                "dummy",
-                0,
-                parsedNode,
-                Parameter.EMPTY_ARRAY,
-                ClassNode.EMPTY_ARRAY,
-                EmptyStatement.INSTANCE
-        )
-        dummyClass.addMethod(dummyMN)
+        ModuleNode moduleNode = ParserPlugin.buildAST("$option dummy;", ctx.compilationUnit.configuration, ctx.compilationUnit.classLoader, ctx.errorCollector)
+        ClassNode optionNode = ((DeclarationExpression) ((ExpressionStatement) moduleNode.statementBlock.statements[0]).expression).leftExpression.type
+        ClassNode dummyClass = new ClassNode('dummy', 0, OBJECT_TYPE)
+        dummyClass.module = new ModuleNode(ctx.source)
+        MethodNode dummyMethod = new MethodNode('dummy', 0, optionNode, Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, EmptyStatement.INSTANCE)
+        dummyClass.addMethod(dummyMethod)
         ResolveVisitor visitor = new ResolveVisitor(ctx.compilationUnit) {
             @Override
             void addError(final String msg, final ASTNode expr) {
-                ctx.errorCollector.addErrorAndContinue(new SyntaxErrorMessage(
+                ctx.errorCollector.addErrorAndContinue(
                         new SyntaxException(msg + '\n', expr.lineNumber, expr.columnNumber, expr.lastLineNumber, expr.lastColumnNumber),
-                        ctx.source)
+                        ctx.source
                 )
             }
         }
         visitor.startResolving(dummyClass, ctx.source)
-        return dummyMN.returnType
+        return dummyMethod.returnType
     }
 
     private static class BuilderMethodReplacer extends ClassCodeExpressionTransformer {