class FileRemapper

Declaration

class FileRemapper { /* full declaration omitted */ };

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:32

Member Variables

private std::unique_ptr<FileManager> FileMgr
private clang::arcmt::FileRemapper::MappingsTy FromToMappings
private llvm::DenseMap<const FileEntry*, const FileEntry*> ToFromMappings

Method Overview

  • public FileRemapper()
  • public void applyMappings(clang::PreprocessorOptions & PPOpts) const
  • public void clear(llvm::StringRef outputDir = llvm::StringRef())
  • public bool flushToDisk(llvm::StringRef outputDir, clang::DiagnosticsEngine & Diag)
  • public bool flushToFile(llvm::StringRef outputPath, clang::DiagnosticsEngine & Diag)
  • public void forEachMapping(llvm::function_ref<void (StringRef, StringRef)> CaptureFile, llvm::function_ref<void (StringRef, const llvm::MemoryBufferRef &)> CaptureBuffer) const
  • private const clang::FileEntry * getOriginalFile(llvm::StringRef filePath)
  • private std::string getRemapInfoFile(llvm::StringRef outputDir)
  • public bool initFromDisk(llvm::StringRef outputDir, clang::DiagnosticsEngine & Diag, bool ignoreIfFilesChanged)
  • public bool initFromFile(llvm::StringRef filePath, clang::DiagnosticsEngine & Diag, bool ignoreIfFilesChanged)
  • public bool overwriteOriginal(clang::DiagnosticsEngine & Diag, llvm::StringRef outputDir = llvm::StringRef())
  • public void remap(llvm::StringRef filePath, std::unique_ptr<llvm::MemoryBuffer> memBuf)
  • private void remap(const clang::FileEntry * file, std::unique_ptr<llvm::MemoryBuffer> memBuf)
  • private void remap(const clang::FileEntry * file, const clang::FileEntry * newfile)
  • private bool report(const llvm::Twine & err, clang::DiagnosticsEngine & Diag)
  • private void resetTarget(clang::arcmt::FileRemapper::Target & targ)
  • public ~FileRemapper()

Methods

FileRemapper()

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:43

void applyMappings(
    clang::PreprocessorOptions& PPOpts) const

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:58

Parameters

clang::PreprocessorOptions& PPOpts

void clear(
    llvm::StringRef outputDir = llvm::StringRef())

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:66

Parameters

llvm::StringRef outputDir = llvm::StringRef()

bool flushToDisk(llvm::StringRef outputDir,
                 clang::DiagnosticsEngine& Diag)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:50

Parameters

llvm::StringRef outputDir
clang::DiagnosticsEngine& Diag

bool flushToFile(llvm::StringRef outputPath,
                 clang::DiagnosticsEngine& Diag)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:51

Parameters

llvm::StringRef outputPath
clang::DiagnosticsEngine& Diag

void forEachMapping(
    llvm::function_ref<void(StringRef, StringRef)>
        CaptureFile,
    llvm::function_ref<
        void(StringRef,
             const llvm::MemoryBufferRef&)>
        CaptureBuffer) const

Description

Iterate through all the mappings.

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:61

Parameters

llvm::function_ref<void(StringRef, StringRef)> CaptureFile
llvm::function_ref< void(StringRef, const llvm::MemoryBufferRef&)> CaptureBuffer

const clang::FileEntry* getOriginalFile(
    llvm::StringRef filePath)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:72

Parameters

llvm::StringRef filePath

std::string getRemapInfoFile(
    llvm::StringRef outputDir)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:77

Parameters

llvm::StringRef outputDir

bool initFromDisk(llvm::StringRef outputDir,
                  clang::DiagnosticsEngine& Diag,
                  bool ignoreIfFilesChanged)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:46

Parameters

llvm::StringRef outputDir
clang::DiagnosticsEngine& Diag
bool ignoreIfFilesChanged

bool initFromFile(llvm::StringRef filePath,
                  clang::DiagnosticsEngine& Diag,
                  bool ignoreIfFilesChanged)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:48

Parameters

llvm::StringRef filePath
clang::DiagnosticsEngine& Diag
bool ignoreIfFilesChanged

bool overwriteOriginal(
    clang::DiagnosticsEngine& Diag,
    llvm::StringRef outputDir = llvm::StringRef())

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:53

Parameters

clang::DiagnosticsEngine& Diag
llvm::StringRef outputDir = llvm::StringRef()

void remap(
    llvm::StringRef filePath,
    std::unique_ptr<llvm::MemoryBuffer> memBuf)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:56

Parameters

llvm::StringRef filePath
std::unique_ptr<llvm::MemoryBuffer> memBuf

void remap(
    const clang::FileEntry* file,
    std::unique_ptr<llvm::MemoryBuffer> memBuf)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:69

Parameters

const clang::FileEntry* file
std::unique_ptr<llvm::MemoryBuffer> memBuf

void remap(const clang::FileEntry* file,
           const clang::FileEntry* newfile)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:70

Parameters

const clang::FileEntry* file
const clang::FileEntry* newfile

bool report(const llvm::Twine& err,
            clang::DiagnosticsEngine& Diag)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:75

Parameters

const llvm::Twine& err
clang::DiagnosticsEngine& Diag

void resetTarget(
    clang::arcmt::FileRemapper::Target& targ)

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:73

Parameters

clang::arcmt::FileRemapper::Target& targ

~FileRemapper()

Declared at: clang/include/clang/ARCMigrate/FileRemapper.h:44