summaryrefslogtreecommitdiffstats
path: root/include/clang/Frontend/FrontendActions.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Frontend/FrontendActions.h')
-rw-r--r--include/clang/Frontend/FrontendActions.h241
1 files changed, 0 insertions, 241 deletions
diff --git a/include/clang/Frontend/FrontendActions.h b/include/clang/Frontend/FrontendActions.h
deleted file mode 100644
index f61775f..0000000
--- a/include/clang/Frontend/FrontendActions.h
+++ /dev/null
@@ -1,241 +0,0 @@
-//===-- FrontendActions.h - Useful Frontend Actions -------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_FRONTEND_FRONTENDACTIONS_H
-#define LLVM_CLANG_FRONTEND_FRONTENDACTIONS_H
-
-#include "clang/Frontend/FrontendAction.h"
-#include <string>
-#include <vector>
-
-namespace clang {
-
-class Module;
-class FileEntry;
-
-//===----------------------------------------------------------------------===//
-// Custom Consumer Actions
-//===----------------------------------------------------------------------===//
-
-class InitOnlyAction : public FrontendAction {
- void ExecuteAction() override;
-
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-
-public:
- // Don't claim to only use the preprocessor, we want to follow the AST path,
- // but do nothing.
- bool usesPreprocessorOnly() const override { return false; }
-};
-
-//===----------------------------------------------------------------------===//
-// AST Consumer Actions
-//===----------------------------------------------------------------------===//
-
-class ASTPrintAction : public ASTFrontendAction {
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-};
-
-class ASTDumpAction : public ASTFrontendAction {
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-};
-
-class ASTDeclListAction : public ASTFrontendAction {
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-};
-
-class ASTViewAction : public ASTFrontendAction {
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-};
-
-class DeclContextPrintAction : public ASTFrontendAction {
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-};
-
-class GeneratePCHAction : public ASTFrontendAction {
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-
- TranslationUnitKind getTranslationUnitKind() override {
- return TU_Prefix;
- }
-
- bool hasASTFileSupport() const override { return false; }
-
-public:
- /// \brief Compute the AST consumer arguments that will be used to
- /// create the PCHGenerator instance returned by CreateASTConsumer.
- ///
- /// \returns true if an error occurred, false otherwise.
- static raw_pwrite_stream *
- ComputeASTConsumerArguments(CompilerInstance &CI, StringRef InFile,
- std::string &Sysroot, std::string &OutputFile);
-};
-
-class GenerateModuleAction : public ASTFrontendAction {
- clang::Module *Module;
- const FileEntry *ModuleMapForUniquing;
- bool IsSystem;
-
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-
- TranslationUnitKind getTranslationUnitKind() override {
- return TU_Module;
- }
-
- bool hasASTFileSupport() const override { return false; }
-
-public:
- GenerateModuleAction(const FileEntry *ModuleMap = nullptr,
- bool IsSystem = false)
- : ASTFrontendAction(), ModuleMapForUniquing(ModuleMap), IsSystem(IsSystem)
- { }
-
- bool BeginSourceFileAction(CompilerInstance &CI, StringRef Filename) override;
-
- /// \brief Compute the AST consumer arguments that will be used to
- /// create the PCHGenerator instance returned by CreateASTConsumer.
- ///
- /// \returns true if an error occurred, false otherwise.
- raw_pwrite_stream *ComputeASTConsumerArguments(CompilerInstance &CI,
- StringRef InFile,
- std::string &Sysroot,
- std::string &OutputFile);
-};
-
-class SyntaxOnlyAction : public ASTFrontendAction {
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-
-public:
- bool hasCodeCompletionSupport() const override { return true; }
-};
-
-/// \brief Dump information about the given module file, to be used for
-/// basic debugging and discovery.
-class DumpModuleInfoAction : public ASTFrontendAction {
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
- void ExecuteAction() override;
-
-public:
- bool hasPCHSupport() const override { return false; }
- bool hasASTFileSupport() const override { return true; }
- bool hasIRSupport() const override { return false; }
- bool hasCodeCompletionSupport() const override { return false; }
-};
-
-class VerifyPCHAction : public ASTFrontendAction {
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-
- void ExecuteAction() override;
-
-public:
- bool hasCodeCompletionSupport() const override { return false; }
-};
-
-/**
- * \brief Frontend action adaptor that merges ASTs together.
- *
- * This action takes an existing AST file and "merges" it into the AST
- * context, producing a merged context. This action is an action
- * adaptor, which forwards most of its calls to another action that
- * will consume the merged context.
- */
-class ASTMergeAction : public FrontendAction {
- /// \brief The action that the merge action adapts.
- FrontendAction *AdaptedAction;
-
- /// \brief The set of AST files to merge.
- std::vector<std::string> ASTFiles;
-
-protected:
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
- StringRef InFile) override;
-
- bool BeginSourceFileAction(CompilerInstance &CI,
- StringRef Filename) override;
-
- void ExecuteAction() override;
- void EndSourceFileAction() override;
-
-public:
- ASTMergeAction(FrontendAction *AdaptedAction, ArrayRef<std::string> ASTFiles);
- ~ASTMergeAction() override;
-
- bool usesPreprocessorOnly() const override;
- TranslationUnitKind getTranslationUnitKind() override;
- bool hasPCHSupport() const override;
- bool hasASTFileSupport() const override;
- bool hasCodeCompletionSupport() const override;
-};
-
-class PrintPreambleAction : public FrontendAction {
-protected:
- void ExecuteAction() override;
- std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &,
- StringRef) override {
- return nullptr;
- }
-
- bool usesPreprocessorOnly() const override { return true; }
-};
-
-//===----------------------------------------------------------------------===//
-// Preprocessor Actions
-//===----------------------------------------------------------------------===//
-
-class DumpRawTokensAction : public PreprocessorFrontendAction {
-protected:
- void ExecuteAction() override;
-};
-
-class DumpTokensAction : public PreprocessorFrontendAction {
-protected:
- void ExecuteAction() override;
-};
-
-class GeneratePTHAction : public PreprocessorFrontendAction {
-protected:
- void ExecuteAction() override;
-};
-
-class PreprocessOnlyAction : public PreprocessorFrontendAction {
-protected:
- void ExecuteAction() override;
-};
-
-class PrintPreprocessedAction : public PreprocessorFrontendAction {
-protected:
- void ExecuteAction() override;
-
- bool hasPCHSupport() const override { return true; }
-};
-
-} // end namespace clang
-
-#endif
OpenPOWER on IntegriCloud