From baf62685ab1ade1bec904b53c5195ace9e30ded3 Mon Sep 17 00:00:00 2001 From: Terence Parr Date: Thu, 16 Feb 2012 10:27:56 -0800 Subject: [PATCH] snapshot --- .../antlr/v4/runtime/ParserRuleContext.java | 2 +- tool/playground/AVisitor.java | 1 - tool/playground/TestVisitor.java | 4 ++-- .../v4/tool/templates/codegen/Java/Java.stg | 20 ++++++++++++------- .../codegen/model/ListenerDispatchMethod.java | 20 +++++++++++++++++++ .../v4/codegen/model/decl/StructDecl.java | 10 +++++----- 6 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 tool/src/org/antlr/v4/codegen/model/ListenerDispatchMethod.java diff --git a/runtime/Java/src/org/antlr/v4/runtime/ParserRuleContext.java b/runtime/Java/src/org/antlr/v4/runtime/ParserRuleContext.java index ec112740e..531956ede 100644 --- a/runtime/Java/src/org/antlr/v4/runtime/ParserRuleContext.java +++ b/runtime/Java/src/org/antlr/v4/runtime/ParserRuleContext.java @@ -136,7 +136,7 @@ public class ParserRuleContext extends RuleContext { public void enterRule(ParseTreeListener listener) { } public void exitRule(ParseTreeListener listener) { } - public > T dispatch(V visitor) { visitor.visitChildren(this); return null; } + public T dispatch(ParseTreeVisitor visitor) { visitor.visitChildren(this); return null; } /** Does not set parent link; other add methods do */ public void addChild(TerminalNode t) { diff --git a/tool/playground/AVisitor.java b/tool/playground/AVisitor.java index 5f0af723d..358bc5a0f 100644 --- a/tool/playground/AVisitor.java +++ b/tool/playground/AVisitor.java @@ -7,5 +7,4 @@ public interface AVisitor { T visit(AParser.sContext ctx); T visit(AParser.AddContext ctx); T visit(AParser.IntContext ctx); -// T visit(Token t); } diff --git a/tool/playground/TestVisitor.java b/tool/playground/TestVisitor.java index 31fbabfd8..8d39973de 100644 --- a/tool/playground/TestVisitor.java +++ b/tool/playground/TestVisitor.java @@ -48,7 +48,8 @@ public class TestVisitor { @Override public Integer visit(AParser.MultContext ctx) { - return ctx.e(0).dispatch(this) * ctx.e(1).dispatch(this); +// return ctx.e(0).dispatch(this) * ctx.e(1).dispatch(this); + return visit(ctx.e(0)) * visit(ctx.e(1)); } @Override @@ -76,4 +77,3 @@ public class TestVisitor { System.out.println("result from tree walk = " + result); } } - diff --git a/tool/resources/org/antlr/v4/tool/templates/codegen/Java/Java.stg b/tool/resources/org/antlr/v4/tool/templates/codegen/Java/Java.stg index c7719732a..32fa834b3 100644 --- a/tool/resources/org/antlr/v4/tool/templates/codegen/Java/Java.stg +++ b/tool/resources/org/antlr/v4/tool/templates/codegen/Java/Java.stg @@ -533,7 +533,7 @@ ListLabelName(label) ::= "