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 clang::ast_matchers::TypeMatcher clang::dataflow::statusor_model::statusType ()
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::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 ()
bool clang::dataflow::statusor_model::isStatusOrType (QualType Type)
bool clang::dataflow::statusor_model::isStatusType (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 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)
CFGMatchSwitch< LatticeTransferStateclang::dataflow::statusor_model::buildTransferMatchSwitch (ASTContext &Ctx, CFGMatchSwitchBuilder< LatticeTransferState > Builder)
QualType clang::dataflow::statusor_model::findStatusType (const ASTContext &Ctx)