clang 23.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 isConstAccessorMemberCall ()
static auto isConstAccessorMemberOperatorCall ()
static auto isConstPointerAccessorMemberCall ()
static auto isConstPointerAccessorMemberOperatorCall ()
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 doHandleConstAccessorMemberCall (const CallExpr *Expr, RecordStorageLocation *RecordLoc, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void handleConstAccessorMemberCall (const CallExpr *Expr, RecordStorageLocation *RecordLoc, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void handleConstPointerAccessorMemberCall (const CallExpr *Expr, RecordStorageLocation *RecordLoc, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void transferConstAccessorMemberCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void transferConstAccessorMemberOperatorCall (const CXXOperatorCallExpr *Expr, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void transferConstPointerAccessorMemberCall (const CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &Result, LatticeTransferState &State)
static void transferConstPointerAccessorMemberOperatorCall (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 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().

◆ doHandleConstAccessorMemberCall()

bool clang::dataflow::statusor_model::doHandleConstAccessorMemberCall ( 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()

◆ handleConstAccessorMemberCall()

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

◆ handleConstPointerAccessorMemberCall()

void clang::dataflow::statusor_model::handleConstPointerAccessorMemberCall ( 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 460 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

◆ isConstAccessorMemberCall()

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

◆ isConstAccessorMemberOperatorCall()

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

◆ isConstPointerAccessorMemberCall()

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

◆ isConstPointerAccessorMemberOperatorCall()

auto clang::dataflow::statusor_model::isConstPointerAccessorMemberOperatorCall ( )
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 455 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 464 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()

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

◆ statusClass()

◆ statusOrClass()

◆ statusOrOperatorBaseClass()

◆ statusOrType()

◆ statusType()

◆ transferArrowCall()

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

Definition at line 1083 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 1042 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 823 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 660 of file UncheckedStatusOrAccessModel.cpp.

References evaluateEquality().

Referenced by buildTransferMatchSwitch().

◆ transferConstAccessorMemberCall()

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

◆ transferConstAccessorMemberOperatorCall()

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

◆ transferConstPointerAccessorMemberCall()

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

◆ transferConstPointerAccessorMemberOperatorCall()

void clang::dataflow::statusor_model::transferConstPointerAccessorMemberOperatorCall ( 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 1073 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 808 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 795 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 982 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 734 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 726 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 712 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 857 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 786 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 990 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 755 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 768 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