mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 05:07:35 +00:00
AK+Everywhere: Remove the null state of DeprecatedString
This commit removes DeprecatedString's "null" state, and replaces all its users with one of the following: - A normal, empty DeprecatedString - Optional<DeprecatedString> Note that null states of DeprecatedFlyString/StringView/etc are *not* affected by this commit. However, DeprecatedString::empty() is now considered equal to a null StringView.
This commit is contained in:
parent
daf6d8173c
commit
aeee98b3a1
189 changed files with 597 additions and 652 deletions
|
@ -210,7 +210,7 @@ Vector<CodeComprehension::AutocompleteResultEntry> CppComprehensionEngine::autoc
|
|||
{
|
||||
VERIFY(parent.object());
|
||||
auto type = type_of(document, *parent.object());
|
||||
if (type.is_null()) {
|
||||
if (type.is_empty()) {
|
||||
dbgln_if(CPP_LANGUAGE_SERVER_DEBUG, "Could not infer type of object");
|
||||
return {};
|
||||
}
|
||||
|
@ -385,7 +385,7 @@ DeprecatedString CppComprehensionEngine::document_path_from_include_path(StringV
|
|||
};
|
||||
|
||||
auto result = document_path_for_library_include(include_path);
|
||||
if (result.is_null())
|
||||
if (result.is_empty())
|
||||
result = document_path_for_user_defined_include(include_path);
|
||||
|
||||
return result;
|
||||
|
@ -703,7 +703,7 @@ Optional<Vector<CodeComprehension::AutocompleteResultEntry>> CppComprehensionEng
|
|||
partial_include = partial_include.substring_view(0, partial_include.length() - 1).trim_whitespace();
|
||||
}
|
||||
} else if (partial_include.starts_with('"')) {
|
||||
include_root = filedb().project_root();
|
||||
include_root = filedb().project_root().value_or("");
|
||||
if (partial_include.length() > 1 && partial_include.ends_with('\"')) {
|
||||
already_has_suffix = true;
|
||||
partial_include = partial_include.substring_view(0, partial_include.length() - 1).trim_whitespace();
|
||||
|
|
|
@ -52,8 +52,8 @@ public:
|
|||
virtual Optional<DeprecatedString> get_or_read_from_filesystem(StringView filename) const override
|
||||
{
|
||||
DeprecatedString target_filename = filename;
|
||||
if (!project_root().is_null() && filename.starts_with(project_root())) {
|
||||
target_filename = LexicalPath::relative_path(filename, project_root());
|
||||
if (project_root().has_value() && filename.starts_with(*project_root())) {
|
||||
target_filename = LexicalPath::relative_path(filename, *project_root());
|
||||
}
|
||||
return m_map.get(target_filename);
|
||||
}
|
||||
|
|
|
@ -14,9 +14,9 @@ DeprecatedString FileDB::to_absolute_path(StringView filename) const
|
|||
if (LexicalPath { filename }.is_absolute()) {
|
||||
return filename;
|
||||
}
|
||||
if (m_project_root.is_null())
|
||||
if (!m_project_root.has_value())
|
||||
return filename;
|
||||
return LexicalPath { DeprecatedString::formatted("{}/{}", m_project_root, filename) }.string();
|
||||
return LexicalPath { DeprecatedString::formatted("{}/{}", *m_project_root, filename) }.string();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -19,15 +19,21 @@ public:
|
|||
virtual ~FileDB() = default;
|
||||
|
||||
virtual Optional<DeprecatedString> get_or_read_from_filesystem(StringView filename) const = 0;
|
||||
void set_project_root(StringView project_root) { m_project_root = project_root; }
|
||||
DeprecatedString const& project_root() const { return m_project_root; }
|
||||
void set_project_root(StringView project_root)
|
||||
{
|
||||
if (project_root.is_null())
|
||||
m_project_root.clear();
|
||||
else
|
||||
m_project_root = project_root;
|
||||
}
|
||||
Optional<DeprecatedString> const& project_root() const { return m_project_root; }
|
||||
DeprecatedString to_absolute_path(StringView filename) const;
|
||||
|
||||
protected:
|
||||
FileDB() = default;
|
||||
|
||||
private:
|
||||
DeprecatedString m_project_root;
|
||||
Optional<DeprecatedString> m_project_root;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue