12 #ifndef ROOT_TClingTypeInfo
13 #define ROOT_TClingTypeInfo
28 #include "clang/AST/Type.h"
35 namespace TMetaUtils {
36 class TNormalizedCtxt;
40 class TClingTypeInfo {
43 cling::Interpreter *fInterp;
44 clang::QualType fQualType;
48 explicit TClingTypeInfo(cling::Interpreter *interp)
51 TClingTypeInfo(cling::Interpreter *interp, clang::QualType ty)
52 : fInterp(interp), fQualType(ty) {}
54 TClingTypeInfo(cling::Interpreter *interp,
const char *name);
56 cling::Interpreter *GetInterpreter()
const {
return fInterp; }
58 clang::QualType GetQualType()
const {
return fQualType; }
60 void Init(
const char *name);
61 void Init(clang::QualType ty) { fQualType = ty; }
62 bool IsValid()
const {
return !fQualType.isNull(); }
63 const char *Name()
const;
64 long Property()
const;
67 const char *StemName()
const;
68 const char *TrueName(
const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
const;
69 std::string NormalizedName(
const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt)
const;
73 #endif // ROOT_TClingTypeInfo