12 #ifndef ROOT_TClingDataMemberInfo
13 #define ROOT_TClingDataMemberInfo
31 #include "cling/Interpreter/Interpreter.h"
33 #include "clang/AST/ASTContext.h"
34 #include "clang/AST/Decl.h"
35 #include "clang/Frontend/CompilerInstance.h"
46 namespace TMetaUtils {
47 class TNormalizedCtxt;
60 clang::DeclContext::decl_iterator
fIter;
61 std::vector<clang::DeclContext::decl_iterator>
fIterStack;
65 llvm::SmallVector<clang::DeclContext *, 2>
fContexts;
82 : fInterp(interp), fClassInfo(0), fFirstTime(true), fSingleDecl(0), fContextIdx(0U)
85 fIter = fInterp->getCI()->getASTContext().getTranslationUnitDecl()->decls_begin();
123 const clang::Decl *
GetDecl()
const {
return fSingleDecl ? fSingleDecl : *
fIter; }
135 const char *
Name()
const;
141 #endif // ROOT_TClingDataMemberInfo
long TypeProperty() const
const char * Name() const
Namespace for new ROOT classes and functions.
union TClingDataMemberInfo::@38 fConstInitVal
Emulation of the CINT DataMemberInfo class.
TClingDataMemberInfo(cling::Interpreter *interp)
llvm::StringRef ValidArrayIndex() const
clang::DeclContext::decl_iterator fIter
TClingClassInfo * GetClassInfo() const
std::vector< clang::DeclContext::decl_iterator > fIterStack
const char * TypeTrueName(const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
DeclId_t GetDeclId() const
int MaxIndex(int dim) const
llvm::SmallVector< clang::DeclContext *, 2 > fContexts
void CheckForIoTypeAndName() const
TClingDataMemberInfo & operator=(const TClingDataMemberInfo &rhs)
const clang::Decl * GetDecl() const
cling::Interpreter * fInterp
const char * TypeName() const
TDictionary::DeclId_t DeclId_t
TClingDataMemberInfo(const TClingDataMemberInfo &rhs)
const clang::ValueDecl * fSingleDecl
Emulation of the CINT ClassInfo class.
TClingClassInfo * fClassInfo