#include "ASTStructExtractor.h"
#include "lldb/Utility/Log.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclGroup.h"
#include "clang/AST/Expr.h"
#include "clang/AST/RecordLayout.h"
#include "clang/AST/Stmt.h"
#include "clang/Parse/Parser.h"
#include "clang/Sema/Sema.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/raw_ostream.h"
#include <cstdlib>
usingnamespacellvm;
usingnamespaceclang;
usingnamespacelldb_private;
ASTStructExtractor::ASTStructExtractor(ASTConsumer *passthrough,
const char *struct_name,
ClangFunctionCaller &function)
: … { … }
ASTStructExtractor::~ASTStructExtractor() = default;
void ASTStructExtractor::Initialize(ASTContext &Context) { … }
void ASTStructExtractor::ExtractFromFunctionDecl(FunctionDecl *F) { … }
void ASTStructExtractor::ExtractFromTopLevelDecl(Decl *D) { … }
bool ASTStructExtractor::HandleTopLevelDecl(DeclGroupRef D) { … }
void ASTStructExtractor::HandleTranslationUnit(ASTContext &Ctx) { … }
void ASTStructExtractor::HandleTagDeclDefinition(TagDecl *D) { … }
void ASTStructExtractor::CompleteTentativeDefinition(VarDecl *D) { … }
void ASTStructExtractor::HandleVTable(CXXRecordDecl *RD) { … }
void ASTStructExtractor::PrintStats() { … }
void ASTStructExtractor::InitializeSema(Sema &S) { … }
void ASTStructExtractor::ForgetSema() { … }