12#ifndef LLVM_CLANG_INSTALLAPI_DIRECTORYSCANNER_H
13#define LLVM_CLANG_INSTALLAPI_DIRECTORYSCANNER_H
30 : FM(FM), Mode(Mode) {}
35 llvm::Error
scan(StringRef Directory);
47 llvm::Error scanForUnwrappedLibraries(StringRef Directory);
50 llvm::Error scanForFrameworks(StringRef Directory);
53 Library &getOrCreateLibrary(StringRef
Path, std::vector<Library> &Libs)
const;
56 llvm::Error scanMultipleFrameworks(StringRef Directory,
57 std::vector<Library> &Libs)
const;
59 llvm::Error scanSubFrameworksDirectory(StringRef Directory,
60 std::vector<Library> &Libs)
const;
63 llvm::Error scanFrameworkDirectory(StringRef
Path,
Library &Framework)
const;
68 StringRef ParentPath = StringRef())
const;
71 llvm::Error scanFrameworkVersionsDirectory(StringRef
Path,
76 std::vector<Library> Libraries;
Defines the clang::FileManager interface and associated types.
Implements support for file system lookup, file system caching, and directory search management.
The base class of the type hierarchy.
llvm::Error scan(StringRef Directory)
Scan for all input files throughout directory.
std::vector< Library > takeLibraries()
Take over ownership of stored libraries.
DirectoryScanner(FileManager &FM, ScanMode Mode=ScanMode::ScanFrameworks)
static HeaderSeq getHeaders(ArrayRef< Library > Libraries)
Get all the header files in libraries.
The DirectoryScanner for collecting library files on the file system.
@ ScanFrameworks
Scanning Framework directory.
@ ScanDylibs
Scanning Dylib directory.
std::vector< HeaderFile > HeaderSeq