dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/image class.c,1.22,1.23


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/image class.c,1.22,1.23
Date: Thu, 27 Feb 2003 01:19:26 -0500

Update of /cvsroot/dotgnu-pnet/pnet/image
In directory subversions:/tmp/cvs-serv9182/image

Modified Files:
        class.c 
Log Message:


Fix bug #2439 - pending implementation of interfaces.


Index: class.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/image/class.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -r1.22 -r1.23
*** class.c     26 Feb 2003 00:07:25 -0000      1.22
--- class.c     27 Feb 2003 06:19:23 -0000      1.23
***************
*** 1671,1674 ****
--- 1671,1704 ----
  }
  
+ ILMethod *ILClassGetMethodImplForProxy(ILClass *info, ILMethod *method)
+ {
+       ILClass *parent;
+       ILMethod *method2;
+       ILMethod *result;
+       const char *name;
+       ILType *signature;
+ 
+       /* Cache the name and signature information for the interface method */
+       name = ILMethod_Name(method);
+       signature = ILMethod_Signature(method);
+ 
+       /* Start at the parent class and search for any public method that
+          matches the specified signature */
+       parent = ILClassGetParent(info);
+       result = 0;
+       while(parent != 0)
+       {
+               method2 = (ILMethod *)ILClassNextMemberMatch
+                       (parent, 0, IL_META_MEMBERKIND_METHOD, name, signature);
+               if(method2 && ILMethod_IsPublic(method2))
+               {
+                       result = method2;
+                       break;
+               }
+               parent = ILClassGetParent(parent);
+       }
+       return result;
+ }
+ 
  void ILClassDetachMember(ILMember *member)
  {





reply via email to

[Prev in Thread] Current Thread [Next in Thread]