9 #ifndef LLVM_CLANG_FRONTEND_FRONTENDACTIONS_H 10 #define LLVM_CLANG_FRONTEND_FRONTENDACTIONS_H 26 void ExecuteAction()
override;
29 StringRef InFile)
override;
39 StringRef InFile)
override {
43 void ExecuteAction()
override;
56 StringRef InFile)
override;
62 StringRef InFile)
override;
68 StringRef InFile)
override;
74 StringRef InFile)
override;
80 StringRef InFile)
override;
96 std::string &Sysroot);
100 static std::unique_ptr<llvm::raw_pwrite_stream>
102 std::string &OutputFile);
108 virtual std::unique_ptr<raw_pwrite_stream>
113 StringRef InFile)
override;
133 StringRef InFile)
override;
139 StringRef InFile)
override;
146 std::unique_ptr<raw_pwrite_stream>
154 std::unique_ptr<raw_pwrite_stream>
160 std::unique_ptr<llvm::MemoryBuffer> Buffer;
161 std::vector<std::string> ModuleHeaders;
167 std::unique_ptr<raw_pwrite_stream>
174 StringRef InFile)
override;
186 StringRef InFile)
override;
188 void ExecuteAction()
override;
200 StringRef InFile)
override;
202 void ExecuteAction()
override;
211 StringRef InFile)
override;
213 void ExecuteAction()
override;
226 std::unique_ptr<FrontendAction> AdaptedAction;
229 std::vector<std::string> ASTFiles;
233 StringRef InFile)
override;
237 void ExecuteAction()
override;
254 void ExecuteAction()
override;
256 StringRef)
override {
265 void ExecuteAction()
override;
267 StringRef)
override {
280 void ExecuteAction()
override;
285 void ExecuteAction()
override;
290 void ExecuteAction()
override;
295 void ExecuteAction()
override;
bool hasCodeCompletionSupport() const override
Does this action support use with code completion?
std::unique_ptr< ASTConsumer > CreateASTConsumer(CompilerInstance &, StringRef) override
Create the AST consumer object for this action, if supported.
Dump information about the given module file, to be used for basic debugging and discovery.
Abstract base class for actions which can be performed by the frontend.
The translation unit is a prefix to a translation unit, and is not complete.
virtual bool hasASTFileSupport() const
Does this action support use with AST files?
TranslationUnitKind getTranslationUnitKind() override
For AST-based actions, the kind of translation unit we're handling.
virtual bool hasCodeCompletionSupport() const
Does this action support use with code completion?
bool usesPreprocessorOnly() const override
Does this action only use the preprocessor?
bool hasPCHSupport() const override
Does this action support use with PCH?
friend class ASTMergeAction
bool hasIRSupport() const override
Does this action support use with IR files?
bool hasPCHSupport() const override
Does this action support use with PCH?
virtual bool BeginInvocation(CompilerInstance &CI)
Callback before starting processing a single input, giving the opportunity to modify the CompilerInvo...
std::unique_ptr< ASTConsumer > CreateASTConsumer(CompilerInstance &, StringRef) override
Create the AST consumer object for this action, if supported.
bool usesPreprocessorOnly() const override
Does this action only use the preprocessor?
virtual bool shouldEraseOutputFiles()
Callback at the end of processing a single input, to determine if the output files should be erased o...
bool hasCodeCompletionSupport() const override
Does this action support use with code completion?
bool hasASTFileSupport() const override
Does this action support use with AST files?
bool hasASTFileSupport() const override
Does this action support use with AST files?
virtual void EndSourceFileAction()
Callback at the end of processing a single input.
virtual bool hasPCHSupport() const
Does this action support use with PCH?
Frontend action adaptor that merges ASTs together.
CompilerInstance - Helper class for managing a single instance of the Clang compiler.
virtual TranslationUnitKind getTranslationUnitKind()
For AST-based actions, the kind of translation unit we're handling.
bool hasASTFileSupport() const override
Does this action support use with AST files?
Abstract base class to use for AST consumer-based frontend actions.
virtual bool PrepareToExecuteAction(CompilerInstance &CI)
Prepare to execute the action on the given CompilerInstance.
bool hasASTFileSupport() const override
Does this action support use with AST files?
Abstract base class to use for preprocessor-based frontend actions.
TranslationUnitKind getTranslationUnitKind() override
For AST-based actions, the kind of translation unit we're handling.
Dataflow Directional Tag Classes.
bool usesPreprocessorOnly() const override
Does this action only use the preprocessor?
virtual bool BeginSourceFileAction(CompilerInstance &CI)
Callback at the start of processing a single input.
TranslationUnitKind
Describes the kind of translation unit being processed.
bool usesPreprocessorOnly() const override
Does this action only use the preprocessor?
bool hasCodeCompletionSupport() const override
Does this action support use with code completion?
Defines the clang::FrontendAction interface and various convenience abstract classes (clang::ASTFront...
TranslationUnitKind getTranslationUnitKind() override
For AST-based actions, the kind of translation unit we're handling.
The translation unit is a module.