//===- ARCMigrate.cpp - Clang-C ARC Migration Library ---------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file implements the main API hooks in the Clang-C ARC Migration library. // //===----------------------------------------------------------------------===// #include "clang-c/Index.h" #include "CXString.h" #include "clang/ARCMigrate/ARCMT.h" #include "clang/Config/config.h" #include "clang/Frontend/TextDiagnosticBuffer.h" #include "llvm/Support/FileSystem.h" usingnamespaceclang; usingnamespacearcmt; namespace { struct Remap { … }; } // anonymous namespace. //===----------------------------------------------------------------------===// // libClang public APIs. //===----------------------------------------------------------------------===// CXRemapping clang_getRemappings(const char *migrate_dir_path) { … } CXRemapping clang_getRemappingsFromFileList(const char **filePaths, unsigned numFiles) { … } unsigned clang_remap_getNumFiles(CXRemapping map) { … } void clang_remap_getFilenames(CXRemapping map, unsigned index, CXString *original, CXString *transformed) { … } void clang_remap_dispose(CXRemapping map) { … }