99 if (newname && strlen(newname)) newobj->
SetName(newname);
148 Int_t nchs = strlen(argstring);
149 char *argstr =
new char[nchs+1];
150 char *ptr1 =
nullptr;
152 char *ptr2 =
nullptr;
155 strlcpy(argstr,argstring,nchs+1);
157 ptr2 = R__STRTOK_R(argstr,
"{}", &rest);
158 if (ptr2 ==
nullptr) {
163 ptr2 = R__STRTOK_R((
char *)
nullptr,
"{}", &rest);
170 ptr1 = R__STRTOK_R((
char *)(cnt++ ?
nullptr : ptr2),
",;", &rest);
173 Int_t nch = strlen(ptr1);
174 tok =
new char[nch+1];
175 strlcpy(tok,ptr1,nch+1);
176 tokens[token_cnt] = tok;
187 for (i=0; i<token_cnt;i++) {
188 ptr1 = R__STRTOK_R(tokens[i],
"=>", &rest);
189 ptr2 = R__STRTOK_R((
char *)
nullptr,
"=>", &rest);
197 if (!strcmp(ptr1,ar->
GetName())) {
207 if (
a)
a->fDataMember = member;
224 char dataname[67] =
"";
225 char basename[64] =
"";
226 const char *funcname =
GetName();
227 if ( strncmp(funcname,
"Get",3) == 0 || strncmp(funcname,
"Set",3) == 0 )
228 snprintf(basename,64,
"%s",funcname+3);
229 else if ( strncmp(funcname,
"Is",2) == 0 )
230 snprintf(basename,64,
"%s",funcname+2);
231 else if (strncmp(funcname,
"Has", 3) == 0)
232 snprintf(basename,64,
"%s", funcname+3);
236 snprintf(dataname,67,
"f%s",basename);
241 if (
a)
a->fDataMember = member;
244 snprintf(dataname,67,
"fIs%s",basename);
249 if (
a)
a->fDataMember = member;
282 MethodInfo_t *info =
gInterpreter->MethodInfo_Factory(newId);
285 return newId !=
nullptr;
287 return fInfo !=
nullptr;
320 if (docstring && strstr(docstring,
"*TOGGLE")) {
323 if ((s = strstr(docstring,
"*GETTER="))) {
328 if (docstring && strstr(docstring,
"*MENU"))
331 if (docstring && strstr(docstring,
"*SUBMENU"))
int Int_t
Signed integer 4 bytes (int).
char Char_t
Character 1 byte (char).
bool Bool_t
Boolean (0=false, 1=true) (bool).
externTInterpreter * gCling
TClass instances represent classes, structs and namespaces in the ROOT type system.
TDataMember * GetDataMember(const char *datamember) const
Return pointer to datamember object with name "datamember".
TClass * GetBaseDataMember(const char *datamember)
Return pointer to (base) class that contains datamember.
All ROOT classes may have RTTI (run time type identification) support added.
Bool_t UpdateInterpreterStateMarker()
virtual void CreateSignature()
Using the CINT method arg information to create a complete signature string.
TFunction(MethodInfo_t *info=nullptr)
Default TFunction ctor.
Long_t Property() const override
Get property description word. For meaning of bits see EProperty.
virtual bool Update(MethodInfo_t *info)
Update the TFunction to reflect the new info.
TList * GetListOfMethodArgs()
Return list containing the TMethodArgs of a TFunction.
TFunction & operator=(const TFunction &rhs)
Assignment operator.
Each ROOT method (see TMethod) has a linked list of its arguments.
TMethodCall * fSetterMethod
virtual const char * GetCommentString()
Returns a comment string from the class declaration.
TMethod & operator=(const TMethod &rhs)
Assignment operator.
virtual const char * Getter() const
virtual TDataMember * FindDataMember()
Tries to guess DataMember from comment string and Method's name <==(only if 1 Argument!...
TClass * GetClass() const
Bool_t Update(MethodInfo_t *info) override
Update the TMethod to reflect the new info.
void SetMenuItem(const char *docstring)
Set the menu item as prescribed in the doctstring.
virtual ~TMethod()
Cleanup.
virtual TMethodCall * SetterMethod()
Return call environment for this method in case this is a *TOGGLE method which takes a single boolean...
TMethodCall * fGetterMethod
Bool_t IsValid() override
Return true if this function object is pointing to a currently loaded function.
virtual TList * GetListOfMethodArgs()
Returns methodarg list and additionally updates fDataMember in TMethod by calling FindDataMember();.
void CreateSignature() override
Using the CINT method arg information create a complete signature string.
TMethod(MethodInfo_t *info=nullptr, TClass *cl=nullptr)
Default TMethod ctor.
virtual TMethodCall * GetterMethod()
Return call environment for the getter method in case this is a *TOGGLE method (for the context menu)...
TObject * Clone(const char *newname="") const override
Clone method.
const char * GetName() const override
Returns name of object.
virtual void SetName(const char *name)
Set the name of the TNamed.
Mother of all ROOT objects.
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.