Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
clang 20.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)    receiver##M.insert({Ctx.Selectors.getSelector(count, method_list), argument});
 
#define LSF_INSERT(function_name)   LSF.insert(&Ctx.Idents.get(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 
)     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});
IdentifierTable & Idents
Definition: ASTContext.h:680
SelectorTable & Selectors
Definition: ASTContext.h:681
IdentifierInfo & get(StringRef Name)
Return the identifier token info for the specified named identifier.
Selector getNullarySelector(const IdentifierInfo *ID)

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});
Selector getUnarySelector(const IdentifierInfo *ID)

Definition at line 138 of file LocalizationChecker.cpp.

◆ LSF_INSERT

#define LSF_INSERT (   function_name)    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)});
Selector getSelector(unsigned NumArgs, const IdentifierInfo **IIV)
Can create any sort of selector.

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

static 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, D, clang::Decl::getDeclContext(), and isDebuggingName().

◆ isDebuggingName()

static 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   
)