|
clang 22.0.0git
|
Classes | |
| class | MatchFinder |
| A class to allow finding matches over the Clang AST. More... | |
| class | UncheckedStatusOrAccessDiagnoser |
| class | UncheckedStatusOrAccessModel |
| struct | UncheckedStatusOrAccessModelOptions |
Typedefs | |
| using | LatticeTransferState |
| using | StatementMatcher |
Definition at line 87 of file UncheckedStatusOrAccessModel.h.
Definition at line 146 of file ASTMatchers.h.
|
static |
Definition at line 369 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::get(), clang::CallExpr::getArg(), clang::CXXMemberCallExpr::getExprLoc(), clang::dataflow::getImplicitObjectLocation(), isSafeUnwrap(), valueCall(), and valueOperatorCall().
Referenced by clang::dataflow::statusor_model::UncheckedStatusOrAccessDiagnoser::UncheckedStatusOrAccessDiagnoser().
| CFGMatchSwitch< LatticeTransferState > clang::dataflow::statusor_model::buildTransferMatchSwitch | ( | ASTContext & | Ctx, |
| CFGMatchSwitchBuilder< LatticeTransferState > | Builder ) |
Definition at line 1141 of file UncheckedStatusOrAccessModel.cpp.
References clang::CallExpr::getArg(), clang::dataflow::getImplicitObjectLocation(), getSmartPtrLikeStorageLocation(), clang::ast_matchers::implicitCastExpr, isAssertionResultConstructFromBoolCall(), isAssertionResultOperatorBoolCall(), isAsStatusCallWithStatus(), isAsStatusCallWithStatusOr(), isComparisonOperatorCall(), isConstStatusOrAccessorMemberCall(), isConstStatusOrAccessorMemberOperatorCall(), isConstStatusOrPointerAccessorMemberCall(), isConstStatusOrPointerAccessorMemberOperatorCall(), isLoggingCheckEqImpl(), isLoggingGetReferenceableValueCall(), isMakePredicateFormatterFromIsOkMatcherCall(), isMakePredicateFormatterFromStatusIsMatcherCall(), isNonConstMemberCall(), isNonConstMemberOperatorCall(), isNotOkStatusCall(), isOkStatusCall(), isPointerComparisonOperatorCall(), clang::dataflow::isPointerLikeOperatorArrow(), clang::dataflow::isPointerLikeOperatorStar(), isPredicateFormatterFromStatusMatcherCall(), isPredicateFormatterFromStatusOrMatcherCall(), clang::dataflow::isSmartPointerLikeGetMethodCall(), clang::dataflow::isSmartPointerLikeValueMethodCall(), isStatusConstructor(), isStatusIsOkMatcherCall(), isStatusMemberCallWithName(), isStatusOrConstructor(), isStatusOrMemberCallWithName(), isStatusOrOperatorCallWithName(), isStatusOrPtrReturningCall(), isStatusOrReturningCall(), isStatusOrValueAssignmentCall(), isStatusOrValueConstructor(), isStatusPtrReturningCall(), clang::Result, transferArrowCall(), transferAssertionResultConstructFromBoolCall(), transferAssertionResultOperatorBoolCall(), transferAsStatusCallWithStatus(), transferAsStatusCallWithStatusOr(), transferComparisonOperator(), transferConstStatusOrAccessorMemberCall(), transferConstStatusOrAccessorMemberOperatorCall(), transferConstStatusOrPointerAccessorMemberCall(), transferConstStatusOrPointerAccessorMemberOperatorCall(), transferDerefCall(), transferEmplaceCall(), transferLoggingCheckEqImpl(), transferLoggingGetReferenceableValueCall(), transferMakePredicateFormatterFromIsOkMatcherCall(), transferMakePredicateFormatterFromStatusIsMatcherCall(), transferNonConstMemberCall(), transferNonConstMemberOperatorCall(), transferNotOkStatusCall(), transferOkStatusCall(), transferPointerComparisonOperator(), transferPointerToBoolean(), transferPredicateFormatterMatcherCall(), clang::dataflow::transferSmartPointerLikeCachedDeref(), clang::dataflow::transferSmartPointerLikeCachedGet(), transferStatusCall(), transferStatusConstructor(), transferStatusIsOkMatcherCall(), transferStatusOkCall(), transferStatusOrConstructor(), transferStatusOrOkCall(), transferStatusOrPtrReturningCall(), transferStatusOrReturningCall(), transferStatusPtrReturningCall(), transferStatusUpdateCall(), transferValueAssignmentCall(), transferValueCall(), and transferValueConstructor().
Referenced by clang::dataflow::statusor_model::UncheckedStatusOrAccessModel::UncheckedStatusOrAccessModel().
|
static |
Definition at line 877 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), clang::dataflow::copyRecord(), clang::Expr::getType(), clang::Expr::isPRValue(), isStatusOrType(), and clang::Result.
Referenced by handleConstStatusOrAccessorMemberCall().
|
static |
Definition at line 633 of file UncheckedStatusOrAccessModel.cpp.
References evaluateStatusEquality(), evaluateStatusOrEquality(), clang::dataflow::Environment::get(), clang::Expr::getType(), isStatusOrType(), and isStatusType().
Referenced by transferComparisonOperator(), and transferLoggingCheckEqImpl().
|
static |
Definition at line 683 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::arena(), clang::dataflow::Environment::assume(), getPointeeLocation(), clang::Type::getPointeeType(), clang::Expr::getType(), clang::Type::isPointerType(), isStatusOrType(), isStatusType(), locForStatus(), clang::dataflow::Environment::makeAtomicBoolValue(), and valForOk().
Referenced by transferPointerComparisonOperator().
|
static |
Definition at line 581 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::arena(), clang::dataflow::Environment::assume(), clang::dataflow::Environment::makeAtomicBoolValue(), and valForOk().
Referenced by evaluateEquality().
|
static |
Definition at line 610 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::arena(), clang::dataflow::Environment::assume(), locForStatus(), clang::dataflow::Environment::makeAtomicBoolValue(), and valForOk().
Referenced by evaluateEquality().
| QualType clang::dataflow::statusor_model::findStatusType | ( | const ASTContext & | Ctx | ) |
Definition at line 1312 of file UncheckedStatusOrAccessModel.cpp.
References clang::ASTContext::getTypes(), and isStatusType().
|
static |
Definition at line 676 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::get().
Referenced by evaluatePointerEquality().
|
static |
Definition at line 1131 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::getStorageLocation(), clang::dataflow::Environment::getValue(), and clang::Expr::isPRValue().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 79 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), clang::Type::getAsCXXRecordDecl(), getStatusOrBaseClass(), isStatusOrOperatorBaseType(), and isStatusOrType().
Referenced by getStatusOrBaseClass(), and getSyntheticFields().
|
static |
Definition at line 96 of file UncheckedStatusOrAccessModel.cpp.
References clang::TemplateArgumentList::get(), clang::TemplateArgument::getAsType(), and clang::ClassTemplateSpecializationDecl::getTemplateArgs().
Referenced by getSyntheticFields().
| llvm::StringMap< QualType > clang::dataflow::statusor_model::getSyntheticFields | ( | QualType | Ty, |
| QualType | StatusType, | ||
| const CXXRecordDecl & | RD ) |
Definition at line 477 of file UncheckedStatusOrAccessModel.cpp.
References clang::ASTContext::BoolTy, clang::Type::getAsCXXRecordDecl(), clang::Decl::getASTContext(), getStatusOrBaseClass(), getStatusOrValueType(), clang::CXXRecordDecl::hasDefinition(), isAssertionResultType(), clang::CXXRecordDecl::isDerivedFrom(), isPredicateFormatterFromMatcherType(), isStatusIsMatcherType(), and isStatusType().
|
static |
Definition at line 900 of file UncheckedStatusOrAccessModel.cpp.
References doHandleConstStatusOrAccessorMemberCall(), clang::Result, and transferStatusOrReturningCall().
Referenced by transferConstStatusOrAccessorMemberCall(), and transferConstStatusOrAccessorMemberOperatorCall().
|
static |
Definition at line 906 of file UncheckedStatusOrAccessModel.cpp.
References clang::Result.
Referenced by transferConstStatusOrPointerAccessorMemberCall(), and transferConstStatusOrPointerAccessorMemberOperatorCall().
|
static |
Definition at line 947 of file UncheckedStatusOrAccessModel.cpp.
References clang::Expr::getType(), isStatusOrType(), clang::Result, and transferStatusOrReturningCall().
Referenced by transferNonConstMemberCall(), and transferNonConstMemberOperatorCall().
| BoolValue & clang::dataflow::statusor_model::initializeStatus | ( | RecordStorageLocation & | StatusLoc, |
| Environment & | Env ) |
Definition at line 409 of file UncheckedStatusOrAccessModel.cpp.
References locForOk(), clang::dataflow::Environment::makeAtomicBoolValue(), and clang::dataflow::Environment::setValue().
Referenced by initializeStatusOr(), transferAsStatusCallWithStatus(), transferNotOkStatusCall(), transferOkStatusCall(), transferStatusConstructor(), transferStatusPtrReturningCall(), and valForOk().
| BoolValue & clang::dataflow::statusor_model::initializeStatusOr | ( | RecordStorageLocation & | StatusOrLoc, |
| Environment & | Env ) |
Definition at line 416 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus(), and locForStatus().
Referenced by transferAsStatusCallWithStatusOr(), transferStatusCall(), transferStatusOrConstructor(), transferStatusOrPtrReturningCall(), transferStatusOrReturningCall(), transferValueAssignmentCall(), and transferValueConstructor().
|
static |
Definition at line 342 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::cxxConstructExpr, clang::dataflow::hasName(), and clang::ast_matchers::recordDecl.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 334 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, clang::ast_matchers::cxxThisExpr, clang::ast_matchers::expr, clang::dataflow::hasName(), and clang::ast_matchers::unless.
Referenced by buildTransferMatchSwitch().
Definition at line 462 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by getSyntheticFields().
|
static |
Definition at line 222 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, clang::dataflow::hasName(), and statusClass().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 229 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, clang::dataflow::hasName(), and statusOrType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 141 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::dataflow::cxxOperatorCallExpr, clang::dataflow::hasOverloadedOperatorName(), statusOrType(), and statusType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 241 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, possiblyReferencedStatusOrType(), and clang::ast_matchers::qualType.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 248 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, and possiblyReferencedStatusOrType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 255 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, clang::dataflow::pointerType, and possiblyReferencedStatusOrType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 262 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, clang::dataflow::pointerType, and possiblyReferencedStatusOrType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 216 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, and clang::dataflow::hasName().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 210 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, and clang::dataflow::hasName().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 279 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::cxxRecordDecl, clang::ast_matchers::functionDecl, clang::ast_matchers::hasAnyName, and clang::dataflow::hasName().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 302 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::cxxRecordDecl, clang::ast_matchers::functionDecl, clang::ast_matchers::hasAnyName, and clang::dataflow::hasName().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 269 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, and clang::ast_matchers::unless.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 274 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, and clang::ast_matchers::unless.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 154 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, and clang::ast_matchers::hasAnyName.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 149 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, and clang::dataflow::hasName().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 167 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::ast_matchers::binaryOperator, clang::dataflow::pointerType, statusOrType(), and statusType().
Referenced by buildTransferMatchSwitch().
Definition at line 457 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by getSyntheticFields().
|
static |
Definition at line 316 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, clang::dataflow::hasName(), clang::dataflow::hasOverloadedOperatorName(), and statusType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 325 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, clang::dataflow::hasName(), clang::dataflow::hasOverloadedOperatorName(), and statusOrType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 69 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::get(), locForOk(), locForStatus(), and clang::dataflow::Environment::proves().
Referenced by buildDiagnoseMatchSwitch().
|
static |
Definition at line 206 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::cxxConstructExpr, and statusType().
Referenced by buildTransferMatchSwitch().
Definition at line 466 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by getSyntheticFields().
|
static |
Definition at line 292 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::declRefExpr, clang::ast_matchers::enumConstantDecl, clang::ast_matchers::functionDecl, and clang::ast_matchers::hasAnyName.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 105 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, clang::ast_matchers::cxxThisExpr, clang::ast_matchers::expr, clang::dataflow::hasName(), ofClassStatus(), and clang::ast_matchers::unless.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 201 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::cxxConstructExpr, and statusOrType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 112 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, clang::ast_matchers::cxxThisExpr, clang::ast_matchers::expr, clang::dataflow::hasName(), statusOrClass(), statusOrOperatorBaseClass(), and clang::ast_matchers::unless.
Referenced by buildTransferMatchSwitch(), and valueCall().
Definition at line 65 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by getStatusOrBaseClass().
|
static |
Definition at line 121 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, clang::dataflow::hasOverloadedOperatorName(), statusOrClass(), and statusOrOperatorBaseClass().
Referenced by buildTransferMatchSwitch(), and valueOperatorCall().
|
static |
Definition at line 355 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, clang::dataflow::pointerType, and possiblyReferencedStatusOrType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 349 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, and possiblyReferencedStatusOrType().
Referenced by buildTransferMatchSwitch().
Definition at line 449 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by doHandleConstStatusOrAccessorMemberCall(), evaluateEquality(), evaluatePointerEquality(), getStatusOrBaseClass(), and handleNonConstMemberCall().
|
static |
Definition at line 180 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, clang::dataflow::hasOverloadedOperatorName(), statusOrClass(), and clang::ast_matchers::type.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 190 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::ast_matchers::cxxConstructExpr, clang::ast_matchers::hasAnyName, clang::ast_matchers::namedDecl, statusOrType(), and clang::ast_matchers::type.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 361 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, clang::ast_matchers::hasDeclaration(), clang::dataflow::pointerType, clang::ast_matchers::recordType, and statusClass().
Referenced by buildTransferMatchSwitch().
Definition at line 453 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by evaluateEquality(), evaluatePointerEquality(), findStatusType(), and getSyntheticFields().
|
static |
Definition at line 54 of file UncheckedStatusOrAccessModel.cpp.
References clang::Type::getAsRecordDecl(), and namespaceEquals().
Referenced by isAssertionResultType(), isPredicateFormatterFromMatcherType(), isStatusIsMatcherType(), isStatusOrOperatorBaseType(), isStatusOrType(), and isStatusType().
| StorageLocation & clang::dataflow::statusor_model::locForOk | ( | RecordStorageLocation & | StatusLoc | ) |
Definition at line 497 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::RecordStorageLocation::getSyntheticField().
Referenced by initializeStatus(), isSafeUnwrap(), transferAssertionResultConstructFromBoolCall(), transferAssertionResultOperatorBoolCall(), transferAsStatusCallWithStatus(), transferAsStatusCallWithStatusOr(), transferPredicateFormatterMatcherCall(), transferStatusCall(), transferStatusConstructor(), transferStatusOkCall(), transferStatusOrConstructor(), transferStatusOrPtrReturningCall(), transferStatusOrReturningCall(), transferStatusPtrReturningCall(), transferStatusUpdateCall(), and valForOk().
|
static |
Definition at line 510 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::RecordStorageLocation::getSyntheticField().
Referenced by transferMakePredicateFormatterFromStatusIsMatcherCall(), and transferStatusIsOkMatcherCall().
|
static |
Definition at line 506 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::RecordStorageLocation::getSyntheticField().
Referenced by transferMakePredicateFormatterFromIsOkMatcherCall(), transferMakePredicateFormatterFromStatusIsMatcherCall(), and transferPredicateFormatterMatcherCall().
| RecordStorageLocation & clang::dataflow::statusor_model::locForStatus | ( | RecordStorageLocation & | StatusOrLoc | ) |
Definition at line 493 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), and clang::dataflow::RecordStorageLocation::getSyntheticField().
Referenced by evaluatePointerEquality(), evaluateStatusOrEquality(), initializeStatusOr(), isSafeUnwrap(), transferAsStatusCallWithStatusOr(), transferEmplaceCall(), transferPredicateFormatterMatcherCall(), transferStatusCall(), transferStatusOrConstructor(), transferStatusOrOkCall(), transferStatusOrPtrReturningCall(), and transferStatusOrReturningCall().
|
static |
Definition at line 43 of file UncheckedStatusOrAccessModel.cpp.
References clang::NamedDecl::getName(), and clang::DeclContext::getParent().
Referenced by isTypeNamed().
|
static |
Definition at line 100 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::hasName().
Referenced by isStatusMemberCallWithName().
|
static |
Definition at line 236 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::dataflow::referenceType, and statusOrType().
Referenced by isConstStatusOrAccessorMemberCall(), isConstStatusOrAccessorMemberOperatorCall(), isConstStatusOrPointerAccessorMemberCall(), isConstStatusOrPointerAccessorMemberOperatorCall(), isStatusOrPtrReturningCall(), and isStatusOrReturningCall().
| clang::ast_matchers::DeclarationMatcher clang::dataflow::statusor_model::statusClass | ( | ) |
Definition at line 428 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::cxxRecordDecl, and clang::dataflow::hasName().
Referenced by isAsStatusCallWithStatus(), isStatusPtrReturningCall(), and statusType().
| clang::ast_matchers::DeclarationMatcher clang::dataflow::statusor_model::statusOrClass | ( | ) |
Definition at line 421 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::classTemplateSpecializationDecl, clang::dataflow::hasName(), and clang::ast_matchers::type.
Referenced by isStatusOrMemberCallWithName(), isStatusOrOperatorCallWithName(), isStatusOrValueAssignmentCall(), and statusOrType().
| clang::ast_matchers::DeclarationMatcher clang::dataflow::statusor_model::statusOrOperatorBaseClass | ( | ) |
Definition at line 433 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::classTemplateSpecializationDecl, and clang::dataflow::hasName().
Referenced by isStatusOrMemberCallWithName(), and isStatusOrOperatorCallWithName().
| clang::ast_matchers::TypeMatcher clang::dataflow::statusor_model::statusOrType | ( | ) |
Definition at line 439 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::hasDeclaration(), clang::ast_matchers::qualType, and statusOrClass().
Referenced by isAsStatusCallWithStatusOr(), isComparisonOperatorCall(), isPointerComparisonOperatorCall(), isPredicateFormatterFromStatusOrMatcherCall(), isStatusOrConstructor(), isStatusOrValueConstructor(), and possiblyReferencedStatusOrType().
| clang::ast_matchers::TypeMatcher clang::dataflow::statusor_model::statusType | ( | ) |
Definition at line 444 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::hasDeclaration(), clang::ast_matchers::qualType, and statusClass().
Referenced by isComparisonOperatorCall(), isPointerComparisonOperatorCall(), isPredicateFormatterFromStatusMatcherCall(), and isStatusConstructor().
|
static |
Definition at line 1076 of file UncheckedStatusOrAccessModel.cpp.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1035 of file UncheckedStatusOrAccessModel.cpp.
References locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1051 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::BoolValue::formula(), clang::dataflow::getImplicitObjectLocation(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 825 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 841 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 662 of file UncheckedStatusOrAccessModel.cpp.
References evaluateEquality().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 917 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), handleConstStatusOrAccessorMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 924 of file UncheckedStatusOrAccessModel.cpp.
References handleConstStatusOrAccessorMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 932 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), handleConstStatusOrPointerAccessorMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 939 of file UncheckedStatusOrAccessModel.cpp.
References handleConstStatusOrPointerAccessorMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1066 of file UncheckedStatusOrAccessModel.cpp.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 745 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 810 of file UncheckedStatusOrAccessModel.cpp.
References evaluateEquality().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 797 of file UncheckedStatusOrAccessModel.cpp.
References clang::Expr::isPRValue().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 975 of file UncheckedStatusOrAccessModel.cpp.
References locForOkPredicate().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 991 of file UncheckedStatusOrAccessModel.cpp.
References clang::Expr::isPRValue(), locForOkMatcher(), and locForOkPredicate().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 959 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), handleNonConstMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 967 of file UncheckedStatusOrAccessModel.cpp.
References handleNonConstMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 736 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 728 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 714 of file UncheckedStatusOrAccessModel.cpp.
References evaluatePointerEquality().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 859 of file UncheckedStatusOrAccessModel.cpp.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1006 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::BoolValue::formula(), locForOk(), locForOkPredicate(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 526 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::copyRecord(), clang::dataflow::getImplicitObjectLocation(), initializeStatusOr(), clang::Expr::isPRValue(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 788 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 983 of file UncheckedStatusOrAccessModel.cpp.
References locForOkMatcher().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 545 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 778 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 514 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1096 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), clang::dataflow::PointerValue::getPointeeLoc(), clang::Expr::getType(), initializeStatusOr(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 867 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr(), clang::Expr::isPRValue(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch(), handleConstStatusOrAccessorMemberCall(), and handleNonConstMemberCall().
|
static |
Definition at line 1113 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), clang::dataflow::PointerValue::getPointeeLoc(), clang::Expr::getType(), initializeStatus(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 557 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForOk(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 757 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1086 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 770 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr().
Referenced by buildTransferMatchSwitch().
| BoolValue & clang::dataflow::statusor_model::valForOk | ( | RecordStorageLocation & | StatusLoc, |
| Environment & | Env ) |
Definition at line 501 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::get(), initializeStatus(), and locForOk().
Referenced by evaluatePointerEquality(), evaluateStatusEquality(), evaluateStatusOrEquality(), transferEmplaceCall(), transferPredicateFormatterMatcherCall(), transferStatusOrOkCall(), and transferStatusUpdateCall().
|
static |
Definition at line 129 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, and isStatusOrMemberCallWithName().
Referenced by buildDiagnoseMatchSwitch().
|
static |
Definition at line 135 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::ast_matchers::expr, and isStatusOrOperatorCallWithName().
Referenced by buildDiagnoseMatchSwitch().