clang 22.0.0git
NSErrorChecker.cpp File Reference

Go to the source code of this file.

Macros

#define REGISTER_CHECKER(NAME, ADDITIONAL_PART)

Typedefs

typedef llvm::ImmutableMap< SymbolRef, unsignedErrorOutFlag

Functions

static bool IsNSError (QualType T, IdentifierInfo *II)
static bool IsCFError (QualType T, IdentifierInfo *II)
static bool hasReservedReturnType (const FunctionDecl *D)
template<typename T>
static bool hasFlag (SVal val, ProgramStateRef state)
template<typename T>
static void setFlag (ProgramStateRef state, SVal val, CheckerContext &C)
static QualType parameterTypeFromSVal (SVal val, CheckerContext &C)

Macro Definition Documentation

◆ REGISTER_CHECKER

#define REGISTER_CHECKER ( NAME,
ADDITIONAL_PART )
Value:
void ento::register##NAME##Checker(CheckerManager &Mgr) { \
Mgr.getChecker<NSOrCFErrorDerefChecker>()->NAME.enable(Mgr); \
Mgr.registerChecker<ADDITIONAL_PART>(); \
} \
\
bool ento::shouldRegister##NAME##Checker(const CheckerManager &) { \
return true; \
}
CHECKER * registerChecker(AT &&...Args)
Register a single-part checker (derived from Checker): construct its singleton instance,...
CHECKER * getChecker(AT &&...Args)
If the the singleton instance of a checker class is not yet constructed, then construct it (with the ...
Simple checker classes that implement one frontend (i.e.
Definition Checker.h:553

Definition at line 304 of file NSErrorChecker.cpp.

Typedef Documentation

◆ ErrorOutFlag

typedef llvm::ImmutableMap<SymbolRef, unsigned> ErrorOutFlag

Definition at line 165 of file NSErrorChecker.cpp.

Function Documentation

◆ hasFlag()

template<typename T>
bool hasFlag ( SVal val,
ProgramStateRef state )
static

◆ hasReservedReturnType()

bool hasReservedReturnType ( const FunctionDecl * D)
static

◆ IsCFError()

◆ IsNSError()

◆ parameterTypeFromSVal()

QualType parameterTypeFromSVal ( SVal val,
CheckerContext & C )
static

◆ setFlag()

template<typename T>
void setFlag ( ProgramStateRef state,
SVal val,
CheckerContext & C )
static

Definition at line 178 of file NSErrorChecker.cpp.

References clang::C, clang::ento::SVal::getAsSymbol(), and clang::T.