clang 22.0.0git
clang::ento::tagged_union_modeling Namespace Reference

Functions

static const CXXConstructorDeclgetConstructorDeclarationForCall (const CallEvent &Call)
bool isCopyConstructorCall (const CallEvent &Call)
bool isCopyAssignmentCall (const CallEvent &Call)
bool isMoveConstructorCall (const CallEvent &Call)
bool isMoveAssignmentCall (const CallEvent &Call)
static bool isStdType (const Type *Type, llvm::StringRef TypeName)
bool isStdVariant (const Type *Type)
bool isStdType (const Type *Type, const std::string &TypeName)
template<class TypeMap>
ProgramStateRef removeInformationStoredForDeadInstances (const CallEvent &Call, ProgramStateRef State, ArrayRef< const MemRegion * > Regions)
template<class TypeMap>
void handleConstructorAndAssignment (const CallEvent &Call, CheckerContext &C, SVal ThisSVal)

Function Documentation

◆ getConstructorDeclarationForCall()

const CXXConstructorDecl * clang::ento::tagged_union_modeling::getConstructorDeclarationForCall ( const CallEvent & Call)
static

Definition at line 33 of file StdVariantChecker.cpp.

References clang::Call.

Referenced by isCopyConstructorCall(), and isMoveConstructorCall().

◆ handleConstructorAndAssignment()

template<class TypeMap>
void clang::ento::tagged_union_modeling::handleConstructorAndAssignment ( const CallEvent & Call,
CheckerContext & C,
SVal ThisSVal )

◆ isCopyAssignmentCall()

bool clang::ento::tagged_union_modeling::isCopyAssignmentCall ( const CallEvent & Call)

Definition at line 48 of file StdVariantChecker.cpp.

References clang::Call.

Referenced by handleConstructorAndAssignment().

◆ isCopyConstructorCall()

bool clang::ento::tagged_union_modeling::isCopyConstructorCall ( const CallEvent & Call)

◆ isMoveAssignmentCall()

bool clang::ento::tagged_union_modeling::isMoveAssignmentCall ( const CallEvent & Call)

Definition at line 66 of file StdVariantChecker.cpp.

References clang::Call.

Referenced by handleConstructorAndAssignment().

◆ isMoveConstructorCall()

bool clang::ento::tagged_union_modeling::isMoveConstructorCall ( const CallEvent & Call)

◆ isStdType() [1/2]

bool clang::ento::tagged_union_modeling::isStdType ( const Type * Type,
const std::string & TypeName )

◆ isStdType() [2/2]

bool clang::ento::tagged_union_modeling::isStdType ( const Type * Type,
llvm::StringRef TypeName )
static

Definition at line 77 of file StdVariantChecker.cpp.

References clang::Type::getAsRecordDecl(), and clang::Decl::isInStdNamespace().

Referenced by isStdVariant().

◆ isStdVariant()

bool clang::ento::tagged_union_modeling::isStdVariant ( const Type * Type)

Definition at line 84 of file StdVariantChecker.cpp.

References isStdType().

◆ removeInformationStoredForDeadInstances()

template<class TypeMap>
ProgramStateRef clang::ento::tagged_union_modeling::removeInformationStoredForDeadInstances ( const CallEvent & Call,
ProgramStateRef State,
ArrayRef< const MemRegion * > Regions )

Definition at line 37 of file TaggedUnionModeling.h.

References clang::Call.

Referenced by StdVariantChecker::checkRegionChanges().