clang 20.0.0git
|
Namespaces | |
namespace | trans |
Classes | |
class | CapturedDiagList |
class | CheckAction |
class | FileRemapper |
class | MigrateAction |
class | MigrateSourceAction |
class | MigrationPass |
class | MigrationProcess |
class | ModifyAction |
class | ObjCMigrateAction |
Migrates to modern ObjC syntax. More... | |
class | Transaction |
class | TransformActions |
Typedefs | |
typedef void(* | TransformFn) (MigrationPass &pass) |
Functions | |
bool | checkForManualIssues (CompilerInvocation &CI, const FrontendInputFile &Input, std::shared_ptr< PCHContainerOperations > PCHContainerOps, DiagnosticConsumer *DiagClient, bool emitPremigrationARCErrors=false, StringRef plistOut=StringRef()) |
Creates an AST with the provided CompilerInvocation but with these changes: -if a PCH/PTH is set, the original header is used instead -Automatic Reference Counting mode is enabled. | |
bool | applyTransformations (CompilerInvocation &origCI, const FrontendInputFile &Input, std::shared_ptr< PCHContainerOperations > PCHContainerOps, DiagnosticConsumer *DiagClient) |
Works similar to checkForManualIssues but instead of checking, it applies automatic modifications to source files to conform to ARC. | |
bool | migrateWithTemporaryFiles (CompilerInvocation &origCI, const FrontendInputFile &Input, std::shared_ptr< PCHContainerOperations > PCHContainerOps, DiagnosticConsumer *DiagClient, StringRef outputDir, bool emitPremigrationARCErrors, StringRef plistOut) |
Applies automatic modifications and produces temporary files and metadata into the outputDir path. | |
bool | getFileRemappings (std::vector< std::pair< std::string, std::string > > &remap, StringRef outputDir, DiagnosticConsumer *DiagClient) |
Get the set of file remappings from the outputDir path that migrateWithTemporaryFiles produced. | |
bool | getFileRemappingsFromFileList (std::vector< std::pair< std::string, std::string > > &remap, ArrayRef< StringRef > remapFiles, DiagnosticConsumer *DiagClient) |
Get the set of file remappings from a list of files with remapping info. | |
std::vector< TransformFn > | getAllTransformations (LangOptions::GCMode OrigGCMode, bool NoFinalizeRemoval) |
void | writeARCDiagsToPlist (const std::string &outPath, ArrayRef< StoredDiagnostic > diags, SourceManager &SM, const LangOptions &LangOpts) |
static StringRef | getARCMTMacroName () |
typedef void(* clang::arcmt::TransformFn) (MigrationPass &pass) |
bool clang::arcmt::applyTransformations | ( | CompilerInvocation & | origCI, |
const FrontendInputFile & | Input, | ||
std::shared_ptr< PCHContainerOperations > | PCHContainerOps, | ||
DiagnosticConsumer * | DiagClient | ||
) |
Works similar to checkForManualIssues but instead of checking, it applies automatic modifications to source files to conform to ARC.
Definition at line 382 of file ARCMT.cpp.
References applyTransforms().
Referenced by clang::arcmt::ModifyAction::BeginInvocation().
bool clang::arcmt::checkForManualIssues | ( | CompilerInvocation & | CI, |
const FrontendInputFile & | Input, | ||
std::shared_ptr< PCHContainerOperations > | PCHContainerOps, | ||
DiagnosticConsumer * | DiagClient, | ||
bool | emitPremigrationARCErrors = false , |
||
StringRef | plistOut = StringRef() |
||
) |
Creates an AST with the provided CompilerInvocation but with these changes: -if a PCH/PTH is set, the original header is used instead -Automatic Reference Counting mode is enabled.
It then checks the AST and produces errors/warning for ARC migration issues that the user needs to handle manually.
emitPremigrationARCErrors | if true all ARC errors will get emitted even if the migrator can fix them, but the function will still return false if all ARC errors can be fixed. |
plistOut | if non-empty, it is the file path to store the plist with the pre-migration ARC diagnostics. |
Definition at line 235 of file ARCMT.cpp.
References clang::arcmt::CapturedDiagList::begin(), clang::DiagnosticConsumer::BeginSourceFile(), createInvocationForMigration(), E, emitPremigrationErrors(), clang::arcmt::CapturedDiagList::end(), clang::DiagnosticConsumer::EndSourceFile(), clang::diag::Error, getAllTransformations(), clang::CompilerInvocation::getDiagnosticOpts(), clang::CompilerInvocation::getLangOpts(), clang::ASTContext::getLangOpts(), clang::CompilerInvocation::getMigratorOpts(), clang::ASTContext::getSourceManager(), clang::arcmt::CapturedDiagList::hasErrors(), clang::arcmt::TransformActions::hasReportedErrors(), clang::ASTUnit::LoadFromCompilerInvocationAction(), clang::MigratorOptions::NoFinalizeRemoval, clang::MigratorOptions::NoNSAllocReallocError, clang::arcmt::CapturedDiagList::reportDiagnostics(), clang::arcmt::MigrationPass::setNoFinalizeRemoval(), and writeARCDiagsToPlist().
Referenced by applyTransforms(), and clang::arcmt::CheckAction::BeginInvocation().
std::vector< TransformFn > clang::arcmt::getAllTransformations | ( | LangOptions::GCMode | OrigGCMode, |
bool | NoFinalizeRemoval | ||
) |
Definition at line 582 of file Transforms.cpp.
References clang::LangOptionsBase::GCOnly, GCRewriteFinalize(), independentTransforms(), and clang::arcmt::trans::removeEmptyStatementsAndDeallocFinalize().
Referenced by applyTransforms(), and checkForManualIssues().
|
inlinestatic |
Definition at line 172 of file Internals.h.
Referenced by createInvocationForMigration(), and isEmptyARCMTMacroStatement().
bool clang::arcmt::getFileRemappings | ( | std::vector< std::pair< std::string, std::string > > & | remap, |
StringRef | outputDir, | ||
DiagnosticConsumer * | DiagClient | ||
) |
Get the set of file remappings from the outputDir
path that migrateWithTemporaryFiles produced.
Definition at line 400 of file ARCMT.cpp.
References clang::arcmt::FileRemapper::forEachMapping(), and clang::arcmt::FileRemapper::initFromDisk().
bool clang::arcmt::getFileRemappingsFromFileList | ( | std::vector< std::pair< std::string, std::string > > & | remap, |
ArrayRef< StringRef > | remapFiles, | ||
DiagnosticConsumer * | DiagClient | ||
) |
Get the set of file remappings from a list of files with remapping info.
Definition at line 2208 of file ObjCMT.cpp.
References applyEditsToTemp(), and E.
bool clang::arcmt::migrateWithTemporaryFiles | ( | CompilerInvocation & | origCI, |
const FrontendInputFile & | Input, | ||
std::shared_ptr< PCHContainerOperations > | PCHContainerOps, | ||
DiagnosticConsumer * | DiagClient, | ||
StringRef | outputDir, | ||
bool | emitPremigrationARCErrors, | ||
StringRef | plistOut | ||
) |
Applies automatic modifications and produces temporary files and metadata into the outputDir
path.
emitPremigrationARCErrors | if true all ARC errors will get emitted even if the migrator can fix them, but the function will still return false if all ARC errors can be fixed. |
plistOut | if non-empty, it is the file path to store the plist with the pre-migration ARC diagnostics. |
Definition at line 390 of file ARCMT.cpp.
References applyTransforms().
Referenced by clang::arcmt::MigrateAction::BeginInvocation().
void clang::arcmt::writeARCDiagsToPlist | ( | const std::string & | outPath, |
ArrayRef< StoredDiagnostic > | diags, | ||
SourceManager & | SM, | ||
const LangOptions & | LangOpts | ||
) |
Definition at line 34 of file PlistReporter.cpp.
References clang::markup::AddFID(), D, E, clang::markup::EmitLocation(), clang::markup::EmitPlistHeader(), clang::markup::EmitRange(), clang::markup::EmitString(), clang::Lexer::getAsCharRange(), clang::DiagnosticIDs::getCategoryNameFromID(), clang::DiagnosticIDs::getCategoryNumberForDiag(), clang::Decl::getID(), getLevelName(), clang::Decl::getLocation(), clang::DiagnosticsEngine::Ignored, and SM.
Referenced by checkForManualIssues().