clang 19.0.0git
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
clang::arcmt::trans::MigrationContext Class Reference

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/ARCMigrate/Transforms.h"


struct  GCAttrOccurrence

Public Types

typedef std::vector< ASTTraverser * >::iterator traverser_iterator

Public Member Functions

 MigrationContext (MigrationPass &pass)
 ~MigrationContext ()
traverser_iterator traversers_begin ()
traverser_iterator traversers_end ()
void addTraverser (ASTTraverser *traverser)
bool isGCOwnedNonObjC (QualType T)
bool removePropertyAttribute (StringRef fromAttr, SourceLocation atLoc)
bool rewritePropertyAttribute (StringRef fromAttr, StringRef toAttr, SourceLocation atLoc)
bool addPropertyAttribute (StringRef attr, SourceLocation atLoc)
void traverse (TranslationUnitDecl *TU)
void dumpGCAttrs ()

Public Attributes

std::vector< GCAttrOccurrenceGCAttrs
llvm::DenseSet< SourceLocationAttrSet
llvm::DenseSet< SourceLocationRemovedAttrSet
llvm::DenseSet< SourceLocationAtPropsWeak
 Set of raw '@' locations for 'assign' properties group that contain GC __weak.

Detailed Description

Definition at line 80 of file Transforms.h.

Member Typedef Documentation

◆ traverser_iterator

Definition at line 106 of file Transforms.h.

Constructor & Destructor Documentation

◆ MigrationContext()

clang::arcmt::trans::MigrationContext::MigrationContext ( MigrationPass pass)

Definition at line 103 of file Transforms.h.

◆ ~MigrationContext()

MigrationContext::~MigrationContext ( )

Definition at line 353 of file Transforms.cpp.

References traversers_begin(), and traversers_end().

Member Function Documentation

◆ addPropertyAttribute()

bool MigrationContext::addPropertyAttribute ( StringRef  attr,
SourceLocation  atLoc 

◆ addTraverser()

void clang::arcmt::trans::MigrationContext::addTraverser ( ASTTraverser traverser)

Definition at line 110 of file Transforms.h.

Referenced by traverseAST().

◆ dumpGCAttrs()

void MigrationContext::dumpGCAttrs ( )

◆ isGCOwnedNonObjC()

bool MigrationContext::isGCOwnedNonObjC ( QualType  T)

◆ removePropertyAttribute()

bool clang::arcmt::trans::MigrationContext::removePropertyAttribute ( StringRef  fromAttr,
SourceLocation  atLoc 

Definition at line 115 of file Transforms.h.

References rewritePropertyAttribute().

◆ rewritePropertyAttribute()

bool MigrationContext::rewritePropertyAttribute ( StringRef  fromAttr,
StringRef  toAttr,
SourceLocation  atLoc 

◆ traverse()

void MigrationContext::traverse ( TranslationUnitDecl TU)

Definition at line 509 of file Transforms.cpp.

References traversers_begin(), and traversers_end().

Referenced by traverseAST().

◆ traversers_begin()

traverser_iterator clang::arcmt::trans::MigrationContext::traversers_begin ( )

Definition at line 107 of file Transforms.h.

Referenced by traverse(), and ~MigrationContext().

◆ traversers_end()

traverser_iterator clang::arcmt::trans::MigrationContext::traversers_end ( )

Definition at line 108 of file Transforms.h.

Referenced by traverse(), and ~MigrationContext().

Member Data Documentation

◆ AtPropsWeak

llvm::DenseSet<SourceLocation> clang::arcmt::trans::MigrationContext::AtPropsWeak

Set of raw '@' locations for 'assign' properties group that contain GC __weak.

Definition at line 101 of file Transforms.h.

Referenced by checkAllAtProps().

◆ AttrSet

llvm::DenseSet<SourceLocation> clang::arcmt::trans::MigrationContext::AttrSet

Definition at line 96 of file Transforms.h.

◆ GCAttrs

std::vector<GCAttrOccurrence> clang::arcmt::trans::MigrationContext::GCAttrs

Definition at line 95 of file Transforms.h.

Referenced by checkWeakGCAttrs(), dumpGCAttrs(), and errorForGCAttrsOnNonObjC().

◆ Pass

MigrationPass& clang::arcmt::trans::MigrationContext::Pass

◆ RemovedAttrSet

llvm::DenseSet<SourceLocation> clang::arcmt::trans::MigrationContext::RemovedAttrSet

Definition at line 97 of file Transforms.h.

Referenced by checkAllAtProps(), and checkWeakGCAttrs().

The documentation for this class was generated from the following files: