|
clang 23.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 367 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 1148 of file UncheckedStatusOrAccessModel.cpp.
References clang::CallExpr::getArg(), clang::dataflow::getImplicitObjectLocation(), getSmartPtrLikeStorageLocation(), clang::ast_matchers::implicitCastExpr, isAssertionResultConstructFromBoolCall(), isAssertionResultOperatorBoolCall(), isAsStatusCallWithStatus(), isAsStatusCallWithStatusOr(), isComparisonOperatorCall(), isConstAccessorMemberCall(), isConstAccessorMemberOperatorCall(), isConstPointerAccessorMemberCall(), isConstPointerAccessorMemberOperatorCall(), 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(), transferConstAccessorMemberCall(), transferConstAccessorMemberOperatorCall(), transferConstPointerAccessorMemberCall(), transferConstPointerAccessorMemberOperatorCall(), 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 875 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), clang::dataflow::copyRecord(), clang::Expr::isPRValue(), and clang::Result.
Referenced by handleConstAccessorMemberCall().
|
static |
Definition at line 631 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 681 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 579 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 608 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 1318 of file UncheckedStatusOrAccessModel.cpp.
References clang::ASTContext::getTypes(), and isStatusType().
|
static |
Definition at line 674 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::get().
Referenced by evaluatePointerEquality().
|
static |
Definition at line 1138 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 475 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 898 of file UncheckedStatusOrAccessModel.cpp.
References doHandleConstAccessorMemberCall(), clang::Expr::getType(), isStatusOrType(), clang::Result, and transferStatusOrReturningCall().
Referenced by transferConstAccessorMemberCall(), and transferConstAccessorMemberOperatorCall().
|
static |
Definition at line 905 of file UncheckedStatusOrAccessModel.cpp.
References clang::Result.
Referenced by transferConstPointerAccessorMemberCall(), and transferConstPointerAccessorMemberOperatorCall().
|
static |
Definition at line 954 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 407 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 414 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus(), and locForStatus().
Referenced by transferAsStatusCallWithStatusOr(), transferStatusCall(), transferStatusOrConstructor(), transferStatusOrPtrReturningCall(), transferStatusOrReturningCall(), transferValueAssignmentCall(), and transferValueConstructor().
|
static |
Definition at line 340 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::cxxConstructExpr, clang::dataflow::hasName(), and clang::ast_matchers::recordDecl.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 332 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 460 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::ast_matchers::anyOf, clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, clang::ast_matchers::recordType, and clang::dataflow::referenceType.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 248 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, clang::ast_matchers::recordType, and clang::dataflow::referenceType.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 255 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, and clang::dataflow::pointerType.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 261 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, and clang::dataflow::pointerType.
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 277 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 300 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 267 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, and clang::ast_matchers::unless.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 272 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 455 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by getSyntheticFields().
|
static |
Definition at line 314 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 323 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 464 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by getSyntheticFields().
|
static |
Definition at line 290 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 353 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 347 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, and possiblyReferencedStatusOrType().
Referenced by buildTransferMatchSwitch().
Definition at line 447 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by evaluateEquality(), evaluatePointerEquality(), getStatusOrBaseClass(), handleConstAccessorMemberCall(), 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 359 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 451 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 495 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 508 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::RecordStorageLocation::getSyntheticField().
Referenced by transferMakePredicateFormatterFromStatusIsMatcherCall(), and transferStatusIsOkMatcherCall().
|
static |
Definition at line 504 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 491 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 isStatusOrPtrReturningCall(), and isStatusOrReturningCall().
| clang::ast_matchers::DeclarationMatcher clang::dataflow::statusor_model::statusClass | ( | ) |
Definition at line 426 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 419 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 431 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 437 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 442 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 1083 of file UncheckedStatusOrAccessModel.cpp.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1042 of file UncheckedStatusOrAccessModel.cpp.
References locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1058 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::BoolValue::formula(), clang::dataflow::getImplicitObjectLocation(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 823 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 839 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 660 of file UncheckedStatusOrAccessModel.cpp.
References evaluateEquality().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 916 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), clang::Expr::getType(), handleConstAccessorMemberCall(), clang::Type::isRecordType(), clang::Type::isReferenceType(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 927 of file UncheckedStatusOrAccessModel.cpp.
References clang::Expr::getType(), handleConstAccessorMemberCall(), clang::Type::isRecordType(), clang::Type::isReferenceType(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 939 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), handleConstPointerAccessorMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 946 of file UncheckedStatusOrAccessModel.cpp.
References handleConstPointerAccessorMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1073 of file UncheckedStatusOrAccessModel.cpp.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 743 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 808 of file UncheckedStatusOrAccessModel.cpp.
References evaluateEquality().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 795 of file UncheckedStatusOrAccessModel.cpp.
References clang::Expr::isPRValue().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 982 of file UncheckedStatusOrAccessModel.cpp.
References locForOkPredicate().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 998 of file UncheckedStatusOrAccessModel.cpp.
References clang::Expr::isPRValue(), locForOkMatcher(), and locForOkPredicate().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 966 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), handleNonConstMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 974 of file UncheckedStatusOrAccessModel.cpp.
References handleNonConstMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 734 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 726 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 712 of file UncheckedStatusOrAccessModel.cpp.
References evaluatePointerEquality().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 857 of file UncheckedStatusOrAccessModel.cpp.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1013 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::BoolValue::formula(), locForOk(), locForOkPredicate(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 524 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 786 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 990 of file UncheckedStatusOrAccessModel.cpp.
References locForOkMatcher().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 543 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 776 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 512 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1103 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 865 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr(), clang::Expr::isPRValue(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch(), handleConstAccessorMemberCall(), and handleNonConstMemberCall().
|
static |
Definition at line 1120 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), clang::dataflow::PointerValue::getPointeeLoc(), clang::Expr::getType(), initializeStatus(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 555 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForOk(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 755 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1093 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 768 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr().
Referenced by buildTransferMatchSwitch().
| BoolValue & clang::dataflow::statusor_model::valForOk | ( | RecordStorageLocation & | StatusLoc, |
| Environment & | Env ) |
Definition at line 499 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().