diff --git a/src/MoonSharp.Interpreter/Tree/Lexer/Token.cs b/src/MoonSharp.Interpreter/Tree/Lexer/Token.cs index 37af5bea..ed2eab26 100644 --- a/src/MoonSharp.Interpreter/Tree/Lexer/Token.cs +++ b/src/MoonSharp.Interpreter/Tree/Lexer/Token.cs @@ -48,57 +48,37 @@ public override string ToString() return TokenType.In; case "continue": return TokenType.Continue; + case "null": + return TokenType.Nil; } } - switch (reservedWord) + + return reservedWord switch { - case "and": - return TokenType.And; - case "break": - return TokenType.Break; - case "do": - return TokenType.Do; - case "else": - return TokenType.Else; - case "elseif": - return TokenType.ElseIf; - case "end": - return TokenType.End; - case "false": - return TokenType.False; - case "for": - return TokenType.For; - case "function": - return TokenType.Function; - case "goto": - return TokenType.Goto; - case "if": - return TokenType.If; - case "in": - return TokenType.In; - case "local": - return TokenType.Local; - case "nil": - return TokenType.Nil; - case "not": - return TokenType.Not; - case "or": - return TokenType.Or; - case "repeat": - return TokenType.Repeat; - case "return": - return TokenType.Return; - case "then": - return TokenType.Then; - case "true": - return TokenType.True; - case "until": - return TokenType.Until; - case "while": - return TokenType.While; - default: - return null; - } + "and" => TokenType.And, + "break" => TokenType.Break, + "do" => TokenType.Do, + "else" => TokenType.Else, + "elseif" => TokenType.ElseIf, + "end" => TokenType.End, + "false" => TokenType.False, + "for" => TokenType.For, + "function" => TokenType.Function, + "goto" => TokenType.Goto, + "if" => TokenType.If, + "in" => TokenType.In, + "local" => TokenType.Local, + "nil" => TokenType.Nil, + "not" => TokenType.Not, + "or" => TokenType.Or, + "repeat" => TokenType.Repeat, + "return" => TokenType.Return, + "then" => TokenType.Then, + "true" => TokenType.True, + "until" => TokenType.Until, + "while" => TokenType.While, + _ => null + }; } public double GetNumberValue() diff --git a/src/MoonSharp.Tests/EndToEnd/CLike/SyntaxCLike/Aliases/1-null.lua b/src/MoonSharp.Tests/EndToEnd/CLike/SyntaxCLike/Aliases/1-null.lua new file mode 100644 index 00000000..b28d4513 --- /dev/null +++ b/src/MoonSharp.Tests/EndToEnd/CLike/SyntaxCLike/Aliases/1-null.lua @@ -0,0 +1,2 @@ +x = null +print(x) \ No newline at end of file diff --git a/src/MoonSharp.Tests/EndToEnd/CLike/SyntaxCLike/Aliases/1-null.txt b/src/MoonSharp.Tests/EndToEnd/CLike/SyntaxCLike/Aliases/1-null.txt new file mode 100644 index 00000000..90b5a842 --- /dev/null +++ b/src/MoonSharp.Tests/EndToEnd/CLike/SyntaxCLike/Aliases/1-null.txt @@ -0,0 +1 @@ +nil \ No newline at end of file