Skip to content
Snippets Groups Projects
Commit c8d08f8c authored by Philippe Canal's avatar Philippe Canal
Browse files

Add UserParam set/get. Move GetFriendInfo implementation

git-svn-id: http://root.cern.ch/svn/root/trunk@16996 27541ba8-7e3a-0410-8455-c3a389f83636
parent 129e67c0
No related branches found
No related tags found
No related merge requests found
...@@ -74,13 +74,8 @@ G__MethodInfo { ...@@ -74,13 +74,8 @@ G__MethodInfo {
void* PointerToFunc(); void* PointerToFunc();
#endif #endif
G__ClassInfo* MemberOf() { return(belongingclass); } G__ClassInfo* MemberOf() { return(belongingclass); }
struct G__friendtag* GetFriendInfo() { int GetDefiningScopeTagnum();
if(IsValid()) { struct G__friendtag* GetFriendInfo();
struct G__ifunc_table *ifunc=(struct G__ifunc_table*)handle;
return(ifunc->friendtag[index]);
}
else return 0;
}
void SetGlobalcomp(int globalcomp); void SetGlobalcomp(int globalcomp);
int IsValid(); int IsValid();
int SetFilePos(const char* fname); int SetFilePos(const char* fname);
...@@ -101,6 +96,9 @@ G__MethodInfo { ...@@ -101,6 +96,9 @@ G__MethodInfo {
void SetIsVirtual(int isvirtual); void SetIsVirtual(int isvirtual);
void SetVtblBasetagnum(int basetagnum); void SetVtblBasetagnum(int basetagnum);
void SetUserParam(void*);
void *GetUserParam();
protected: protected:
long handle; long handle;
long index; long index;
...@@ -109,6 +107,7 @@ G__MethodInfo { ...@@ -109,6 +107,7 @@ G__MethodInfo {
#endif #endif
G__ClassInfo* belongingclass; G__ClassInfo* belongingclass;
G__TypeInfo type; G__TypeInfo type;
}; };
} // namespace Cint } // namespace Cint
......
...@@ -742,3 +742,42 @@ void Cint::G__MethodInfo::SetVtblBasetagnum(int basetagnum) { ...@@ -742,3 +742,42 @@ void Cint::G__MethodInfo::SetVtblBasetagnum(int basetagnum) {
ifunc->vtblbasetagnum[index] = (short)basetagnum; ifunc->vtblbasetagnum[index] = (short)basetagnum;
} }
///////////////////////////////////////////////////////////////////////////
// GetFriendInfo
///////////////////////////////////////////////////////////////////////////
G__friendtag* Cint::G__MethodInfo::GetFriendInfo() {
if(IsValid()) {
struct G__ifunc_table *ifunc=(struct G__ifunc_table*)handle;
return(ifunc->friendtag[index]);
}
else return 0;
}
///////////////////////////////////////////////////////////////////////////
// GetDefiningScopeTagnum
///////////////////////////////////////////////////////////////////////////
int Cint::G__MethodInfo::GetDefiningScopeTagnum()
{
if (IsValid()) {
return ifunc()->tagnum;
}
else return -1;
}
///////////////////////////////////////////////////////////////////////////
// SetUserParam
///////////////////////////////////////////////////////////////////////////
void Cint::G__MethodInfo::SetUserParam(void *user)
{
if (IsValid()) {
ifunc()->userparam[index] = user;
}
}
///////////////////////////////////////////////////////////////////////////
// GetUserParam
///////////////////////////////////////////////////////////////////////////
void *Cint::G__MethodInfo::GetUserParam()
{
if (IsValid()) {
return ifunc()->userparam[index];
}
else return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment