forked from OSchip/llvm-project
[lldb][NFC] Refactor some IsClangType checks in ClangASTContext
Summary: All type in these functions need be valid and Clang types, so we might as well replace these checks with IsClangType. Also lets IsClangType explicitly check for validity instead of assuming that the TypeSystem is a nullptr. Subscribers: abidh, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D70001
This commit is contained in:
parent
0a8bd77e77
commit
79b3cce7f1
|
@ -3601,7 +3601,7 @@ bool ClangASTContext::IsDefined(lldb::opaque_compiler_type_t type) {
|
|||
}
|
||||
|
||||
bool ClangASTContext::IsObjCClassType(const CompilerType &type) {
|
||||
if (type) {
|
||||
if (ClangUtil::IsClangType(type)) {
|
||||
clang::QualType qual_type(ClangUtil::GetCanonicalQualType(type));
|
||||
|
||||
const clang::ObjCObjectPointerType *obj_pointer_type =
|
||||
|
@ -3886,7 +3886,7 @@ bool ClangASTContext::IsBeingDefined(lldb::opaque_compiler_type_t type) {
|
|||
|
||||
bool ClangASTContext::IsObjCObjectPointerType(const CompilerType &type,
|
||||
CompilerType *class_type_ptr) {
|
||||
if (!type)
|
||||
if (!ClangUtil::IsClangType(type))
|
||||
return false;
|
||||
|
||||
clang::QualType qual_type(ClangUtil::GetCanonicalQualType(type));
|
||||
|
|
|
@ -15,6 +15,10 @@ using namespace clang;
|
|||
using namespace lldb_private;
|
||||
|
||||
bool ClangUtil::IsClangType(const CompilerType &ct) {
|
||||
// Invalid types are never Clang types.
|
||||
if (!ct)
|
||||
return false;
|
||||
|
||||
if (llvm::dyn_cast_or_null<ClangASTContext>(ct.GetTypeSystem()) == nullptr)
|
||||
return false;
|
||||
|
||||
|
|
Loading…
Reference in New Issue