From 46308557c82295997a06d92e20ed18d596392ef9 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Sat, 17 Nov 2018 16:10:04 +0100 Subject: [PATCH] Fix error when character after string end --- Upsilon/BaseTypes/LuaString.cs | 5 ++--- Upsilon/Parser/Lexer.cs | 4 +--- 2 files changed, 3 insertions(+), 6 deletions(-) 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); }