clang API Documentation

Classes | Namespaces | Typedefs | Functions
Transforms.h File Reference
#include "clang/AST/ParentMap.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/Support/SaveAndRestore.h"
Include dependency graph for Transforms.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::arcmt::trans::BodyContext
class  clang::arcmt::trans::ObjCImplementationContext
class  clang::arcmt::trans::ASTTraverser
class  clang::arcmt::trans::MigrationContext
struct  clang::arcmt::trans::MigrationContext::GCAttrOccurrence
class  clang::arcmt::trans::PropertyRewriteTraverser
class  clang::arcmt::trans::BlockObjCVariableTraverser
class  clang::arcmt::trans::ProtectedScopeTraverser
class  clang::arcmt::trans::GCAttrsTraverser
class  clang::arcmt::trans::GCCollectableCallsTraverser
class  clang::arcmt::trans::BodyTransform< BODY_TRANS >

Namespaces

namespace  clang
namespace  clang::arcmt
namespace  clang::arcmt::trans

Typedefs

typedef llvm::DenseSet< Expr * > clang::arcmt::trans::ExprSet

Functions

void clang::arcmt::trans::rewriteAutoreleasePool (MigrationPass &pass)
void clang::arcmt::trans::rewriteUnbridgedCasts (MigrationPass &pass)
void clang::arcmt::trans::makeAssignARCSafe (MigrationPass &pass)
void clang::arcmt::trans::removeRetainReleaseDeallocFinalize (MigrationPass &pass)
void clang::arcmt::trans::removeZeroOutPropsInDeallocFinalize (MigrationPass &pass)
void clang::arcmt::trans::rewriteUnusedInitDelegate (MigrationPass &pass)
void clang::arcmt::trans::checkAPIUses (MigrationPass &pass)
void clang::arcmt::trans::removeEmptyStatementsAndDeallocFinalize (MigrationPass &pass)
bool clang::arcmt::trans::canApplyWeak (ASTContext &Ctx, QualType type, bool AllowOnUnknownClass=false)
 Determine whether we can add weak to the given type.
bool clang::arcmt::trans::isPlusOneAssign (const BinaryOperator *E)
bool clang::arcmt::trans::isPlusOne (const Expr *E)
SourceLocation clang::arcmt::trans::findLocationAfterSemi (SourceLocation loc, ASTContext &Ctx, bool IsDecl=false)
 'Loc' is the end of a statement range. This returns the location immediately after the semicolon following the statement. If no semicolon is found or the location is inside a macro, the returned source location will be invalid.
SourceLocation clang::arcmt::trans::findSemiAfterLocation (SourceLocation loc, ASTContext &Ctx, bool IsDecl=false)
 'Loc' is the end of a statement range. This returns the location of the semicolon following the statement. If no semicolon is found or the location is inside a macro, the returned source location will be invalid.
bool clang::arcmt::trans::hasSideEffects (Expr *E, ASTContext &Ctx)
bool clang::arcmt::trans::isGlobalVar (Expr *E)
StringRef clang::arcmt::trans::getNilString (ASTContext &Ctx)
 Returns "nil" or "0" if 'nil' macro is not actually defined.
void clang::arcmt::trans::clearRefsIn (Stmt *S, ExprSet &refs)
template<typename iterator >
void clang::arcmt::trans::clearRefsIn (iterator begin, iterator end, ExprSet &refs)
void clang::arcmt::trans::collectRefs (ValueDecl *D, Stmt *S, ExprSet &refs)
void clang::arcmt::trans::collectRemovables (Stmt *S, ExprSet &exprs)