#include "clang/Frontend/FrontendActions.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/Decl.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/LangStandard.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Frontend/ASTConsumers.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/FrontendDiagnostic.h"
#include "clang/Frontend/MultiplexConsumer.h"
#include "clang/Frontend/Utils.h"
#include "clang/Lex/DependencyDirectivesScanner.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Lex/PreprocessorOptions.h"
#include "clang/Sema/TemplateInstCallback.h"
#include "clang/Serialization/ASTReader.h"
#include "clang/Serialization/ASTWriter.h"
#include "clang/Serialization/ModuleFile.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/Support/raw_ostream.h"
#include <memory>
#include <optional>
#include <system_error>
usingnamespaceclang;
namespace {
CodeCompleteConsumer *GetCodeCompletionConsumer(CompilerInstance &CI) { … }
void EnsureSemaIsCreated(CompilerInstance &CI, FrontendAction &Action) { … }
}
std::unique_ptr<ASTConsumer>
InitOnlyAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { … }
void InitOnlyAction::ExecuteAction() { … }
void ReadPCHAndPreprocessAction::ExecuteAction() { … }
std::unique_ptr<ASTConsumer>
ReadPCHAndPreprocessAction::CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) { … }
std::unique_ptr<ASTConsumer>
ASTPrintAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { … }
std::unique_ptr<ASTConsumer>
ASTDumpAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { … }
std::unique_ptr<ASTConsumer>
ASTDeclListAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { … }
std::unique_ptr<ASTConsumer>
ASTViewAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { … }
std::unique_ptr<ASTConsumer>
GeneratePCHAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { … }
bool GeneratePCHAction::ComputeASTConsumerArguments(CompilerInstance &CI,
std::string &Sysroot) { … }
std::unique_ptr<llvm::raw_pwrite_stream>
GeneratePCHAction::CreateOutputFile(CompilerInstance &CI, StringRef InFile,
std::string &OutputFile) { … }
bool GeneratePCHAction::shouldEraseOutputFiles() { … }
bool GeneratePCHAction::BeginSourceFileAction(CompilerInstance &CI) { … }
std::vector<std::unique_ptr<ASTConsumer>>
GenerateModuleAction::CreateMultiplexConsumer(CompilerInstance &CI,
StringRef InFile) { … }
std::unique_ptr<ASTConsumer>
GenerateModuleAction::CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) { … }
bool GenerateModuleAction::shouldEraseOutputFiles() { … }
bool GenerateModuleFromModuleMapAction::BeginSourceFileAction(
CompilerInstance &CI) { … }
std::unique_ptr<raw_pwrite_stream>
GenerateModuleFromModuleMapAction::CreateOutputFile(CompilerInstance &CI,
StringRef InFile) { … }
bool GenerateModuleInterfaceAction::BeginSourceFileAction(
CompilerInstance &CI) { … }
std::unique_ptr<ASTConsumer>
GenerateModuleInterfaceAction::CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) { … }
std::unique_ptr<raw_pwrite_stream>
GenerateModuleInterfaceAction::CreateOutputFile(CompilerInstance &CI,
StringRef InFile) { … }
std::unique_ptr<ASTConsumer>
GenerateReducedModuleInterfaceAction::CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) { … }
bool GenerateHeaderUnitAction::BeginSourceFileAction(CompilerInstance &CI) { … }
std::unique_ptr<raw_pwrite_stream>
GenerateHeaderUnitAction::CreateOutputFile(CompilerInstance &CI,
StringRef InFile) { … }
SyntaxOnlyAction::~SyntaxOnlyAction() { … }
std::unique_ptr<ASTConsumer>
SyntaxOnlyAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { … }
std::unique_ptr<ASTConsumer>
DumpModuleInfoAction::CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) { … }
std::unique_ptr<ASTConsumer>
VerifyPCHAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { … }
void VerifyPCHAction::ExecuteAction() { … }
namespace {
struct TemplightEntry { … };
}
namespace llvm {
namespace yaml {
template <> struct MappingTraits<TemplightEntry> { … };
}
}
namespace {
class DefaultTemplateInstCallback : public TemplateInstantiationCallback { … };
}
std::unique_ptr<ASTConsumer>
TemplightDumpAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { … }
void TemplightDumpAction::ExecuteAction() { … }
namespace {
class DumpModuleInfoListener : public ASTReaderListener { … };
}
bool DumpModuleInfoAction::BeginInvocation(CompilerInstance &CI) { … }
static StringRef ModuleKindName(Module::ModuleKind MK) { … }
void DumpModuleInfoAction::ExecuteAction() { … }
void DumpRawTokensAction::ExecuteAction() { … }
void DumpTokensAction::ExecuteAction() { … }
void PreprocessOnlyAction::ExecuteAction() { … }
void PrintPreprocessedAction::ExecuteAction() { … }
void PrintPreambleAction::ExecuteAction() { … }
void DumpCompilerOptionsAction::ExecuteAction() { … }
void PrintDependencyDirectivesSourceMinimizerAction::ExecuteAction() { … }
void GetDependenciesByModuleNameAction::ExecuteAction() { … }