36 llvm::DenseSet<VarDecl *> ModifiedVars;
49 if (declRef && isa<VarDecl>(declRef->
getDecl())) {
55 if (
var->isARCPseudoStrong()) {
59 if (!ModifiedVars.count(var)) {
60 TypeLoc TLoc =
var->getTypeSourceInfo()->getTypeLoc();
62 ModifiedVars.insert(var);
75 ARCAssignChecker assignCheck(pass);
Defines the clang::ASTContext interface.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
TranslationUnitDecl * getTranslationUnitDecl() const
A builtin binary operation expression such as "x + y" or "x <= y".
SourceLocation getOperatorLoc() const
A reference to a declared variable, function, enum, etc.
This represents one expression.
isModifiableLvalueResult isModifiableLvalue(ASTContext &Ctx, SourceLocation *Loc=nullptr) const
isModifiableLvalue - C99 6.3.2.1: an lvalue that does not have array type, does not have an incomplet...
Expr * IgnoreParenCasts() LLVM_READONLY
Skip past any parentheses and casts which might surround this expression until reaching a fixed point...
SourceLocation getExprLoc() const LLVM_READONLY
getExprLoc - Return the preferred location for the arrow when diagnosing a problem with a generic exp...
A class that does preorder or postorder depth-first traversal on the entire Clang AST and visits each...
Encodes a location in the source.
Base wrapper for a particular "section" of type source info.
SourceLocation getBeginLoc() const
Get the begin source location.
bool isDependentType() const
Whether this type is a dependent type, meaning that its definition somehow depends on a template para...
Represents a variable declaration or definition.
void makeAssignARCSafe(MigrationPass &pass)
constexpr Variable var(Literal L)
Returns the variable of L.
The JSON file list parser is used to communicate input to InstallAPI.