Browse Source

Fix: Parser.ParseStatementList bug

AnnulusGames 1 year ago
parent
commit
ff6d409931
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/Lua/CodeAnalysis/Syntax/Parser.cs

+ 3 - 2
src/Lua/CodeAnalysis/Syntax/Parser.cs

@@ -350,7 +350,7 @@ public ref struct Parser
         enumerator.SkipEoL();
 
         // skip 'do' keyword
-        CheckCurrentAndSkip(ref enumerator, SyntaxTokenType.Do, out _);
+        CheckCurrent(ref enumerator, SyntaxTokenType.Do);
 
         // parse statements
         var statements = ParseStatementList(ref enumerator, SyntaxTokenType.End);
@@ -361,7 +361,8 @@ public ref struct Parser
     RepeatStatementNode ParseRepeatStatement(ref SyntaxTokenEnumerator enumerator)
     {
         // skip 'repeat' keyword
-        CheckCurrentAndSkip(ref enumerator, SyntaxTokenType.Repeat, out var repeatToken);
+        CheckCurrent(ref enumerator, SyntaxTokenType.Repeat);
+        var repeatToken = enumerator.Current;
 
         // parse statements
         var statements = ParseStatementList(ref enumerator, SyntaxTokenType.Until);