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

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

commit 5dd3c4c690339871383af79bd3e51e68ed3138b8
Author: Eric Milles <[email protected]>
AuthorDate: Mon Jan 20 06:38:50 2020 -0600

    remove need for compiler config from parser creation
---
 .../groovy/control/CompilerConfiguration.java         |  2 +-
 .../codehaus/groovy/control/ParserPluginFactory.java  | 14 ++++++++------
 .../groovy/control/CompilerConfigurationTest.java     |  2 +-
 .../java/org/apache/groovy/parser/Antlr4Parser.java   |  3 ++-
 .../groovy/parser/antlr4/Antlr4ParserPlugin.java      | 19 ++++---------------
 .../groovy/parser/antlr4/Antlr4PluginFactory.java     | 14 +-------------
 .../org/apache/groovy/parser/antlr4/AstBuilder.java   |  6 ------
 .../org/apache/groovy/parser/antlr4/TestUtils.groovy  | 15 ++++++---------
 8 files changed, 23 insertions(+), 52 deletions(-)

diff --git 
a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java 
b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
index 39dd3f5..6c02a03 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
@@ -879,7 +879,7 @@ public class CompilerConfiguration {
 
     public ParserPluginFactory getPluginFactory() {
         if (pluginFactory == null) {
-            pluginFactory = ParserPluginFactory.antlr4(this);
+            pluginFactory = ParserPluginFactory.antlr4();
         }
         return pluginFactory;
     }
diff --git a/src/main/java/org/codehaus/groovy/control/ParserPluginFactory.java 
b/src/main/java/org/codehaus/groovy/control/ParserPluginFactory.java
index e874011..a4c6ccd 100644
--- a/src/main/java/org/codehaus/groovy/control/ParserPluginFactory.java
+++ b/src/main/java/org/codehaus/groovy/control/ParserPluginFactory.java
@@ -19,29 +19,31 @@
 package org.codehaus.groovy.control;
 
 import org.apache.groovy.parser.antlr4.Antlr4PluginFactory;
+import org.codehaus.groovy.antlr.AntlrParserPluginFactory;
 
 /**
  * A factory of parser plugin instances.
  */
 public abstract class ParserPluginFactory {
+
+    public abstract ParserPlugin createParserPlugin();
+
     /**
      * Creates the ANTLR 4 parser.
      *
      * @return the factory for the parser
      */
-    public static ParserPluginFactory antlr4(final CompilerConfiguration 
compilerConfiguration) {
-        return new Antlr4PluginFactory(compilerConfiguration);
+    public static ParserPluginFactory antlr4() {
+        return new Antlr4PluginFactory();
     }
 
     /**
      * Creates the ANTLR 2 parser.
      *
-     * @throws UnsupportedOperationException always
+     * @return the factory for the parser
      */
     @Deprecated
     public static ParserPluginFactory antlr2() {
-        throw new UnsupportedOperationException("The Antlr2-based parser is no 
longer supported");
+        return new AntlrParserPluginFactory();
     }
-
-    public abstract ParserPlugin createParserPlugin();
 }
diff --git 
a/src/test/org/codehaus/groovy/control/CompilerConfigurationTest.java 
b/src/test/org/codehaus/groovy/control/CompilerConfigurationTest.java
index bcea2a1..14e8671 100644
--- a/src/test/org/codehaus/groovy/control/CompilerConfigurationTest.java
+++ b/src/test/org/codehaus/groovy/control/CompilerConfigurationTest.java
@@ -113,7 +113,7 @@ public final class CompilerConfigurationTest {
         init.setTargetDirectory(tergetDirectory);
         init.setDefaultScriptExtension(".jpp");
         init.setJointCompilationOptions(Collections.singletonMap("somekey", 
"somevalue"));
-        ParserPluginFactory pluginFactory = ParserPluginFactory.antlr4(init);
+        ParserPluginFactory pluginFactory = ParserPluginFactory.antlr4();
         init.setPluginFactory(pluginFactory);
 
         assertEquals(WarningMessage.POSSIBLE_ERRORS, init.getWarningLevel());
diff --git 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/Antlr4Parser.java
 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/Antlr4Parser.java
index 7cb14fb..a9d380c 100644
--- 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/Antlr4Parser.java
+++ 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/Antlr4Parser.java
@@ -25,6 +25,7 @@ import org.codehaus.groovy.control.CompilerConfiguration;
  * The Antlr4 parser for creating a module node.
  */
 public class Antlr4Parser extends AbstractParser {
+
     private final CompilerConfiguration compilerConfiguration;
 
     public Antlr4Parser() {
@@ -33,7 +34,7 @@ public class Antlr4Parser extends AbstractParser {
 
     public Antlr4Parser(CompilerConfiguration compilerConfiguration) {
         this.compilerConfiguration = compilerConfiguration;
-        compilerConfiguration.setPluginFactory(new 
Antlr4PluginFactory(compilerConfiguration));
+        compilerConfiguration.setPluginFactory(new Antlr4PluginFactory());
     }
 
     @Override
diff --git 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/Antlr4ParserPlugin.java
 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/Antlr4ParserPlugin.java
index e8eff46..819165e 100644
--- 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/Antlr4ParserPlugin.java
+++ 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/Antlr4ParserPlugin.java
@@ -20,7 +20,6 @@ package org.apache.groovy.parser.antlr4;
 
 import org.codehaus.groovy.GroovyBugError;
 import org.codehaus.groovy.ast.ModuleNode;
-import org.codehaus.groovy.control.CompilerConfiguration;
 import org.codehaus.groovy.control.ParserPlugin;
 import org.codehaus.groovy.control.SourceUnit;
 import org.codehaus.groovy.control.io.StringReaderSource;
@@ -29,24 +28,12 @@ import org.codehaus.groovy.syntax.Reduction;
 
 import java.io.IOException;
 import java.io.Reader;
-import java.util.Optional;
 
 /**
  * A parser plugin for the new parser.
  */
 public class Antlr4ParserPlugin implements ParserPlugin {
 
-    private final CompilerConfiguration compilerConfiguration;
-
-    public Antlr4ParserPlugin() {
-        this.compilerConfiguration = null;
-    }
-
-    @Deprecated
-    public Antlr4ParserPlugin(final CompilerConfiguration 
compilerConfiguration) {
-        this.compilerConfiguration = compilerConfiguration;
-    }
-
     @Override
     public Reduction parseCST(final SourceUnit sourceUnit, final Reader 
reader) {
         if (!sourceUnit.getSource().canReopenSource()) {
@@ -64,8 +51,10 @@ public class Antlr4ParserPlugin implements ParserPlugin {
 
     @Override
     public ModuleNode buildAST(final SourceUnit sourceUnit, final ClassLoader 
classLoader, final Reduction cst) {
-        CompilerConfiguration compilerConfiguration = 
Optional.ofNullable(this.compilerConfiguration).orElseGet(sourceUnit::getConfiguration);
-        AstBuilder builder = new AstBuilder(sourceUnit, 
compilerConfiguration.isGroovydocEnabled(), 
compilerConfiguration.isRuntimeGroovydocEnabled());
+        AstBuilder builder = new AstBuilder(sourceUnit,
+                sourceUnit.getConfiguration().isGroovydocEnabled(),
+                sourceUnit.getConfiguration().isRuntimeGroovydocEnabled()
+        );
         return builder.buildAST();
     }
 }
diff --git 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/Antlr4PluginFactory.java
 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/Antlr4PluginFactory.java
index ee433ca..48e166e 100644
--- 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/Antlr4PluginFactory.java
+++ 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/Antlr4PluginFactory.java
@@ -18,7 +18,6 @@
  */
 package org.apache.groovy.parser.antlr4;
 
-import org.codehaus.groovy.control.CompilerConfiguration;
 import org.codehaus.groovy.control.ParserPlugin;
 import org.codehaus.groovy.control.ParserPluginFactory;
 
@@ -27,19 +26,8 @@ import org.codehaus.groovy.control.ParserPluginFactory;
  */
 public class Antlr4PluginFactory extends ParserPluginFactory {
 
-    private final CompilerConfiguration compilerConfiguration;
-
-    public Antlr4PluginFactory() {
-        this.compilerConfiguration = null;
-    }
-
-    @Deprecated
-    public Antlr4PluginFactory(final CompilerConfiguration 
compilerConfiguration) {
-        this.compilerConfiguration = compilerConfiguration;
-    }
-
     @Override
     public ParserPlugin createParserPlugin() {
-        return new Antlr4ParserPlugin(compilerConfiguration);
+        return new Antlr4ParserPlugin();
     }
 }
diff --git 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
index 99df11c..1d4a01b 100644
--- 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
+++ 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
@@ -281,7 +281,6 @@ import org.codehaus.groovy.ast.stmt.TryCatchStatement;
 import org.codehaus.groovy.ast.stmt.WhileStatement;
 import org.codehaus.groovy.control.CompilationFailedException;
 import org.codehaus.groovy.control.CompilePhase;
-import org.codehaus.groovy.control.CompilerConfiguration;
 import org.codehaus.groovy.control.SourceUnit;
 import org.codehaus.groovy.control.messages.SyntaxErrorMessage;
 import org.codehaus.groovy.runtime.DefaultGroovyMethods;
@@ -338,11 +337,6 @@ import static 
org.codehaus.groovy.runtime.DefaultGroovyMethods.last;
  */
 public class AstBuilder extends GroovyParserBaseVisitor<Object> {
 
-    @Deprecated
-    public AstBuilder(final SourceUnit sourceUnit, final CompilerConfiguration 
compilerConfiguration) {
-        this(sourceUnit, compilerConfiguration.isGroovydocEnabled(), 
compilerConfiguration.isRuntimeGroovydocEnabled());
-    }
-
     public AstBuilder(final SourceUnit sourceUnit, final boolean 
groovydocEnabled, final boolean runtimeGroovydocEnabled) {
         this.sourceUnit = sourceUnit;
         this.moduleNode = new ModuleNode(sourceUnit);
diff --git 
a/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/TestUtils.groovy
 
b/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/TestUtils.groovy
index 655080d..7a77b19 100644
--- 
a/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/TestUtils.groovy
+++ 
b/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/TestUtils.groovy
@@ -281,17 +281,14 @@ class TestUtils {
     }
 
     static GroovyShell createAntlr4Shell(CompilerConfiguration 
compilerConfiguration = new 
CompilerConfiguration(CompilerConfiguration.DEFAULT)) {
-        compilerConfiguration.pluginFactory = new 
Antlr4PluginFactory(compilerConfiguration)
-
-        return new GroovyShell(compilerConfiguration);
+        compilerConfiguration.pluginFactory = new Antlr4PluginFactory()
+        return new GroovyShell(compilerConfiguration)
     }
 
-    static GroovyShell createAntlr2Shell() {
-        CompilerConfiguration configuration = new 
CompilerConfiguration(CompilerConfiguration.DEFAULT)
-        configuration.pluginFactory = new AntlrParserPluginFactory()
-
-        return new GroovyShell(configuration);
+    static GroovyShell createAntlr2Shell(CompilerConfiguration 
compilerConfiguration = new 
CompilerConfiguration(CompilerConfiguration.DEFAULT)) {
+        compilerConfiguration.pluginFactory = new AntlrParserPluginFactory()
+        return new GroovyShell(compilerConfiguration)
     }
 
-    public static final List COMMON_IGNORE_CLASS_LIST = 
Collections.unmodifiableList([AssertStatement, BreakStatement, ConstructorNode, 
ContinueStatement, ExpressionStatement, FieldNode, ForStatement, GenericsType, 
IfStatement, MethodNode, PackageNode, Parameter, PropertyNode, ReturnStatement, 
ThrowStatement, Token, WhileStatement] as List);
+    public static final List COMMON_IGNORE_CLASS_LIST = 
Collections.unmodifiableList([AssertStatement, BreakStatement, ConstructorNode, 
ContinueStatement, ExpressionStatement, FieldNode, ForStatement, GenericsType, 
IfStatement, MethodNode, PackageNode, Parameter, PropertyNode, ReturnStatement, 
ThrowStatement, Token, WhileStatement])
 }

Reply via email to