clang 22.0.0git
clang::dataflow::statusor_model Namespace Reference

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

Functions

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

Typedef Documentation

◆ LatticeTransferState

Initial value:
A common form of state shared between the cases of a transfer function.
Definition MatchSwitch.h:41

Definition at line 87 of file UncheckedStatusOrAccessModel.h.

◆ StatementMatcher

Definition at line 146 of file ASTMatchers.h.

Function Documentation

◆ buildDiagnoseMatchSwitch()

◆ buildTransferMatchSwitch()

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().

◆ doHandleConstStatusOrAccessorMemberCall()

bool clang::dataflow::statusor_model::doHandleConstStatusOrAccessorMemberCall ( const CallExpr * Expr,
RecordStorageLocation * RecordLoc,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ evaluateEquality()

BoolValue * clang::dataflow::statusor_model::evaluateEquality ( const Expr * LhsExpr,
const Expr * RhsExpr,
Environment & Env )
static

◆ evaluatePointerEquality()

◆ evaluateStatusEquality()

BoolValue * clang::dataflow::statusor_model::evaluateStatusEquality ( RecordStorageLocation & LhsStatusLoc,
RecordStorageLocation & RhsStatusLoc,
Environment & Env )
static

◆ evaluateStatusOrEquality()

BoolValue * clang::dataflow::statusor_model::evaluateStatusOrEquality ( RecordStorageLocation & LhsStatusOrLoc,
RecordStorageLocation & RhsStatusOrLoc,
Environment & Env )
static

◆ findStatusType()

QualType clang::dataflow::statusor_model::findStatusType ( const ASTContext & Ctx)

◆ getPointeeLocation()

RecordStorageLocation * clang::dataflow::statusor_model::getPointeeLocation ( const Expr & Expr,
Environment & Env )
static

◆ getSmartPtrLikeStorageLocation()

RecordStorageLocation * clang::dataflow::statusor_model::getSmartPtrLikeStorageLocation ( const Expr & E,
const Environment & Env )
static

◆ getStatusOrBaseClass()

ClassTemplateSpecializationDecl * clang::dataflow::statusor_model::getStatusOrBaseClass ( const QualType & Ty)
static

◆ getStatusOrValueType()

◆ getSyntheticFields()

◆ handleConstStatusOrAccessorMemberCall()

void clang::dataflow::statusor_model::handleConstStatusOrAccessorMemberCall ( const CallExpr * Expr,
RecordStorageLocation * RecordLoc,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ handleConstStatusOrPointerAccessorMemberCall()

void clang::dataflow::statusor_model::handleConstStatusOrPointerAccessorMemberCall ( const CallExpr * Expr,
RecordStorageLocation * RecordLoc,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ handleNonConstMemberCall()

void clang::dataflow::statusor_model::handleNonConstMemberCall ( const CallExpr * Expr,
RecordStorageLocation * RecordLoc,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ initializeStatus()

◆ initializeStatusOr()

◆ isAssertionResultConstructFromBoolCall()

auto clang::dataflow::statusor_model::isAssertionResultConstructFromBoolCall ( )
static

◆ isAssertionResultOperatorBoolCall()

auto clang::dataflow::statusor_model::isAssertionResultOperatorBoolCall ( )
static

◆ isAssertionResultType()

bool clang::dataflow::statusor_model::isAssertionResultType ( QualType Type)
static

Definition at line 462 of file UncheckedStatusOrAccessModel.cpp.

References isTypeNamed().

Referenced by getSyntheticFields().

◆ isAsStatusCallWithStatus()

auto clang::dataflow::statusor_model::isAsStatusCallWithStatus ( )
static

◆ isAsStatusCallWithStatusOr()

auto clang::dataflow::statusor_model::isAsStatusCallWithStatusOr ( )
static

◆ isComparisonOperatorCall()

auto clang::dataflow::statusor_model::isComparisonOperatorCall ( llvm::StringRef operator_name)
static

◆ isConstStatusOrAccessorMemberCall()

auto clang::dataflow::statusor_model::isConstStatusOrAccessorMemberCall ( )
static

◆ isConstStatusOrAccessorMemberOperatorCall()

auto clang::dataflow::statusor_model::isConstStatusOrAccessorMemberOperatorCall ( )
static

◆ isConstStatusOrPointerAccessorMemberCall()

auto clang::dataflow::statusor_model::isConstStatusOrPointerAccessorMemberCall ( )
static

◆ isConstStatusOrPointerAccessorMemberOperatorCall()

auto clang::dataflow::statusor_model::isConstStatusOrPointerAccessorMemberOperatorCall ( )
static

◆ isLoggingCheckEqImpl()

auto clang::dataflow::statusor_model::isLoggingCheckEqImpl ( )
static

◆ isLoggingGetReferenceableValueCall()

auto clang::dataflow::statusor_model::isLoggingGetReferenceableValueCall ( )
static

◆ isMakePredicateFormatterFromIsOkMatcherCall()

auto clang::dataflow::statusor_model::isMakePredicateFormatterFromIsOkMatcherCall ( )
static

◆ isMakePredicateFormatterFromStatusIsMatcherCall()

auto clang::dataflow::statusor_model::isMakePredicateFormatterFromStatusIsMatcherCall ( )
static

◆ isNonConstMemberCall()

auto clang::dataflow::statusor_model::isNonConstMemberCall ( )
static

◆ isNonConstMemberOperatorCall()

auto clang::dataflow::statusor_model::isNonConstMemberOperatorCall ( )
static

◆ isNotOkStatusCall()

auto clang::dataflow::statusor_model::isNotOkStatusCall ( )
static

◆ isOkStatusCall()

auto clang::dataflow::statusor_model::isOkStatusCall ( )
static

◆ isPointerComparisonOperatorCall()

auto clang::dataflow::statusor_model::isPointerComparisonOperatorCall ( std::string operator_name)
static

◆ isPredicateFormatterFromMatcherType()

bool clang::dataflow::statusor_model::isPredicateFormatterFromMatcherType ( QualType Type)
static

Definition at line 457 of file UncheckedStatusOrAccessModel.cpp.

References isTypeNamed().

Referenced by getSyntheticFields().

◆ isPredicateFormatterFromStatusMatcherCall()

auto clang::dataflow::statusor_model::isPredicateFormatterFromStatusMatcherCall ( )
static

◆ isPredicateFormatterFromStatusOrMatcherCall()

auto clang::dataflow::statusor_model::isPredicateFormatterFromStatusOrMatcherCall ( )
static

◆ isSafeUnwrap()

bool clang::dataflow::statusor_model::isSafeUnwrap ( RecordStorageLocation * StatusOrLoc,
const Environment & Env )
static

◆ isStatusConstructor()

auto clang::dataflow::statusor_model::isStatusConstructor ( )
static

◆ isStatusIsMatcherType()

bool clang::dataflow::statusor_model::isStatusIsMatcherType ( QualType Type)
static

Definition at line 466 of file UncheckedStatusOrAccessModel.cpp.

References isTypeNamed().

Referenced by getSyntheticFields().

◆ isStatusIsOkMatcherCall()

◆ isStatusMemberCallWithName()

auto clang::dataflow::statusor_model::isStatusMemberCallWithName ( llvm::StringRef member_name)
static

◆ isStatusOrConstructor()

auto clang::dataflow::statusor_model::isStatusOrConstructor ( )
static

◆ isStatusOrMemberCallWithName()

◆ isStatusOrOperatorBaseType()

bool clang::dataflow::statusor_model::isStatusOrOperatorBaseType ( QualType Type)
static

Definition at line 65 of file UncheckedStatusOrAccessModel.cpp.

References isTypeNamed().

Referenced by getStatusOrBaseClass().

◆ isStatusOrOperatorCallWithName()

auto clang::dataflow::statusor_model::isStatusOrOperatorCallWithName ( llvm::StringRef operator_name)
static

◆ isStatusOrPtrReturningCall()

auto clang::dataflow::statusor_model::isStatusOrPtrReturningCall ( )
static

◆ isStatusOrReturningCall()

auto clang::dataflow::statusor_model::isStatusOrReturningCall ( )
static

◆ isStatusOrType()

bool clang::dataflow::statusor_model::isStatusOrType ( QualType Type)

◆ isStatusOrValueAssignmentCall()

◆ isStatusOrValueConstructor()

auto clang::dataflow::statusor_model::isStatusOrValueConstructor ( )
static

◆ isStatusPtrReturningCall()

◆ isStatusType()

bool clang::dataflow::statusor_model::isStatusType ( QualType Type)

◆ isTypeNamed()

bool clang::dataflow::statusor_model::isTypeNamed ( QualType Type,
clang::ArrayRef< clang::StringRef > NS,
StringRef Name )
static

◆ locForOk()

◆ locForOkMatcher()

◆ locForOkPredicate()

◆ locForStatus()

◆ namespaceEquals()

bool clang::dataflow::statusor_model::namespaceEquals ( const NamespaceDecl * NS,
clang::ArrayRef< clang::StringRef > NamespaceNames )
static

◆ ofClassStatus()

auto clang::dataflow::statusor_model::ofClassStatus ( )
static

Definition at line 100 of file UncheckedStatusOrAccessModel.cpp.

References clang::dataflow::hasName().

Referenced by isStatusMemberCallWithName().

◆ possiblyReferencedStatusOrType()

◆ statusClass()

◆ statusOrClass()

◆ statusOrOperatorBaseClass()

◆ statusOrType()

◆ statusType()

◆ transferArrowCall()

void clang::dataflow::statusor_model::transferArrowCall ( const CXXOperatorCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 1076 of file UncheckedStatusOrAccessModel.cpp.

Referenced by buildTransferMatchSwitch().

◆ transferAssertionResultConstructFromBoolCall()

void clang::dataflow::statusor_model::transferAssertionResultConstructFromBoolCall ( const CXXConstructExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 1035 of file UncheckedStatusOrAccessModel.cpp.

References locForOk().

Referenced by buildTransferMatchSwitch().

◆ transferAssertionResultOperatorBoolCall()

void clang::dataflow::statusor_model::transferAssertionResultOperatorBoolCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferAsStatusCallWithStatus()

void clang::dataflow::statusor_model::transferAsStatusCallWithStatus ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 825 of file UncheckedStatusOrAccessModel.cpp.

References initializeStatus(), and locForOk().

Referenced by buildTransferMatchSwitch().

◆ transferAsStatusCallWithStatusOr()

void clang::dataflow::statusor_model::transferAsStatusCallWithStatusOr ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferComparisonOperator()

void clang::dataflow::statusor_model::transferComparisonOperator ( const CXXOperatorCallExpr * Expr,
LatticeTransferState & State,
bool IsNegative )
static

Definition at line 662 of file UncheckedStatusOrAccessModel.cpp.

References evaluateEquality().

Referenced by buildTransferMatchSwitch().

◆ transferConstStatusOrAccessorMemberCall()

void clang::dataflow::statusor_model::transferConstStatusOrAccessorMemberCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ transferConstStatusOrAccessorMemberOperatorCall()

void clang::dataflow::statusor_model::transferConstStatusOrAccessorMemberOperatorCall ( const CXXOperatorCallExpr * Expr,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ transferConstStatusOrPointerAccessorMemberCall()

void clang::dataflow::statusor_model::transferConstStatusOrPointerAccessorMemberCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ transferConstStatusOrPointerAccessorMemberOperatorCall()

void clang::dataflow::statusor_model::transferConstStatusOrPointerAccessorMemberOperatorCall ( const CXXOperatorCallExpr * Expr,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ transferDerefCall()

void clang::dataflow::statusor_model::transferDerefCall ( const CXXOperatorCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 1066 of file UncheckedStatusOrAccessModel.cpp.

Referenced by buildTransferMatchSwitch().

◆ transferEmplaceCall()

void clang::dataflow::statusor_model::transferEmplaceCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferLoggingCheckEqImpl()

void clang::dataflow::statusor_model::transferLoggingCheckEqImpl ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 810 of file UncheckedStatusOrAccessModel.cpp.

References evaluateEquality().

Referenced by buildTransferMatchSwitch().

◆ transferLoggingGetReferenceableValueCall()

void clang::dataflow::statusor_model::transferLoggingGetReferenceableValueCall ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 797 of file UncheckedStatusOrAccessModel.cpp.

References clang::Expr::isPRValue().

Referenced by buildTransferMatchSwitch().

◆ transferMakePredicateFormatterFromIsOkMatcherCall()

void clang::dataflow::statusor_model::transferMakePredicateFormatterFromIsOkMatcherCall ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 975 of file UncheckedStatusOrAccessModel.cpp.

References locForOkPredicate().

Referenced by buildTransferMatchSwitch().

◆ transferMakePredicateFormatterFromStatusIsMatcherCall()

void clang::dataflow::statusor_model::transferMakePredicateFormatterFromStatusIsMatcherCall ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferNonConstMemberCall()

void clang::dataflow::statusor_model::transferNonConstMemberCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ transferNonConstMemberOperatorCall()

void clang::dataflow::statusor_model::transferNonConstMemberOperatorCall ( const CXXOperatorCallExpr * Expr,
const MatchFinder::MatchResult & Result,
LatticeTransferState & State )
static

◆ transferNotOkStatusCall()

void clang::dataflow::statusor_model::transferNotOkStatusCall ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 736 of file UncheckedStatusOrAccessModel.cpp.

References initializeStatus().

Referenced by buildTransferMatchSwitch().

◆ transferOkStatusCall()

void clang::dataflow::statusor_model::transferOkStatusCall ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 728 of file UncheckedStatusOrAccessModel.cpp.

References initializeStatus().

Referenced by buildTransferMatchSwitch().

◆ transferPointerComparisonOperator()

void clang::dataflow::statusor_model::transferPointerComparisonOperator ( const BinaryOperator * Expr,
LatticeTransferState & State,
bool IsNegative )
static

Definition at line 714 of file UncheckedStatusOrAccessModel.cpp.

References evaluatePointerEquality().

Referenced by buildTransferMatchSwitch().

◆ transferPointerToBoolean()

void clang::dataflow::statusor_model::transferPointerToBoolean ( const ImplicitCastExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 859 of file UncheckedStatusOrAccessModel.cpp.

Referenced by buildTransferMatchSwitch().

◆ transferPredicateFormatterMatcherCall()

void clang::dataflow::statusor_model::transferPredicateFormatterMatcherCall ( const CXXOperatorCallExpr * Expr,
LatticeTransferState & State,
bool IsStatusOr )
static

◆ transferStatusCall()

void clang::dataflow::statusor_model::transferStatusCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferStatusConstructor()

void clang::dataflow::statusor_model::transferStatusConstructor ( const CXXConstructExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 788 of file UncheckedStatusOrAccessModel.cpp.

References initializeStatus(), and locForOk().

Referenced by buildTransferMatchSwitch().

◆ transferStatusIsOkMatcherCall()

void clang::dataflow::statusor_model::transferStatusIsOkMatcherCall ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 983 of file UncheckedStatusOrAccessModel.cpp.

References locForOkMatcher().

Referenced by buildTransferMatchSwitch().

◆ transferStatusOkCall()

void clang::dataflow::statusor_model::transferStatusOkCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferStatusOrConstructor()

void clang::dataflow::statusor_model::transferStatusOrConstructor ( const CXXConstructExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferStatusOrOkCall()

void clang::dataflow::statusor_model::transferStatusOrOkCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferStatusOrPtrReturningCall()

void clang::dataflow::statusor_model::transferStatusOrPtrReturningCall ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferStatusOrReturningCall()

void clang::dataflow::statusor_model::transferStatusOrReturningCall ( const CallExpr * Expr,
LatticeTransferState & State )
static

◆ transferStatusPtrReturningCall()

void clang::dataflow::statusor_model::transferStatusPtrReturningCall ( const CallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferStatusUpdateCall()

void clang::dataflow::statusor_model::transferStatusUpdateCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferValueAssignmentCall()

void clang::dataflow::statusor_model::transferValueAssignmentCall ( const CXXOperatorCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 757 of file UncheckedStatusOrAccessModel.cpp.

References initializeStatusOr().

Referenced by buildTransferMatchSwitch().

◆ transferValueCall()

void clang::dataflow::statusor_model::transferValueCall ( const CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

◆ transferValueConstructor()

void clang::dataflow::statusor_model::transferValueConstructor ( const CXXConstructExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
static

Definition at line 770 of file UncheckedStatusOrAccessModel.cpp.

References initializeStatusOr().

Referenced by buildTransferMatchSwitch().

◆ valForOk()

◆ valueCall()

auto clang::dataflow::statusor_model::valueCall ( )
static

◆ valueOperatorCall()

auto clang::dataflow::statusor_model::valueOperatorCall ( )
static