[Top][All Lists]
[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)
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/image class.c,1.22,1.23,
Rhys Weatherley <address@hidden> <=