mirror of
https://github.com/zebrajr/ladybird.git
synced 2025-12-06 00:19:53 +01:00
LibJS: Add RawNonnullGCPtr<T>
This is really just a type alias for NonnullGCPtr<T>, but it provides a way to have non-owning non-visited NonnullGCPtr<T> without getting yelled at by the Clang plugin for catching GC errors.
This commit is contained in:
parent
e240084437
commit
6a6618f5ea
|
|
@ -190,6 +190,10 @@ private:
|
|||
template<typename T>
|
||||
using RawGCPtr = GCPtr<T>;
|
||||
|
||||
// Non-Owning NonnullGCPtr
|
||||
template<typename T>
|
||||
using RawNonnullGCPtr = NonnullGCPtr<T>;
|
||||
|
||||
template<typename T, typename U>
|
||||
inline bool operator==(GCPtr<T> const& a, GCPtr<U> const& b)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ static std::vector<clang::QualType> get_all_qualified_types(clang::QualType cons
|
|||
"JS::GCPtr",
|
||||
"JS::NonnullGCPtr",
|
||||
"JS::RawGCPtr",
|
||||
"JS::RawNonnullGCPtr",
|
||||
"JS::MarkedVector",
|
||||
"JS::Handle",
|
||||
};
|
||||
|
|
@ -110,7 +111,7 @@ static std::optional<QualTypeGCInfo> validate_qualified_type(clang::QualType con
|
|||
OuterType outer_type;
|
||||
if (template_type_name == "JS::GCPtr" || template_type_name == "JS::NonnullGCPtr") {
|
||||
outer_type = OuterType::GCPtr;
|
||||
} else if (template_type_name == "JS::RawGCPtr") {
|
||||
} else if (template_type_name == "JS::RawGCPtr" || template_type_name == "JS::RawNonnullGCPtr") {
|
||||
outer_type = OuterType::RawGCPtr;
|
||||
} else if (template_type_name == "JS::Handle") {
|
||||
outer_type = OuterType::Handle;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user