You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2017/08/08 16:06:13 UTC

groovy git commit: Support empty statement as the first statement in a block

Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X e4babf9d2 -> 8a5072f6f


Support empty statement as the first statement in a block


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/8a5072f6
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/8a5072f6
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/8a5072f6

Branch: refs/heads/GROOVY_2_6_X
Commit: 8a5072f6fbf3f30d7cb852890b751f99a5540452
Parents: e4babf9
Author: sunlan <su...@apache.org>
Authored: Wed Aug 9 00:05:55 2017 +0800
Committer: sunlan <su...@apache.org>
Committed: Wed Aug 9 00:05:55 2017 +0800

----------------------------------------------------------------------
 src/main/antlr/GroovyParser.g4                  | 37 ++------------------
 .../src/test/resources/core/IfElse_01.groovy    |  3 ++
 2 files changed, 5 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/8a5072f6/src/main/antlr/GroovyParser.g4
----------------------------------------------------------------------
diff --git a/src/main/antlr/GroovyParser.g4 b/src/main/antlr/GroovyParser.g4
index c53a28b..362706e 100644
--- a/src/main/antlr/GroovyParser.g4
+++ b/src/main/antlr/GroovyParser.g4
@@ -41,17 +41,14 @@ options {
 
 @header {
     import java.util.Map;
-    import org.codehaus.groovy.util.ListHashMap;
     import org.codehaus.groovy.ast.NodeMetaDataHandler;
-    import org.codehaus.groovy.ast.NodeMetaDataHandlerHelper;
     import org.apache.groovy.parser.antlr4.SemanticPredicates;
 }
 
 @members {
 
     public static class GroovyParserRuleContext extends ParserRuleContext implements NodeMetaDataHandler {
-        private Map<?, ?> metaDataMap = null;
-        private NodeMetaDataHandlerHelper helper = new NodeMetaDataHandlerHelper(this);
+        private Map metaDataMap = null;
 
         public GroovyParserRuleContext() {}
 
@@ -60,36 +57,6 @@ options {
         }
 
         @Override
-        public <T> T getNodeMetaData(Object key) {
-            return helper.getNodeMetaData(key);
-        }
-
-        @Override
-        public void copyNodeMetaData(NodeMetaDataHandler other) {
-            helper.copyNodeMetaData(other);
-        }
-
-        @Override
-        public void setNodeMetaData(Object key, Object value) {
-            helper.setNodeMetaData(key, value);
-        }
-
-        @Override
-        public Object putNodeMetaData(Object key, Object value) {
-            return helper.putNodeMetaData(key, value);
-        }
-
-        @Override
-        public void removeNodeMetaData(Object key) {
-            helper.removeNodeMetaData(key);
-        }
-
-        @Override
-        public Map<?, ?> getNodeMetaData() {
-            return helper.getNodeMetaData();
-        }
-
-        @Override
         public Map<?, ?> getMetaDataMap() {
             return this.metaDataMap;
         }
@@ -595,7 +562,7 @@ elementValueArrayInitializer
 // STATEMENTS / BLOCKS
 
 block
-    :   LBRACE nls blockStatementsOpt RBRACE
+    :   LBRACE (nls | sep+) blockStatementsOpt RBRACE
     ;
 
 blockStatement

http://git-wip-us.apache.org/repos/asf/groovy/blob/8a5072f6/subprojects/parser-antlr4/src/test/resources/core/IfElse_01.groovy
----------------------------------------------------------------------
diff --git a/subprojects/parser-antlr4/src/test/resources/core/IfElse_01.groovy b/subprojects/parser-antlr4/src/test/resources/core/IfElse_01.groovy
index 94687b8..168cb0a 100644
--- a/subprojects/parser-antlr4/src/test/resources/core/IfElse_01.groovy
+++ b/subprojects/parser-antlr4/src/test/resources/core/IfElse_01.groovy
@@ -60,3 +60,6 @@ if(true)
     1;
 else
     0;
+
+if (false) { ;out<<_s[_i]
+}