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) ::= "