clang 22.0.0git
LocalizationChecker.cpp File Reference

Go to the source code of this file.

Macros

#define NEW_RECEIVER(receiver)
#define ADD_NULLARY_METHOD(receiver, method, argument)
#define ADD_UNARY_METHOD(receiver, method, argument)
#define ADD_METHOD(receiver, method_list, count, argument)
#define LSF_INSERT(function_name)
#define LSM_INSERT_NULLARY(receiver, method_name)
#define LSM_INSERT_UNARY(receiver, method_name)
#define LSM_INSERT_SELECTOR(receiver, method_list, arguments)

Functions

 REGISTER_MAP_WITH_PROGRAMSTATE (LocalizedMemMap, const MemRegion *, LocalizedState) namespace
static bool isDebuggingName (std::string name)
static bool isDebuggingContext (CheckerContext &C)
 Returns true when, heuristically, the analyzer may be analyzing debugging code.
static bool isNSStringType (QualType T, ASTContext &Ctx)

Macro Definition Documentation

◆ ADD_METHOD

#define ADD_METHOD ( receiver,
method_list,
count,
argument )
Value:
receiver##M.insert({Ctx.Selectors.getSelector(count, method_list), argument});

Definition at line 141 of file LocalizationChecker.cpp.

◆ ADD_NULLARY_METHOD

#define ADD_NULLARY_METHOD ( receiver,
method,
argument )
Value:
receiver##M.insert( \
{Ctx.Selectors.getNullarySelector(&Ctx.Idents.get(#method)), argument});

Definition at line 135 of file LocalizationChecker.cpp.

◆ ADD_UNARY_METHOD

#define ADD_UNARY_METHOD ( receiver,
method,
argument )
Value:
receiver##M.insert( \
{Ctx.Selectors.getUnarySelector(&Ctx.Idents.get(#method)), argument});

Definition at line 138 of file LocalizationChecker.cpp.

◆ LSF_INSERT

#define LSF_INSERT ( function_name)
Value:
LSF.insert(&Ctx.Idents.get(function_name));

Definition at line 603 of file LocalizationChecker.cpp.

◆ LSM_INSERT_NULLARY

#define LSM_INSERT_NULLARY ( receiver,
method_name )
Value:
LSM.insert({&Ctx.Idents.get(receiver), Ctx.Selectors.getNullarySelector( \
&Ctx.Idents.get(method_name))});

Definition at line 604 of file LocalizationChecker.cpp.

◆ LSM_INSERT_SELECTOR

#define LSM_INSERT_SELECTOR ( receiver,
method_list,
arguments )
Value:
LSM.insert({&Ctx.Idents.get(receiver), \
Ctx.Selectors.getSelector(arguments, method_list)});

Definition at line 610 of file LocalizationChecker.cpp.

◆ LSM_INSERT_UNARY

#define LSM_INSERT_UNARY ( receiver,
method_name )
Value:
LSM.insert({&Ctx.Idents.get(receiver), \
Ctx.Selectors.getUnarySelector(&Ctx.Idents.get(method_name))});

Definition at line 607 of file LocalizationChecker.cpp.

◆ NEW_RECEIVER

#define NEW_RECEIVER ( receiver)
Value:
llvm::DenseMap<Selector, uint8_t> &receiver##M = \
UIMethods[&Ctx.Idents.get(#receiver)];

Definition at line 132 of file LocalizationChecker.cpp.

Function Documentation

◆ isDebuggingContext()

bool isDebuggingContext ( CheckerContext & C)
static

Returns true when, heuristically, the analyzer may be analyzing debugging code.

We use this to suppress localization diagnostics in un-localized user interfaces that are only used for debugging and are therefore not user facing.

Definition at line 720 of file LocalizationChecker.cpp.

References clang::C, clang::Decl::getDeclContext(), and isDebuggingName().

◆ isDebuggingName()

bool isDebuggingName ( std::string name)
static

Definition at line 712 of file LocalizationChecker.cpp.

Referenced by isDebuggingContext().

◆ isNSStringType()

◆ REGISTER_MAP_WITH_PROGRAMSTATE()

REGISTER_MAP_WITH_PROGRAMSTATE ( LocalizedMemMap ,
const MemRegion * ,
LocalizedState  )