diff --git a/DevTools/HackStudio/LanguageServers/Cpp/AutoComplete.cpp b/DevTools/HackStudio/LanguageServers/Cpp/AutoComplete.cpp index c56000fb19..86c445b8c2 100644 --- a/DevTools/HackStudio/LanguageServers/Cpp/AutoComplete.cpp +++ b/DevTools/HackStudio/LanguageServers/Cpp/AutoComplete.cpp @@ -53,9 +53,11 @@ Vector AutoComplete::get_suggestions(const String& code, c return suggestions; } -String AutoComplete::text_of_token(const Vector& lines, const Cpp::Token& token) +StringView AutoComplete::text_of_token(const Vector& lines, const Cpp::Token& token) { - return lines[token.m_start.line].substring(token.m_start.column, token.m_end.column - token.m_start.column + 1); + ASSERT(token.m_start.line == token.m_end.line); + ASSERT(token.m_start.column <= token.m_end.column); + return lines[token.m_start.line].substring_view(token.m_start.column, token.m_end.column - token.m_start.column + 1); } Optional AutoComplete::token_in_position(const Vector& tokens, const GUI::TextPosition& position) @@ -83,8 +85,7 @@ Vector AutoComplete::identifier_prefixes(const Vector token_in_position(const Vector&, const GUI::TextPosition&); - static String text_of_token(const Vector& lines, const Cpp::Token&); + static StringView text_of_token(const Vector& lines, const Cpp::Token&); static Vector identifier_prefixes(const Vector& lines, const Vector&, size_t target_token_index); };