Files
clice/include/AST/ParsedAST.h
2024-09-06 18:36:24 +08:00

25 lines
751 B
C++

#pragma once
#include "Preamble.h"
namespace clice {
struct ParsedAST {
clang::Sema& sema;
clang::ASTContext& context;
clang::Preprocessor& preproc;
clang::FileManager& fileManager;
clang::SourceManager& sourceManager;
clang::syntax::TokenBuffer tokenBuffer;
std::unique_ptr<Directive> directive;
std::unique_ptr<clang::FrontendAction> action;
std::unique_ptr<clang::CompilerInstance> instance;
static std::unique_ptr<ParsedAST> build(llvm::StringRef filename,
llvm::StringRef content,
std::vector<const char*>& args,
Preamble* preamble = nullptr);
};
} // namespace clice