| 1049 | } |
| 1050 | |
| 1051 | void LuaParser::LuaExpectedError(std::string_view message, LuaTokenKind expectedToken) { |
| 1052 | auto me = MarkEvent(MarkEventType::Error); |
| 1053 | me.U.Error.ErrorKind = LuaParserErrorKind::Expect; |
| 1054 | me.U.Error.TokenKind = expectedToken; |
| 1055 | _events.push_back(me); |
| 1056 | if (_tokenIndex < _tokens.size()) { |
| 1057 | _errors.emplace_back(message, _tokens[_tokenIndex].Range, expectedToken); |
| 1058 | } else if (!_tokens.empty()) { |
| 1059 | auto tokenIndex = _tokens.size() - 1; |
| 1060 | _errors.emplace_back(message, _tokens[tokenIndex].Range, expectedToken); |
| 1061 | } else { |
| 1062 | _errors.emplace_back(message, TextRange(0, 0), expectedToken); |
| 1063 | } |
| 1064 | } |
| 1065 | |
| 1066 | void LuaParser::NameDefList() { |
| 1067 | auto m = Mark(); |