diff --git a/AK/String.cpp b/AK/String.cpp index f81e2eddba..0d979a8f6c 100644 --- a/AK/String.cpp +++ b/AK/String.cpp @@ -38,10 +38,7 @@ namespace AK { String::String(const StringView& view) { - if (view.m_impl) - m_impl = *view.m_impl; - else - m_impl = StringImpl::create(view.characters_without_null_termination(), view.length()); + m_impl = StringImpl::create(view.characters_without_null_termination(), view.length()); } bool String::operator==(const FlyString& fly_string) const diff --git a/AK/StringUtils.cpp b/AK/StringUtils.cpp index c5e8423df6..38d443692d 100644 --- a/AK/StringUtils.cpp +++ b/AK/StringUtils.cpp @@ -219,8 +219,6 @@ static inline char to_lowercase(char c) bool equals_ignoring_case(const StringView& a, const StringView& b) { - if (a.impl() && a.impl() == b.impl()) - return true; if (a.length() != b.length()) return false; for (size_t i = 0; i < a.length(); ++i) { diff --git a/AK/StringView.cpp b/AK/StringView.cpp index 079cb71875..95a48ac6b2 100644 --- a/AK/StringView.cpp +++ b/AK/StringView.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2020, Andreas Kling + * Copyright (c) 2018-2021, Andreas Kling * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,15 +35,13 @@ namespace AK { StringView::StringView(const String& string) - : m_impl(string.impl()) - , m_characters(string.characters()) + : m_characters(string.characters()) , m_length(string.length()) { } StringView::StringView(const FlyString& string) - : m_impl(string.impl()) - , m_characters(string.characters()) + : m_characters(string.characters()) , m_length(string.length()) { } @@ -251,8 +249,6 @@ unsigned StringView::hash() const { if (is_empty()) return 0; - if (m_impl) - return m_impl->hash(); return string_hash(characters_without_null_termination(), length()); } diff --git a/AK/StringView.h b/AK/StringView.h index ae8e5a7a47..2a9e2684d8 100644 --- a/AK/StringView.h +++ b/AK/StringView.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2020, Andreas Kling + * Copyright (c) 2018-2021, Andreas Kling * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -209,8 +209,6 @@ public: return m_length < other.m_length; } - const StringImpl* impl() const { return m_impl; } - [[nodiscard]] String to_string() const; [[nodiscard]] bool is_whitespace() const { return StringUtils::is_whitespace(*this); } @@ -227,7 +225,6 @@ private: [[nodiscard]] bool is_one_of() const { return false; } friend class String; - const StringImpl* m_impl { nullptr }; const char* m_characters { nullptr }; size_t m_length { 0 }; };