clang
7.0.0
|
#include "ClangSACheckers.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/Lex/Lexer.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "clang/StaticAnalyzer/Core/CheckerManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
#include "llvm/Support/Unicode.h"
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) NonLocalizedStringChecker | |
static bool | isDebuggingName (std::string name) |
static bool | isDebuggingContext (CheckerContext &C) |
Returns true when, heuristically, the analyzer may be analyzing debugging code. More... | |
static bool | isNSStringType (QualType T, ASTContext &Ctx) |
#define ADD_METHOD | ( | receiver, | |
method_list, | |||
count, | |||
argument | |||
) | receiver##M.insert({Ctx.Selectors.getSelector(count, method_list), argument}); |
Definition at line 149 of file LocalizationChecker.cpp.
#define ADD_NULLARY_METHOD | ( | receiver, | |
method, | |||
argument | |||
) |
Definition at line 143 of file LocalizationChecker.cpp.
#define ADD_UNARY_METHOD | ( | receiver, | |
method, | |||
argument | |||
) |
Definition at line 146 of file LocalizationChecker.cpp.
#define LSF_INSERT | ( | function_name | ) | LSF.insert(&Ctx.Idents.get(function_name)); |
Definition at line 611 of file LocalizationChecker.cpp.
#define LSM_INSERT_NULLARY | ( | receiver, | |
method_name | |||
) |
Definition at line 612 of file LocalizationChecker.cpp.
#define LSM_INSERT_SELECTOR | ( | receiver, | |
method_list, | |||
arguments | |||
) |
Definition at line 618 of file LocalizationChecker.cpp.
#define LSM_INSERT_UNARY | ( | receiver, | |
method_name | |||
) |
Definition at line 615 of file LocalizationChecker.cpp.
#define NEW_RECEIVER | ( | receiver | ) |
Definition at line 138 of file LocalizationChecker.cpp.
|
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 728 of file LocalizationChecker.cpp.
References clang::ento::CheckerContext::addTransition(), clang::ento::CheckerContext::emitReport(), clang::ento::CallEvent::getArgExpr(), clang::ento::SVal::getAsRegion(), clang::Selector::getAsString(), clang::ento::CheckerContext::getASTContext(), clang::ento::CheckerContext::getCurrentAnalysisDeclContext(), clang::AnalysisDeclContext::getDecl(), clang::Decl::getDeclContext(), clang::ento::CheckerContext::getPredecessor(), clang::ObjCMethodCall::getReceiverInterface(), clang::ObjCMethodCall::getReceiverSVal(), clang::ObjCMethodCall::getSelector(), clang::ento::CallEvent::getSourceRange(), clang::Stmt::getSourceRange(), clang::ento::CheckerContext::getState(), isDebuggingName(), clang::IdentifierInfo::isStr(), and P.
|
static |
Definition at line 720 of file LocalizationChecker.cpp.
Referenced by isDebuggingContext().
|
inlinestatic |
Definition at line 905 of file LocalizationChecker.cpp.
References clang::IdentifierTable::get(), clang::ento::CallEvent::getArgSVal(), clang::Type::getAs(), clang::ento::SVal::getAsRegion(), clang::Selector::getAsString(), clang::ento::CheckerContext::getASTContext(), clang::ento::CallEvent::getCalleeIdentifier(), clang::ento::CallEvent::getDecl(), clang::ObjCMethodCall::getDecl(), clang::NamedDecl::getIdentifier(), clang::ObjCObjectType::getInterface(), clang::ento::CallEvent::getNumArgs(), clang::ObjCObjectPointerType::getObjectType(), clang::ento::CallEvent::getOriginExpr(), clang::ObjCMethodCall::getReceiverInterface(), clang::ento::CallEvent::getResultType(), clang::ento::CallEvent::getReturnValue(), clang::ObjCMethodCall::getSelector(), clang::ento::CheckerContext::getSVal(), clang::ASTContext::Idents, and clang::ObjCMethodCall::isInstanceMessage().
REGISTER_MAP_WITH_PROGRAMSTATE | ( | LocalizedMemMap | , |
const MemRegion * | , | ||
LocalizedState | |||
) |
Definition at line 107 of file LocalizationChecker.cpp.