diff --git a/Antlr4.Runtime/Lexer.cs b/Antlr4.Runtime/Lexer.cs index 836c3ade3..5edcabc7a 100644 --- a/Antlr4.Runtime/Lexer.cs +++ b/Antlr4.Runtime/Lexer.cs @@ -109,7 +109,7 @@ namespace Antlr4.Runtime /// <summary>The token type for the current token</summary> public int _type; - public readonly IntegerStack _modeStack = new IntegerStack(); + public readonly List<int> _modeStack = new List<int>(); public int _mode = Antlr4.Runtime.Lexer.DefaultMode; @@ -260,7 +260,7 @@ outer_break: ; public virtual void PushMode(int m) { - _modeStack.Push(_mode); + _modeStack.Add(_mode); Mode(m); } diff --git a/Antlr4.Runtime/Parser.cs b/Antlr4.Runtime/Parser.cs index b8da1911e..b8218010f 100644 --- a/Antlr4.Runtime/Parser.cs +++ b/Antlr4.Runtime/Parser.cs @@ -108,7 +108,7 @@ namespace Antlr4.Runtime protected internal ITokenStream _input; - protected internal readonly IntegerStack _precedenceStack; + protected internal readonly List<int> _precedenceStack; /// <summary>The RuleContext object for the currently executing rule.</summary> /// <remarks> @@ -146,8 +146,8 @@ namespace Antlr4.Runtime public Parser(ITokenStream input) { { - _precedenceStack = new IntegerStack(); - _precedenceStack.Push(0); + _precedenceStack = new List<int>(); + _precedenceStack.Add(0); } SetInputStream(input); } @@ -164,7 +164,7 @@ namespace Antlr4.Runtime _syntaxErrors = 0; _tracer = null; _precedenceStack.Clear(); - _precedenceStack.Push(0); + _precedenceStack.Add(0); ATNSimulator interpreter = Interpreter; if (interpreter != null) { @@ -630,7 +630,7 @@ namespace Antlr4.Runtime public virtual void EnterRecursionRule(ParserRuleContext localctx, int ruleIndex, int precedence) { - _precedenceStack.Push(precedence); + _precedenceStack.Add(precedence); _ctx = localctx; _ctx.start = _input.Lt(1); if (_parseListeners != null) diff --git a/reference/sharpen-all-options.txt b/reference/sharpen-all-options.txt index bfa4510b7..ce588e8c4 100644 --- a/reference/sharpen-all-options.txt +++ b/reference/sharpen-all-options.txt @@ -197,6 +197,8 @@ -propertyMapping org.antlr.v4.runtime.misc.Tuple3.getItem3 Item3 -typeMapping org.antlr.v4.runtime.misc.IntegerList System.Collections.Generic.List<int> +-typeMapping org.antlr.v4.runtime.misc.IntegerStack System.Collections.Generic.List<int> +-methodMapping org.antlr.v4.runtime.misc.IntegerStack.push Add -typeMapping org.antlr.v4.runtime.ANTLRErrorListener<> IAntlrErrorListener -typeMapping org.antlr.v4.runtime.ANTLRErrorStrategy IAntlrErrorStrategy