clang 24.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 ()
RecordStorageLocation & locForStatus (RecordStorageLocation &StatusOrLoc)
StorageLocation & locForOk (RecordStorageLocation &StatusLoc)
BoolValue & valForOk (RecordStorageLocation &StatusLoc, Environment &Env)
llvm::StringMap< QualType > getSyntheticFields (QualType Ty, QualType StatusType, const CXXRecordDecl &RD)
BoolValue & initializeStatusOr (RecordStorageLocation &StatusOrLoc, Environment &Env)
BoolValue & initializeStatus (RecordStorageLocation &StatusLoc, Environment &Env)
bool isStatusOrType (QualType Type)
bool isStatusType (QualType Type)
QualType findStatusType (const ASTContext &Ctx)
CFGMatchSwitch< LatticeTransferState > buildTransferMatchSwitch (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 ClassTemplateSpecializationDecl * getStatusOrBaseClass (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 ofClassReturnIfErrorAdaptor ()
static auto returnIfErrorAdaptorClass ()
static auto returnIfErrorAdaptorType ()
static auto isReturnIfErrorAdaptorOperatorBoolCall ()
static auto isMacroAdaptorCall ()
static auto buildDiagnoseMatchSwitch (const UncheckedStatusOrAccessModelOptions &Options)
static bool isPredicateFormatterFromMatcherType (QualType Type)
static bool isAssertionResultType (QualType Type)
static bool isStatusIsMatcherType (QualType Type)
static bool IsMacroAdaptorType (clang::QualType type)
static StorageLocation & locForOkPredicate (RecordStorageLocation &StatusLoc)
static StorageLocation & locForOkMatcher (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 BoolValue * evaluateStatusEquality (RecordStorageLocation &LhsStatusLoc, RecordStorageLocation &RhsStatusLoc, Environment &Env)
static BoolValue * evaluateStatusOrEquality (RecordStorageLocation &LhsStatusOrLoc, RecordStorageLocation &RhsStatusOrLoc, Environment &Env)
static BoolValue * evaluateEquality (const Expr *LhsExpr, const Expr *RhsExpr, Environment &Env)
static void transferComparisonOperator (const CXXOperatorCallExpr *Expr, LatticeTransferState &State, bool IsNegative)
static RecordStorageLocation * getPointeeLocation (const Expr &Expr, Environment &Env)
static BoolValue * evaluatePointerEquality (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 RecordStorageLocation * getSmartPtrLikeStorageLocation (const Expr &E, const Environment &Env)
static void transferMacroAdaptorCall (const clang::CallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)
static void transferReturnIfErrorAdaptorOperatorBoolCall (const clang::CXXMemberCallExpr *Expr, const MatchFinder::MatchResult &, LatticeTransferState &State)

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 147 of file ASTMatchers.h.

Function Documentation

◆ buildDiagnoseMatchSwitch()

◆ buildTransferMatchSwitch()

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

◆ 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 495 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

◆ isMacroAdaptorCall()

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

◆ IsMacroAdaptorType()

bool clang::dataflow::statusor_model::IsMacroAdaptorType ( clang::QualType type)
static

Definition at line 510 of file UncheckedStatusOrAccessModel.cpp.

References isTypeNamed(), and clang::ast_matchers::type.

Referenced by getSyntheticFields().

◆ 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 490 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

◆ isReturnIfErrorAdaptorOperatorBoolCall()

◆ 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 499 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 67 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

◆ ofClassReturnIfErrorAdaptor()

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

◆ ofClassStatus()

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

Definition at line 102 of file UncheckedStatusOrAccessModel.cpp.

References clang::dataflow::hasName().

Referenced by isStatusMemberCallWithName().

◆ possiblyReferencedStatusOrType()

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

◆ returnIfErrorAdaptorClass()

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

◆ returnIfErrorAdaptorType()

auto clang::dataflow::statusor_model::returnIfErrorAdaptorType ( )
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 1125 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 1084 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 865 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 702 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 1115 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 850 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 837 of file UncheckedStatusOrAccessModel.cpp.

References clang::Expr::isPRValue().

Referenced by buildTransferMatchSwitch().

◆ transferMacroAdaptorCall()

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

◆ transferMakePredicateFormatterFromIsOkMatcherCall()

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

Definition at line 1024 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 776 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 768 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 754 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 899 of file UncheckedStatusOrAccessModel.cpp.

Referenced by buildTransferMatchSwitch().

◆ transferPredicateFormatterMatcherCall()

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

◆ transferReturnIfErrorAdaptorOperatorBoolCall()

void clang::dataflow::statusor_model::transferReturnIfErrorAdaptorOperatorBoolCall ( const clang::CXXMemberCallExpr * Expr,
const MatchFinder::MatchResult & ,
LatticeTransferState & State )
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 828 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 1032 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 797 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 810 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