diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-01-11 16:01:46 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-01-11 16:02:24 +0000 |
commit | bf03944d5d9a7e7c8105c69dfa0d7e0d345644df (patch) | |
tree | 907c791c95e5ca3eec5e373b0253065ec11a3da2 /clang/lib/Sema/SemaCodeComplete.cpp | |
parent | 93431f96a7b14ff03036bae77cc0197fdc98ad52 (diff) | |
download | bcm5719-llvm-bf03944d5d9a7e7c8105c69dfa0d7e0d345644df.tar.gz bcm5719-llvm-bf03944d5d9a7e7c8105c69dfa0d7e0d345644df.zip |
Fix "pointer is null" static analyzer warnings. NFCI.
Use castAs<> instead of getAs<> since the pointers are dereferenced immediately and castAs will perform the null assertion for us.
Diffstat (limited to 'clang/lib/Sema/SemaCodeComplete.cpp')
-rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 0f2434fc0a2..e14c63d557a 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -4806,7 +4806,7 @@ void Sema::CodeCompleteMemberReferenceExpr(Scope *S, Expr *Base, } // Add properties from the protocols in a qualified interface. - for (auto *I : BaseType->getAs<ObjCObjectPointerType>()->quals()) + for (auto *I : BaseType->castAs<ObjCObjectPointerType>()->quals()) AddObjCProperties(CCContext, I, true, /*AllowNullaryMethods=*/true, CurContext, AddedProperties, Results, IsBaseExprStatement, /*IsClassProperty*/ false, @@ -4819,7 +4819,7 @@ void Sema::CodeCompleteMemberReferenceExpr(Scope *S, Expr *Base, BaseType->getAs<ObjCObjectPointerType>()) Class = ObjCPtr->getInterfaceDecl(); else - Class = BaseType->getAs<ObjCObjectType>()->getInterface(); + Class = BaseType->castAs<ObjCObjectType>()->getInterface(); // Add all ivars from this class and its superclasses. if (Class) { @@ -7743,8 +7743,8 @@ static void AddObjCKeyValueCompletions(ObjCPropertyDecl *Property, if (IsInstanceMethod && (ReturnType.isNull() || (ReturnType->isObjCObjectPointerType() && - ReturnType->getAs<ObjCObjectPointerType>()->getInterfaceDecl() && - ReturnType->getAs<ObjCObjectPointerType>() + ReturnType->castAs<ObjCObjectPointerType>()->getInterfaceDecl() && + ReturnType->castAs<ObjCObjectPointerType>() ->getInterfaceDecl() ->getName() == "NSArray"))) { std::string SelectorName = (Twine(Property->getName()) + "AtIndexes").str(); @@ -8130,8 +8130,8 @@ static void AddObjCKeyValueCompletions(ObjCPropertyDecl *Property, if (!IsInstanceMethod && (ReturnType.isNull() || (ReturnType->isObjCObjectPointerType() && - ReturnType->getAs<ObjCObjectPointerType>()->getInterfaceDecl() && - ReturnType->getAs<ObjCObjectPointerType>() + ReturnType->castAs<ObjCObjectPointerType>()->getInterfaceDecl() && + ReturnType->castAs<ObjCObjectPointerType>() ->getInterfaceDecl() ->getName() == "NSSet"))) { std::string SelectorName = |