diff options
Diffstat (limited to 'Libraries')
-rw-r--r-- | Libraries/LibRegex/RegexLexer.h | 2 | ||||
-rw-r--r-- | Libraries/LibRegex/RegexParser.cpp | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/Libraries/LibRegex/RegexLexer.h b/Libraries/LibRegex/RegexLexer.h index 7a54dea091..959fa50c33 100644 --- a/Libraries/LibRegex/RegexLexer.h +++ b/Libraries/LibRegex/RegexLexer.h @@ -94,8 +94,6 @@ public: bool try_skip(char); char skip(); - StringView slice_back(size_t offset) const { return m_source.substring_view(m_position - offset - 1, offset); } - private: ALWAYS_INLINE char peek(size_t offset = 0) const; ALWAYS_INLINE void consume(); diff --git a/Libraries/LibRegex/RegexParser.cpp b/Libraries/LibRegex/RegexParser.cpp index aa22be74b2..ca86012f53 100644 --- a/Libraries/LibRegex/RegexParser.cpp +++ b/Libraries/LibRegex/RegexParser.cpp @@ -803,6 +803,7 @@ Optional<unsigned> ECMA262Parser::read_digits(ECMA262Parser::ReadDigitsInitialZe int count = 0; size_t offset = 0; + auto start_token = m_parser_state.current_token; while (match(TokenType::Char)) { auto c = m_parser_state.current_token.value(); if (follow_policy == ReadDigitFollowPolicy::DisallowDigit) { @@ -826,7 +827,7 @@ Optional<unsigned> ECMA262Parser::read_digits(ECMA262Parser::ReadDigitsInitialZe ++count; } - auto str = m_parser_state.lexer.slice_back(offset); + StringView str { start_token.value().characters_without_null_termination(), offset }; if (hex) return AK::StringUtils::convert_to_uint_from_hex(str); @@ -1371,6 +1372,7 @@ StringView ECMA262Parser::read_capture_group_specifier(bool take_starting_angle_ if (take_starting_angle_bracket && !consume("<")) return {}; + auto start_token = m_parser_state.current_token; size_t offset = 0; while (match(TokenType::Char)) { auto c = m_parser_state.current_token.value(); @@ -1379,7 +1381,7 @@ StringView ECMA262Parser::read_capture_group_specifier(bool take_starting_angle_ offset += consume().value().length(); } - auto name = m_parser_state.lexer.slice_back(offset); + StringView name { start_token.value().characters_without_null_termination(), offset }; if (!consume(">") || name.is_empty()) set_error(Error::InvalidNameForCaptureGroup); |