Commit 88c46420 authored by Nico Weber's avatar Nico Weber

Fix some compile errors after upstream 777180a32b6107 in blink clang plugin

TBR=hans

Bug: none
Change-Id: I8349cfb68d3fc58931edc463739ea1c4f0324014
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2026315Reviewed-by: default avatarNico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#736342}
parent 7aca7548
...@@ -199,7 +199,7 @@ bool CheckTraceVisitor::CheckTraceBaseCall(CallExpr* call) { ...@@ -199,7 +199,7 @@ bool CheckTraceVisitor::CheckTraceBaseCall(CallExpr* call) {
return false; return false;
callee_record = type->getAsCXXRecordDecl(); callee_record = type->getAsCXXRecordDecl();
func_name = trace_decl->getName(); func_name = std::string(trace_decl->getName());
} else if (UnresolvedMemberExpr* callee = } else if (UnresolvedMemberExpr* callee =
dyn_cast<UnresolvedMemberExpr>(call->getCallee())) { dyn_cast<UnresolvedMemberExpr>(call->getCallee())) {
// Callee part may become unresolved if the type of the argument // Callee part may become unresolved if the type of the argument
......
...@@ -36,42 +36,42 @@ extern const char kReverseIteratorName[]; ...@@ -36,42 +36,42 @@ extern const char kReverseIteratorName[];
class Config { class Config {
public: public:
static bool IsMember(const std::string& name) { static bool IsMember(llvm::StringRef name) {
return name == "Member"; return name == "Member";
} }
static bool IsWeakMember(const std::string& name) { static bool IsWeakMember(llvm::StringRef name) {
return name == "WeakMember"; return name == "WeakMember";
} }
static bool IsMemberHandle(const std::string& name) { static bool IsMemberHandle(llvm::StringRef name) {
return IsMember(name) || return IsMember(name) ||
IsWeakMember(name); IsWeakMember(name);
} }
static bool IsPersistent(const std::string& name) { static bool IsPersistent(llvm::StringRef name) {
return name == "Persistent" || return name == "Persistent" ||
name == "WeakPersistent" ; name == "WeakPersistent" ;
} }
static bool IsCrossThreadPersistent(const std::string& name) { static bool IsCrossThreadPersistent(llvm::StringRef name) {
return name == "CrossThreadPersistent" || return name == "CrossThreadPersistent" ||
name == "CrossThreadWeakPersistent" ; name == "CrossThreadWeakPersistent" ;
} }
static bool IsRefPtr(const std::string& name) { static bool IsRefPtr(llvm::StringRef name) {
return name == "RefPtr"; return name == "RefPtr";
} }
static bool IsUniquePtr(const std::string& name) { static bool IsUniquePtr(llvm::StringRef name) {
return name == "unique_ptr"; return name == "unique_ptr";
} }
static bool IsTraceWrapperV8Reference(const std::string& name) { static bool IsTraceWrapperV8Reference(llvm::StringRef name) {
return name == "TraceWrapperV8Reference"; return name == "TraceWrapperV8Reference";
} }
static bool IsWTFCollection(const std::string& name) { static bool IsWTFCollection(llvm::StringRef name) {
return name == "Vector" || return name == "Vector" ||
name == "Deque" || name == "Deque" ||
name == "HashSet" || name == "HashSet" ||
...@@ -81,14 +81,14 @@ class Config { ...@@ -81,14 +81,14 @@ class Config {
name == "HashMap"; name == "HashMap";
} }
static bool IsGCCollection(const std::string& name) { static bool IsGCCollection(llvm::StringRef name) {
return name == "HeapVector" || name == "HeapDeque" || return name == "HeapVector" || name == "HeapDeque" ||
name == "HeapHashSet" || name == "HeapListHashSet" || name == "HeapHashSet" || name == "HeapListHashSet" ||
name == "HeapLinkedHashSet" || name == "HeapHashCountedSet" || name == "HeapLinkedHashSet" || name == "HeapHashCountedSet" ||
name == "HeapHashMap"; name == "HeapHashMap";
} }
static bool IsGCCollectionWithUnsafeIterator(const std::string& name) { static bool IsGCCollectionWithUnsafeIterator(llvm::StringRef name) {
if (!IsGCCollection(name)) if (!IsGCCollection(name))
return false; return false;
// The list hash set iterators refer to the set, not the // The list hash set iterators refer to the set, not the
...@@ -98,42 +98,42 @@ class Config { ...@@ -98,42 +98,42 @@ class Config {
return true; return true;
} }
static bool IsHashMap(const std::string& name) { static bool IsHashMap(llvm::StringRef name) {
return name == "HashMap" || return name == "HashMap" ||
name == "HeapHashMap" || name == "HeapHashMap" ||
name == "PersistentHeapHashMap"; name == "PersistentHeapHashMap";
} }
// Assumes name is a valid collection name. // Assumes name is a valid collection name.
static size_t CollectionDimension(const std::string& name) { static size_t CollectionDimension(llvm::StringRef name) {
return (IsHashMap(name) || name == "pair") ? 2 : 1; return (IsHashMap(name) || name == "pair") ? 2 : 1;
} }
static bool IsRefCountedBase(const std::string& name) { static bool IsRefCountedBase(llvm::StringRef name) {
return name == "RefCounted" || return name == "RefCounted" ||
name == "ThreadSafeRefCounted"; name == "ThreadSafeRefCounted";
} }
static bool IsGCSimpleBase(const std::string& name) { static bool IsGCSimpleBase(llvm::StringRef name) {
return name == "GarbageCollected"; return name == "GarbageCollected";
} }
static bool IsGCMixinBase(const std::string& name) { static bool IsGCMixinBase(llvm::StringRef name) {
return name == "GarbageCollectedMixin"; return name == "GarbageCollectedMixin";
} }
static bool IsGCBase(const std::string& name) { static bool IsGCBase(llvm::StringRef name) {
return IsGCSimpleBase(name) || IsGCMixinBase(name); return IsGCSimpleBase(name) || IsGCMixinBase(name);
} }
static bool IsIterator(const std::string& name) { static bool IsIterator(llvm::StringRef name) {
return name == kIteratorName || name == kConstIteratorName || return name == kIteratorName || name == kConstIteratorName ||
name == kReverseIteratorName || name == kConstReverseIteratorName; name == kReverseIteratorName || name == kConstReverseIteratorName;
} }
// Returns true of the base classes that do not need a vtable entry for trace // Returns true of the base classes that do not need a vtable entry for trace
// because they cannot possibly initiate a GC during construction. // because they cannot possibly initiate a GC during construction.
static bool IsSafePolymorphicBase(const std::string& name) { static bool IsSafePolymorphicBase(llvm::StringRef name) {
return IsGCBase(name) || IsRefCountedBase(name); return IsGCBase(name) || IsRefCountedBase(name);
} }
...@@ -155,7 +155,7 @@ class Config { ...@@ -155,7 +155,7 @@ class Config {
IsIgnoreAnnotated(decl); IsIgnoreAnnotated(decl);
} }
static bool IsVisitor(const std::string& name) { static bool IsVisitor(llvm::StringRef name) {
return name == "Visitor" || name == "VisitorHelper"; return name == "Visitor" || name == "VisitorHelper";
} }
......
...@@ -140,8 +140,7 @@ bool RecordInfo::IsGCDirectlyDerived() { ...@@ -140,8 +140,7 @@ bool RecordInfo::IsGCDirectlyDerived() {
if (!base) if (!base)
continue; continue;
const std::string& name = base->getName(); if (Config::IsGCSimpleBase(base->getName())) {
if (Config::IsGCSimpleBase(name)) {
directly_derived_gc_base_ = &it; directly_derived_gc_base_ = &it;
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment