13#ifndef LLVM_CLANG_DRIVER_CREATEASTUNITFROMARGS_H
14#define LLVM_CLANG_DRIVER_CREATEASTUNITFROMARGS_H
57 const char **ArgBegin,
const char **ArgEnd,
58 std::shared_ptr<PCHContainerOperations> PCHContainerOps,
59 std::shared_ptr<DiagnosticOptions> DiagOpts,
61 bool StorePreamblesInMemory =
false,
62 StringRef PreambleStoragePath = StringRef(),
bool OnlyLocalDecls =
false,
65 bool RemappedFilesKeepOriginalName =
true,
66 unsigned PrecompilePreambleAfterNParses = 0,
68 bool CacheCodeCompletionResults =
false,
69 bool IncludeBriefCommentsInCodeCompletion =
false,
70 bool AllowPCHWithCompilerErrors =
false,
72 bool SingleFileParse =
false,
bool UserFilesAreVolatile =
false,
73 bool ForSerialization =
false,
bool RetainExcludedConditionalBlocks =
false,
74 std::optional<StringRef> ModuleFormat = std::nullopt,
75 std::unique_ptr<ASTUnit> *ErrAST =
nullptr,
76 IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS =
nullptr);
The JSON file list parser is used to communicate input to InstallAPI.
std::unique_ptr< ASTUnit > CreateASTUnitFromCommandLine(const char **ArgBegin, const char **ArgEnd, std::shared_ptr< PCHContainerOperations > PCHContainerOps, std::shared_ptr< DiagnosticOptions > DiagOpts, IntrusiveRefCntPtr< DiagnosticsEngine > Diags, StringRef ResourceFilesPath, bool StorePreamblesInMemory=false, StringRef PreambleStoragePath=StringRef(), bool OnlyLocalDecls=false, CaptureDiagsKind CaptureDiagnostics=CaptureDiagsKind::None, ArrayRef< ASTUnit::RemappedFile > RemappedFiles={}, bool RemappedFilesKeepOriginalName=true, unsigned PrecompilePreambleAfterNParses=0, TranslationUnitKind TUKind=TU_Complete, bool CacheCodeCompletionResults=false, bool IncludeBriefCommentsInCodeCompletion=false, bool AllowPCHWithCompilerErrors=false, SkipFunctionBodiesScope SkipFunctionBodies=SkipFunctionBodiesScope::None, bool SingleFileParse=false, bool UserFilesAreVolatile=false, bool ForSerialization=false, bool RetainExcludedConditionalBlocks=false, std::optional< StringRef > ModuleFormat=std::nullopt, std::unique_ptr< ASTUnit > *ErrAST=nullptr, IntrusiveRefCntPtr< llvm::vfs::FileSystem > VFS=nullptr)
Create an ASTUnit from a vector of command line arguments, which must specify exactly one source file...
CaptureDiagsKind
Enumerates the available kinds for capturing diagnostics.
@ TU_Complete
The translation unit is a complete translation unit.