Replace getAs with castAs to fix null dereference static analyzer warnings.

Use castAs as we know the cast should succeed (and castAs will assert if it doesn't) and we're dereferencing it directly in the getThisType/getThisObjectType calls.
This commit is contained in:
Simon Pilgrim 2020-03-12 14:56:32 +00:00
parent dbde39e485
commit 7c2b3c9dda
1 changed files with 3 additions and 5 deletions

View File

@ -2364,17 +2364,15 @@ QualType CXXMethodDecl::getThisType() const {
// volatile X*, and if the member function is declared const volatile,
// the type of this is const volatile X*.
assert(isInstance() && "No 'this' for static methods!");
return CXXMethodDecl::getThisType(getType()->getAs<FunctionProtoType>(),
return CXXMethodDecl::getThisType(getType()->castAs<FunctionProtoType>(),
getParent());
}
QualType CXXMethodDecl::getThisObjectType() const {
// Ditto getThisType.
assert(isInstance() && "No 'this' for static methods!");
return CXXMethodDecl::getThisObjectType(getType()->getAs<FunctionProtoType>(),
getParent());
return CXXMethodDecl::getThisObjectType(
getType()->castAs<FunctionProtoType>(), getParent());
}
bool CXXMethodDecl::hasInlineBody() const {