|
clang 24.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 147 of file ASTMatchers.h.
|
static |
Definition at line 402 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 1215 of file UncheckedStatusOrAccessModel.cpp.
References clang::CallExpr::getArg(), clang::dataflow::getImplicitObjectLocation(), getSmartPtrLikeStorageLocation(), clang::ast_matchers::implicitCastExpr, isAssertionResultConstructFromBoolCall(), clang::dataflow::gtest::isAssertionResultExpectationOperatorBoolCall(), isAssertionResultOperatorBoolCall(), isAsStatusCallWithStatus(), isAsStatusCallWithStatusOr(), isComparisonOperatorCall(), isConstAccessorMemberCall(), isConstAccessorMemberOperatorCall(), isConstPointerAccessorMemberCall(), isConstPointerAccessorMemberOperatorCall(), isLoggingCheckEqImpl(), isLoggingGetReferenceableValueCall(), isMacroAdaptorCall(), isMakePredicateFormatterFromIsOkMatcherCall(), isMakePredicateFormatterFromStatusIsMatcherCall(), isNonConstMemberCall(), isNonConstMemberOperatorCall(), isNotOkStatusCall(), isOkStatusCall(), isPointerComparisonOperatorCall(), clang::dataflow::isPointerLikeOperatorArrow(), clang::dataflow::isPointerLikeOperatorStar(), isPredicateFormatterFromStatusMatcherCall(), isPredicateFormatterFromStatusOrMatcherCall(), isReturnIfErrorAdaptorOperatorBoolCall(), clang::dataflow::isSmartPointerLikeGetMethodCall(), clang::dataflow::isSmartPointerLikeValueMethodCall(), isStatusConstructor(), isStatusIsOkMatcherCall(), isStatusMemberCallWithName(), isStatusOrConstructor(), isStatusOrMemberCallWithName(), isStatusOrOperatorCallWithName(), isStatusOrPtrReturningCall(), isStatusOrReturningCall(), isStatusOrValueAssignmentCall(), isStatusOrValueConstructor(), isStatusPtrReturningCall(), locForOk(), clang::Result, transferArrowCall(), transferAssertionResultConstructFromBoolCall(), clang::dataflow::gtest::transferAssertionResultExpectationOperatorBoolCall(), transferAssertionResultOperatorBoolCall(), transferAsStatusCallWithStatus(), transferAsStatusCallWithStatusOr(), transferComparisonOperator(), transferConstAccessorMemberCall(), transferConstAccessorMemberOperatorCall(), transferConstPointerAccessorMemberCall(), transferConstPointerAccessorMemberOperatorCall(), transferDerefCall(), transferEmplaceCall(), transferLoggingCheckEqImpl(), transferLoggingGetReferenceableValueCall(), transferMacroAdaptorCall(), transferMakePredicateFormatterFromIsOkMatcherCall(), transferMakePredicateFormatterFromStatusIsMatcherCall(), transferNonConstMemberCall(), transferNonConstMemberOperatorCall(), transferNotOkStatusCall(), transferOkStatusCall(), transferPointerComparisonOperator(), transferPointerToBoolean(), transferPredicateFormatterMatcherCall(), transferReturnIfErrorAdaptorOperatorBoolCall(), 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 917 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), clang::dataflow::copyRecord(), clang::Expr::isPRValue(), and clang::Result.
Referenced by handleConstAccessorMemberCall().
|
static |
Definition at line 673 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 723 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 621 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 650 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 1397 of file UncheckedStatusOrAccessModel.cpp.
References clang::ASTContext::getTypes(), and isStatusType().
|
static |
Definition at line 716 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::get().
Referenced by evaluatePointerEquality().
|
static |
Definition at line 1180 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::getStorageLocation(), clang::dataflow::Environment::getValue(), and clang::Expr::isPRValue().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 81 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), clang::Type::getAsCXXRecordDecl(), getStatusOrBaseClass(), isStatusOrOperatorBaseType(), and isStatusOrType().
Referenced by getStatusOrBaseClass(), and getSyntheticFields().
|
static |
Definition at line 98 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 515 of file UncheckedStatusOrAccessModel.cpp.
References clang::ASTContext::BoolTy, clang::Type::getAsCXXRecordDecl(), clang::Decl::getASTContext(), getStatusOrBaseClass(), getStatusOrValueType(), clang::CXXRecordDecl::hasDefinition(), isAssertionResultType(), clang::CXXRecordDecl::isDerivedFrom(), IsMacroAdaptorType(), isPredicateFormatterFromMatcherType(), isStatusIsMatcherType(), and isStatusType().
|
static |
Definition at line 940 of file UncheckedStatusOrAccessModel.cpp.
References doHandleConstAccessorMemberCall(), clang::Expr::getType(), isStatusOrType(), clang::Result, and transferStatusOrReturningCall().
Referenced by transferConstAccessorMemberCall(), and transferConstAccessorMemberOperatorCall().
|
static |
Definition at line 947 of file UncheckedStatusOrAccessModel.cpp.
References clang::Result.
Referenced by transferConstPointerAccessorMemberCall(), and transferConstPointerAccessorMemberOperatorCall().
|
static |
Definition at line 996 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 442 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 449 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 495 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by getSyntheticFields().
|
static |
Definition at line 224 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 231 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 143 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 243 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 250 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 257 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, and clang::dataflow::pointerType.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 263 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMethodDecl, clang::dataflow::cxxOperatorCallExpr, and clang::dataflow::pointerType.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 218 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, and clang::dataflow::hasName().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 212 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, and clang::dataflow::hasName().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 394 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, clang::dataflow::hasName(), and returnIfErrorAdaptorType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 510 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed(), and clang::ast_matchers::type.
Referenced by getSyntheticFields().
|
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 156 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 151 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::callExpr, clang::ast_matchers::functionDecl, and clang::dataflow::hasName().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 169 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 490 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 386 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::cxxMemberCallExpr, clang::dataflow::cxxMethodDecl, clang::ast_matchers::cxxThisExpr, clang::ast_matchers::expr, clang::dataflow::hasName(), ofClassReturnIfErrorAdaptor(), and clang::ast_matchers::unless.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 71 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::get(), locForOk(), locForStatus(), and clang::dataflow::Environment::proves().
Referenced by buildDiagnoseMatchSwitch().
|
static |
Definition at line 208 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::cxxConstructExpr, and statusType().
Referenced by buildTransferMatchSwitch().
Definition at line 499 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 107 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 203 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::cxxConstructExpr, and statusOrType().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 114 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 67 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by getStatusOrBaseClass().
|
static |
Definition at line 123 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 482 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by evaluateEquality(), evaluatePointerEquality(), getStatusOrBaseClass(), handleConstAccessorMemberCall(), and handleNonConstMemberCall().
|
static |
Definition at line 182 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 192 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 486 of file UncheckedStatusOrAccessModel.cpp.
References isTypeNamed().
Referenced by evaluateEquality(), evaluatePointerEquality(), findStatusType(), and getSyntheticFields().
|
static |
Definition at line 56 of file UncheckedStatusOrAccessModel.cpp.
References clang::Type::getAsRecordDecl(), and namespaceEquals().
Referenced by isAssertionResultType(), IsMacroAdaptorType(), isPredicateFormatterFromMatcherType(), isStatusIsMatcherType(), isStatusOrOperatorBaseType(), isStatusOrType(), and isStatusType().
| StorageLocation & clang::dataflow::statusor_model::locForOk | ( | RecordStorageLocation & | StatusLoc | ) |
Definition at line 537 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::RecordStorageLocation::getSyntheticField().
Referenced by buildTransferMatchSwitch(), initializeStatus(), isSafeUnwrap(), transferAssertionResultConstructFromBoolCall(), transferAssertionResultOperatorBoolCall(), transferAsStatusCallWithStatus(), transferAsStatusCallWithStatusOr(), transferPredicateFormatterMatcherCall(), transferStatusCall(), transferStatusConstructor(), transferStatusOkCall(), transferStatusOrConstructor(), transferStatusOrPtrReturningCall(), transferStatusOrReturningCall(), transferStatusPtrReturningCall(), transferStatusUpdateCall(), and valForOk().
|
static |
Definition at line 550 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::RecordStorageLocation::getSyntheticField().
Referenced by transferMakePredicateFormatterFromStatusIsMatcherCall(), and transferStatusIsOkMatcherCall().
|
static |
Definition at line 546 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 533 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), and clang::dataflow::RecordStorageLocation::getSyntheticField().
Referenced by evaluatePointerEquality(), evaluateStatusOrEquality(), initializeStatusOr(), isSafeUnwrap(), transferAsStatusCallWithStatusOr(), transferEmplaceCall(), transferMacroAdaptorCall(), transferPredicateFormatterMatcherCall(), transferReturnIfErrorAdaptorOperatorBoolCall(), transferStatusCall(), transferStatusOrConstructor(), transferStatusOrOkCall(), transferStatusOrPtrReturningCall(), and transferStatusOrReturningCall().
|
static |
Definition at line 45 of file UncheckedStatusOrAccessModel.cpp.
References clang::NamedDecl::getName(), and clang::DeclContext::getParent().
Referenced by isTypeNamed().
|
static |
Definition at line 368 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::hasName().
Referenced by isReturnIfErrorAdaptorOperatorBoolCall().
|
static |
Definition at line 102 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::hasName().
Referenced by isStatusMemberCallWithName().
|
static |
Definition at line 238 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::dataflow::referenceType, and statusOrType().
Referenced by isStatusOrPtrReturningCall(), and isStatusOrReturningCall().
|
static |
Definition at line 374 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::cxxRecordDecl, and clang::dataflow::hasName().
Referenced by returnIfErrorAdaptorType().
|
static |
Definition at line 380 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::hasDeclaration(), clang::ast_matchers::recordType, and returnIfErrorAdaptorClass().
Referenced by isMacroAdaptorCall().
| clang::ast_matchers::DeclarationMatcher clang::dataflow::statusor_model::statusClass | ( | ) |
Definition at line 461 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 454 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 466 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 472 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 477 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 1125 of file UncheckedStatusOrAccessModel.cpp.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1084 of file UncheckedStatusOrAccessModel.cpp.
References locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1100 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::BoolValue::formula(), clang::dataflow::getImplicitObjectLocation(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 865 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 881 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 702 of file UncheckedStatusOrAccessModel.cpp.
References evaluateEquality().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 958 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 969 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 981 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), handleConstPointerAccessorMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 988 of file UncheckedStatusOrAccessModel.cpp.
References handleConstPointerAccessorMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1115 of file UncheckedStatusOrAccessModel.cpp.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 785 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 850 of file UncheckedStatusOrAccessModel.cpp.
References evaluateEquality().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 837 of file UncheckedStatusOrAccessModel.cpp.
References clang::Expr::isPRValue().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1188 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::copyRecord(), and locForStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1024 of file UncheckedStatusOrAccessModel.cpp.
References locForOkPredicate().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1040 of file UncheckedStatusOrAccessModel.cpp.
References clang::Expr::isPRValue(), locForOkMatcher(), and locForOkPredicate().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1008 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), handleNonConstMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1016 of file UncheckedStatusOrAccessModel.cpp.
References handleNonConstMemberCall(), and clang::Result.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 776 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 768 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 754 of file UncheckedStatusOrAccessModel.cpp.
References evaluatePointerEquality().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 899 of file UncheckedStatusOrAccessModel.cpp.
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1055 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::BoolValue::formula(), locForOk(), locForOkPredicate(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1202 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 566 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 828 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatus(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1032 of file UncheckedStatusOrAccessModel.cpp.
References locForOkMatcher().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 585 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 818 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 554 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForStatus(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1145 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 907 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr(), clang::Expr::isPRValue(), locForOk(), and locForStatus().
Referenced by buildTransferMatchSwitch(), handleConstAccessorMemberCall(), and handleNonConstMemberCall().
|
static |
Definition at line 1162 of file UncheckedStatusOrAccessModel.cpp.
References clang::cast(), clang::dataflow::PointerValue::getPointeeLoc(), clang::Expr::getType(), initializeStatus(), and locForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 597 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation(), locForOk(), and valForOk().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 797 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 1135 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::getImplicitObjectLocation().
Referenced by buildTransferMatchSwitch().
|
static |
Definition at line 810 of file UncheckedStatusOrAccessModel.cpp.
References initializeStatusOr().
Referenced by buildTransferMatchSwitch().
| BoolValue & clang::dataflow::statusor_model::valForOk | ( | RecordStorageLocation & | StatusLoc, |
| Environment & | Env ) |
Definition at line 541 of file UncheckedStatusOrAccessModel.cpp.
References clang::dataflow::Environment::get(), initializeStatus(), and locForOk().
Referenced by evaluatePointerEquality(), evaluateStatusEquality(), evaluateStatusOrEquality(), transferEmplaceCall(), transferPredicateFormatterMatcherCall(), transferReturnIfErrorAdaptorOperatorBoolCall(), transferStatusOrOkCall(), and transferStatusUpdateCall().
|
static |
Definition at line 131 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, and isStatusOrMemberCallWithName().
Referenced by buildDiagnoseMatchSwitch().
|
static |
Definition at line 137 of file UncheckedStatusOrAccessModel.cpp.
References clang::ast_matchers::anyOf, clang::ast_matchers::expr, and isStatusOrOperatorCallWithName().
Referenced by buildDiagnoseMatchSwitch().