39 pair<list<string>,
unsigned int>
ctorArgs(
const char* classname,
UInt_t nMinArg)
48 ClassInfo_t* cls =
gInterpreter->ClassInfo_Factory(classname);
49 MethodInfo_t* func =
gInterpreter->MethodInfo_Factory(cls);
62 if (
string(classname) !=
gInterpreter->MethodInfo_TypeName(func)) {
68 if (nargs==0 || nargs==
gInterpreter->MethodInfo_NDefaultArg(func)) {
72 MethodArgInfo_t* arg =
gInterpreter->MethodArgInfo_Factory(func);
75 const char* argTypeName =
gInterpreter->MethodArgInfo_TypeName(arg);
76 if (nreq<2 && ((
string(
"char*") != argTypeName
78 && string(
"const char*") != argTypeName)) {
81 ret.push_back(argTypeName) ;
82 if(!
gInterpreter->MethodArgInfo_DefaultValue(arg)) nreq++ ;
87 if (ret.size()<nMinArg) {
95 return pair<list<string>,
unsigned int>(ret,nreq) ;
102 ClassInfo_t* cls =
gInterpreter->ClassInfo_Factory(classname);
115 strlcpy(buf,typeName,256) ;
116 char* className = strtok(buf,
":") ;
119 if (strrchr(value,
':')) {
120 value = strrchr(value,
':')+1 ;
123 ClassInfo_t* cls =
gInterpreter->ClassInfo_Factory(className);
124 DataMemberInfo_t* dm =
gInterpreter->DataMemberInfo_Factory(cls);
129 if (
string(
Form(
"%s",typeName))==
gInterpreter->DataMemberInfo_TypeName(dm)) {
130 if (
string(value)==
gInterpreter->DataMemberInfo_Name(dm)) {
148 if (
string(trueName)==
gInterpreter->TypedefInfo_TrueName(t)
149 && string(aliasName)==
gInterpreter->TypedefInfo_Name(t)) {
164 if (
string(aliasName)==
gInterpreter->TypedefInfo_Name(t)) {
171 return string(aliasName) ;
Bool_t isValidEnumValue(const char *typeName, const char *value)
Bool_t isEnum(const char *typeName)
std::pair< std::list< std::string >, unsigned int > ctorArgs(const char *classname, UInt_t nMinArgs=0)
Bool_t isTypeDef(const char *trueName, const char *aliasName)
std::string trueName(const char *typeDefName)
char * Form(const char *fmt,...)