12#ifndef ROOT_TClingDataMemberInfo
13#define ROOT_TClingDataMemberInfo
33#include "cling/Interpreter/Interpreter.h"
35#include "clang/AST/ASTContext.h"
36#include "clang/AST/Decl.h"
37#include "clang/Frontend/CompilerInstance.h"
48 namespace TMetaUtils {
49 class TNormalizedCtxt;
62 clang::DeclContext::decl_iterator
fIter;
63 std::vector<clang::DeclContext::decl_iterator>
fIterStack;
66 llvm::SmallVector<clang::DeclContext *, 2>
fContexts;
86 fIter =
fInterp->getCI()->getASTContext().getTranslationUnitDecl()->decls_begin();
142 const char *
TypeTrueName(
const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
const;
143 const char *
Name()
override;
The file contains a base class of TCling*Info classes.
Emulation of the CINT ClassInfo class.
Emulation of the CINT DataMemberInfo class.
const char * TypeName() const
union TClingDataMemberInfo::@30 fConstInitVal
clang::DeclContext::decl_iterator fIter
const clang::Decl * GetDecl() const override
TClingDataMemberInfo(const TClingDataMemberInfo &rhs)
const char * TypeTrueName(const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
void CheckForIoTypeAndName() const
const char * Name() override
int MaxIndex(int dim) const
TClingClassInfo * fClassInfo
std::vector< clang::DeclContext::decl_iterator > fIterStack
TClingDataMemberInfo(cling::Interpreter *interp)
cling::Interpreter * fInterp
llvm::SmallVector< clang::DeclContext *, 2 > fContexts
llvm::StringRef ValidArrayIndex() const
TClingDataMemberInfo & operator=(const TClingDataMemberInfo &rhs)
TDictionary::DeclId_t DeclId_t
TClingClassInfo * GetClassInfo() const
long TypeProperty() const
DeclId_t GetDeclId() const
virtual const clang::Decl * GetDecl() const
Namespace for new ROOT classes and functions.