Repository: groovy Updated Branches: refs/heads/master 7a2cdd26b -> a23c80911
Minor refactoring Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/a23c8091 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/a23c8091 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/a23c8091 Branch: refs/heads/master Commit: a23c80911ff8db061048261a65796d28185c35f4 Parents: 7a2cdd2 Author: sunlan <[email protected]> Authored: Sat Sep 9 12:43:27 2017 +0800 Committer: sunlan <[email protected]> Committed: Sat Sep 9 12:43:27 2017 +0800 ---------------------------------------------------------------------- .../org/apache/groovy/parser/antlr4/AstBuilder.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/a23c8091/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java ---------------------------------------------------------------------- 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 521d7aa..26868ed 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 @@ -4213,9 +4213,7 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov astNode.setLineNumber(start.getLine()); astNode.setColumnNumber(start.getCharPositionInLine() + 1); - Pair<Integer, Integer> stopTokenEndPosition = endPosition(stop); - astNode.setLastLineNumber(stopTokenEndPosition.getKey()); - astNode.setLastColumnNumber(stopTokenEndPosition.getValue()); + configureEndPosition(astNode, stop); return astNode; } @@ -4268,14 +4266,18 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> implements Groov astNode.setLastLineNumber(stop.getLastLineNumber()); astNode.setLastColumnNumber(stop.getLastColumnNumber()); } else { - Pair<Integer, Integer> endPosition = endPosition(start); - astNode.setLastLineNumber(endPosition.getKey()); - astNode.setLastColumnNumber(endPosition.getValue()); + configureEndPosition(astNode, start); } return astNode; } + private <T extends ASTNode> void configureEndPosition(T astNode, Token token) { + Pair<Integer, Integer> endPosition = endPosition(token); + astNode.setLastLineNumber(endPosition.getKey()); + astNode.setLastColumnNumber(endPosition.getValue()); + } + private <T extends ASTNode> T configureAST(T astNode, ASTNode start, ASTNode stop) { astNode.setLineNumber(start.getLineNumber()); astNode.setColumnNumber(start.getColumnNumber());
