diff --git a/Antlr4.Runtime/Atn/ParserATNSimulator.cs b/Antlr4.Runtime/Atn/ParserATNSimulator.cs index fe8735f9e..892e51c47 100644 --- a/Antlr4.Runtime/Atn/ParserATNSimulator.cs +++ b/Antlr4.Runtime/Atn/ParserATNSimulator.cs @@ -328,7 +328,7 @@ namespace Antlr4.Runtime.Atn != null && !atn.decisionToState[decision].sll); if (outerContext == null) { - outerContext = ParserRuleContext.EmptyContext(); + outerContext = ParserRuleContext.EmptyContext; } SimulatorState state = null; if (!dfa.IsEmpty()) @@ -397,7 +397,7 @@ namespace Antlr4.Runtime.Atn { if (outerContext == null) { - outerContext = ParserRuleContext.EmptyContext(); + outerContext = ParserRuleContext.EmptyContext; } int alt = 0; int m = input.Mark(); diff --git a/Antlr4.Runtime/Atn/SimulatorState.cs b/Antlr4.Runtime/Atn/SimulatorState.cs index 70bbc011b..0880eff01 100644 --- a/Antlr4.Runtime/Atn/SimulatorState.cs +++ b/Antlr4.Runtime/Atn/SimulatorState.cs @@ -47,8 +47,7 @@ namespace Antlr4.Runtime.Atn public SimulatorState(ParserRuleContext outerContext, DFAState s0, bool useContext , ParserRuleContext remainingOuterContext) { - this.outerContext = outerContext != null ? outerContext : ParserRuleContext.EmptyContext - (); + this.outerContext = outerContext != null ? outerContext : ParserRuleContext.EmptyContext; this.s0 = s0; this.useContext = useContext; this.remainingOuterContext = remainingOuterContext; diff --git a/Antlr4.Runtime/ParserRuleContext.cs b/Antlr4.Runtime/ParserRuleContext.cs index 612fed87a..2a9106bdf 100644 --- a/Antlr4.Runtime/ParserRuleContext.cs +++ b/Antlr4.Runtime/ParserRuleContext.cs @@ -137,10 +137,13 @@ namespace Antlr4.Runtime { } - // public List states; - public static Antlr4.Runtime.ParserRuleContext EmptyContext() + public static Antlr4.Runtime.ParserRuleContext EmptyContext { - return Empty; + get + { + // public List states; + return Empty; + } } /// COPY a ctx (I'm deliberately not using copy constructor) @@ -368,14 +371,20 @@ namespace Antlr4.Runtime } } - public virtual IToken GetStart() + public virtual IToken Start { - return start; + get + { + return start; + } } - public virtual IToken GetStop() + public virtual IToken Stop { - return stop; + get + { + return stop; + } } /// Used for rule context info debugging during parse-time, not so much for ATN debugging diff --git a/Antlr4.Runtime/RuleContext.cs b/Antlr4.Runtime/RuleContext.cs index 8a44f57d4..1b67ee394 100644 --- a/Antlr4.Runtime/RuleContext.cs +++ b/Antlr4.Runtime/RuleContext.cs @@ -268,7 +268,7 @@ namespace Antlr4.Runtime public string ToString<_T0>(Recognizer<_T0> recog) { - return ToString(recog, ParserRuleContext.EmptyContext()); + return ToString(recog, ParserRuleContext.EmptyContext); } public string ToString(IList ruleNames) diff --git a/reference/antlr4 b/reference/antlr4 index 6743730f6..7cb2b4c68 160000 --- a/reference/antlr4 +++ b/reference/antlr4 @@ -1 +1 @@ -Subproject commit 6743730f698969a938bec3ec2c42c4728a97256c +Subproject commit 7cb2b4c6841ec131fadca8e294668113943b91a4