diff --git a/Upsilon/BaseTypes/LuaString.cs b/Upsilon/BaseTypes/LuaString.cs index 1e964db..64e07a7 100644 --- a/Upsilon/BaseTypes/LuaString.cs +++ b/Upsilon/BaseTypes/LuaString.cs @@ -31,10 +31,9 @@ namespace Upsilon.BaseTypes return (Value != null ? Value.GetHashCode() : 0); } - public bool Equals(LuaString s) + private bool Equals(LuaString s) { - if (s == null) return false; - return string.Equals(s.Value, Value); + return s != null && string.Equals(s.Value, Value); } public static LuaString operator +(LuaString a, LuaType b) diff --git a/Upsilon/Parser/Lexer.cs b/Upsilon/Parser/Lexer.cs index 77e45de..4e9b1fb 100644 --- a/Upsilon/Parser/Lexer.cs +++ b/Upsilon/Parser/Lexer.cs @@ -141,7 +141,7 @@ namespace Upsilon.Parser { var start = _position; var sb = new StringBuilder(); - while (true) + while (_position < _text.Length) { _position++; if (Current == '"') @@ -149,8 +149,6 @@ namespace Upsilon.Parser sb.Append(Current); } - _position++; - var res = sb.ToString(); return new SyntaxToken(SyntaxKind.String, start, $"\"{res}\"", res); }