diff --git a/cint/inc/Method.h b/cint/inc/Method.h
index 90a7314bbe332ed974923e1c76c6e3a3bfb843ab..819eb7d1695ee01bf51c885fc0e6b9caf43af98f 100644
--- a/cint/inc/Method.h
+++ b/cint/inc/Method.h
@@ -74,13 +74,8 @@ G__MethodInfo {
   void* PointerToFunc();
 #endif
   G__ClassInfo* MemberOf() { return(belongingclass); }
-  struct G__friendtag* GetFriendInfo() { 
-    if(IsValid()) {
-      struct G__ifunc_table *ifunc=(struct G__ifunc_table*)handle;
-      return(ifunc->friendtag[index]);
-    }
-    else return 0;
-  }
+  int GetDefiningScopeTagnum();
+  struct G__friendtag* GetFriendInfo();
   void SetGlobalcomp(int globalcomp);
   int IsValid();
   int SetFilePos(const char* fname);
@@ -101,6 +96,9 @@ G__MethodInfo {
   void SetIsVirtual(int isvirtual);
   void SetVtblBasetagnum(int basetagnum);
 
+  void  SetUserParam(void*);
+  void *GetUserParam();
+
  protected:
   long handle;
   long index;
@@ -109,6 +107,7 @@ G__MethodInfo {
 #endif
   G__ClassInfo* belongingclass;
   G__TypeInfo type;
+  
 };
 
 } // namespace Cint
diff --git a/cint/src/Method.cxx b/cint/src/Method.cxx
index 191e540bc7157c0257732b8f43736a688bb07fea..05e0748134edd314de07c69fc1bfba361db96cd2 100644
--- a/cint/src/Method.cxx
+++ b/cint/src/Method.cxx
@@ -742,3 +742,42 @@ void Cint::G__MethodInfo::SetVtblBasetagnum(int 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;
+}