protected internal virtual void ExitRule(IParseTreeListener listener, IRuleNode r) { ParserRuleContext ctx = (ParserRuleContext)r.RuleContext; ctx.ExitRule(listener); listener.ExitEveryRule(ctx); }
/// <summary>Notify any parse listeners of an exit rule event.</summary> /// <remarks>Notify any parse listeners of an exit rule event.</remarks> /// <seealso cref="AddParseListener(Antlr4.Runtime.Tree.IParseTreeListener)"/> protected internal virtual void TriggerExitRuleEvent() { // reverse order walk of listeners for (int i = _parseListeners.Count - 1; i >= 0; i--) { IParseTreeListener listener = _parseListeners[i]; _ctx.ExitRule(listener); listener.ExitEveryRule(_ctx); } }