clang 22.0.0git
UncheckedStatusOrAccessModel.cpp File Reference

Go to the source code of this file.

Classes

class  clang::dataflow::statusor_model::MatchFinder
 A class to allow finding matches over the Clang AST. More...

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::dataflow
 Dataflow Directional Tag Classes.
namespace  clang::dataflow::statusor_model

Typedefs

using clang::dataflow::statusor_model::StatementMatcher

Functions

static bool clang::dataflow::statusor_model::namespaceEquals (const NamespaceDecl *NS, clang::ArrayRef< clang::StringRef > NamespaceNames)
static bool clang::dataflow::statusor_model::isTypeNamed (QualType Type, clang::ArrayRef< clang::StringRef > NS, StringRef Name)
static bool clang::dataflow::statusor_model::isStatusOrOperatorBaseType (QualType Type)
static bool clang::dataflow::statusor_model::isSafeUnwrap (RecordStorageLocation *StatusOrLoc, const Environment &Env)
static ClassTemplateSpecializationDeclclang::dataflow::statusor_model::getStatusOrBaseClass (const QualType &Ty)
static QualType clang::dataflow::statusor_model::getStatusOrValueType (ClassTemplateSpecializationDecl *TRD)
static auto clang::dataflow::statusor_model::ofClassStatus ()
static auto clang::dataflow::statusor_model::isStatusMemberCallWithName (llvm::StringRef member_name)
static auto clang::dataflow::statusor_model::isStatusOrMemberCallWithName (llvm::StringRef member_name)
static auto clang::dataflow::statusor_model::isStatusOrOperatorCallWithName (llvm::StringRef operator_name)
static auto clang::dataflow::statusor_model::valueCall ()
static auto clang::dataflow::statusor_model::valueOperatorCall ()
static auto clang::dataflow::statusor_model::isComparisonOperatorCall (llvm::StringRef operator_name)
static auto clang::dataflow::statusor_model::isOkStatusCall ()
static auto clang::dataflow::statusor_model::isNotOkStatusCall ()
static auto clang::dataflow::statusor_model::isPointerComparisonOperatorCall (std::string operator_name)
static auto clang::dataflow::statusor_model::isStatusOrValueAssignmentCall ()
static auto clang::dataflow::statusor_model::isStatusOrValueConstructor ()
static auto clang::dataflow::statusor_model::isStatusOrConstructor ()
static auto clang::dataflow::statusor_model::isStatusConstructor ()
static auto clang::dataflow::statusor_model::isLoggingGetReferenceableValueCall ()
static auto clang::dataflow::statusor_model::isLoggingCheckEqImpl ()
static auto clang::dataflow::statusor_model::isAsStatusCallWithStatus ()
static auto clang::dataflow::statusor_model::isAsStatusCallWithStatusOr ()
static auto clang::dataflow::statusor_model::possiblyReferencedStatusOrType ()
static auto clang::dataflow::statusor_model::isConstStatusOrAccessorMemberCall ()
static auto clang::dataflow::statusor_model::isConstStatusOrAccessorMemberOperatorCall ()
static auto clang::dataflow::statusor_model::isConstStatusOrPointerAccessorMemberCall ()
static auto clang::dataflow::statusor_model::isConstStatusOrPointerAccessorMemberOperatorCall ()
static auto clang::dataflow::statusor_model::isNonConstMemberCall ()
static auto clang::dataflow::statusor_model::isNonConstMemberOperatorCall ()
static auto clang::dataflow::statusor_model::isMakePredicateFormatterFromIsOkMatcherCall ()
static auto clang::dataflow::statusor_model::isStatusIsOkMatcherCall ()
static auto clang::dataflow::statusor_model::isMakePredicateFormatterFromStatusIsMatcherCall ()
static auto clang::dataflow::statusor_model::isPredicateFormatterFromStatusMatcherCall ()
static auto clang::dataflow::statusor_model::isPredicateFormatterFromStatusOrMatcherCall ()
static auto clang::dataflow::statusor_model::isAssertionResultOperatorBoolCall ()
static auto clang::dataflow::statusor_model::isAssertionResultConstructFromBoolCall ()
static auto clang::dataflow::statusor_model::isStatusOrReturningCall ()
static auto clang::dataflow::statusor_model::isStatusOrPtrReturningCall ()
static auto clang::dataflow::statusor_model::isStatusPtrReturningCall ()
static auto clang::dataflow::statusor_model::buildDiagnoseMatchSwitch (const UncheckedStatusOrAccessModelOptions &Options)
BoolValueclang::dataflow::statusor_model::initializeStatus (RecordStorageLocation &StatusLoc, Environment &Env)
BoolValueclang::dataflow::statusor_model::initializeStatusOr (RecordStorageLocation &StatusOrLoc, Environment &Env)
clang::ast_matchers::DeclarationMatcher clang::dataflow::statusor_model::statusOrClass ()
clang::ast_matchers::DeclarationMatcher clang::dataflow::statusor_model::statusClass ()
clang::ast_matchers::DeclarationMatcher clang::dataflow::statusor_model::statusOrOperatorBaseClass ()
clang::ast_matchers::TypeMatcher clang::dataflow::statusor_model::statusOrType ()
clang::ast_matchers::TypeMatcher clang::dataflow::statusor_model::statusType ()
bool clang::dataflow::statusor_model::isStatusOrType (QualType Type)
bool clang::dataflow::statusor_model::isStatusType (QualType Type)
static bool clang::dataflow::statusor_model::isPredicateFormatterFromMatcherType (QualType Type)
static bool clang::dataflow::statusor_model::isAssertionResultType (QualType Type)
static bool clang::dataflow::statusor_model::isStatusIsMatcherType (QualType Type)
llvm::StringMap< QualTypeclang::dataflow::statusor_model::getSyntheticFields (QualType Ty, QualType StatusType, const CXXRecordDecl &RD)
RecordStorageLocationclang::dataflow::statusor_model::locForStatus (RecordStorageLocation &StatusOrLoc)
StorageLocationclang::dataflow::statusor_model::locForOk (RecordStorageLocation &StatusLoc)
BoolValueclang::dataflow::statusor_model::valForOk (RecordStorageLocation &StatusLoc, Environment &Env)
static StorageLocationclang::dataflow::statusor_model::locForOkPredicate (RecordStorageLocation &StatusLoc)
static StorageLocationclang::dataflow::statusor_model::locForOkMatcher (RecordStorageLocation &StatusLoc)
static void clang::dataflow::statusor_model::transferStatusOrOkCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferStatusCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferStatusOkCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferStatusUpdateCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static BoolValueclang::dataflow::statusor_model::evaluateStatusEquality (RecordStorageLocation &LhsStatusLoc, RecordStorageLocation &RhsStatusLoc, Environment &Env)
static BoolValueclang::dataflow::statusor_model::evaluateStatusOrEquality (RecordStorageLocation &LhsStatusOrLoc, RecordStorageLocation &RhsStatusOrLoc, Environment &Env)
static BoolValueclang::dataflow::statusor_model::evaluateEquality (const Expr *LhsExpr, const Expr *RhsExpr, Environment &Env)
static void clang::dataflow::statusor_model::transferComparisonOperator (const CXXOperatorCallExpr *Expr, LatticeTransferState &State, bool IsNegative)
static RecordStorageLocationclang::dataflow::statusor_model::getPointeeLocation (const Expr &Expr, Environment &Env)
static BoolValueclang::dataflow::statusor_model::evaluatePointerEquality (const Expr *LhsExpr, const Expr *RhsExpr, Environment &Env)
static void clang::dataflow::statusor_model::transferPointerComparisonOperator (const BinaryOperator *Expr, LatticeTransferState &State, bool IsNegative)
static void clang::dataflow::statusor_model::transferOkStatusCall (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferNotOkStatusCall (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferEmplaceCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferValueAssignmentCall (const CXXOperatorCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferValueConstructor (const CXXConstructExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferStatusOrConstructor (const CXXConstructExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferStatusConstructor (const CXXConstructExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferLoggingGetReferenceableValueCall (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferLoggingCheckEqImpl (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferAsStatusCallWithStatus (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferAsStatusCallWithStatusOr (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferPointerToBoolean (const ImplicitCastExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferStatusOrReturningCall (const CallExpr *Expr, LatticeTransferState &State)
static bool clang::dataflow::statusor_model::doHandleConstStatusOrAccessorMemberCall (const CallExpr *Expr, RecordStorageLocation *RecordLoc, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::handleConstStatusOrAccessorMemberCall (const CallExpr *Expr, RecordStorageLocation *RecordLoc, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::handleConstStatusOrPointerAccessorMemberCall (const CallExpr *Expr, RecordStorageLocation *RecordLoc, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferConstStatusOrAccessorMemberCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferConstStatusOrAccessorMemberOperatorCall (const CXXOperatorCallExpr *Expr, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferConstStatusOrPointerAccessorMemberCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferConstStatusOrPointerAccessorMemberOperatorCall (const CXXOperatorCallExpr *Expr, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::handleNonConstMemberCall (const CallExpr *Expr, RecordStorageLocation *RecordLoc, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferNonConstMemberCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferNonConstMemberOperatorCall (const CXXOperatorCallExpr *Expr, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferMakePredicateFormatterFromIsOkMatcherCall (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferStatusIsOkMatcherCall (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferMakePredicateFormatterFromStatusIsMatcherCall (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferPredicateFormatterMatcherCall (const CXXOperatorCallExpr *Expr, LatticeTransferState &State, bool IsStatusOr)
static void clang::dataflow::statusor_model::transferAssertionResultConstructFromBoolCall (const CXXConstructExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferAssertionResultOperatorBoolCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferDerefCall (const CXXOperatorCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferArrowCall (const CXXOperatorCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferValueCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferStatusOrPtrReturningCall (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void clang::dataflow::statusor_model::transferStatusPtrReturningCall (const CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static RecordStorageLocationclang::dataflow::statusor_model::getSmartPtrLikeStorageLocation (const Expr &E, const Environment &Env)
CFGMatchSwitch< LatticeTransferStateclang::dataflow::statusor_model::buildTransferMatchSwitch (ASTContext &Ctx, CFGMatchSwitchBuilder< LatticeTransferState > Builder)
QualType clang::dataflow::statusor_model::findStatusType (const ASTContext &Ctx)