diff --git a/runtime/Java/src/org/antlr/v4/runtime/Parser.java b/runtime/Java/src/org/antlr/v4/runtime/Parser.java index ab0a55280..2bc1eb49d 100644 --- a/runtime/Java/src/org/antlr/v4/runtime/Parser.java +++ b/runtime/Java/src/org/antlr/v4/runtime/Parser.java @@ -632,7 +632,7 @@ public abstract class Parser extends Recognizer { public void exitRule() { _ctx.stop = _input.LT(-1); // trigger event on _ctx, before it reverts to parent - if ( _parseListeners != null) triggerExitRuleEvent(); + if ( _parseListeners != null ) triggerExitRuleEvent(); setState(_ctx.invokingState); _ctx = (ParserRuleContext)_ctx.parent; } @@ -648,6 +648,9 @@ public abstract class Parser extends Recognizer { } } _ctx = localctx; + if ( _parseListeners != null ) { + triggerEnterRuleEvent(); + } } /**