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]
+}