[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_decls.tc,1.35,1.36
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_decls.tc,1.35,1.36 |
Date: |
Thu, 27 Feb 2003 01:19:26 -0500 |
Update of /cvsroot/dotgnu-pnet/pnet/cscc/csharp
In directory subversions:/tmp/cvs-serv9182/cscc/csharp
Modified Files:
cs_decls.tc
Log Message:
Fix bug #2439 - pending implementation of interfaces.
Index: cs_decls.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_decls.tc,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -r1.35 -r1.36
*** cs_decls.tc 26 Feb 2003 02:11:11 -0000 1.35
--- cs_decls.tc 27 Feb 2003 06:19:22 -0000 1.36
***************
*** 33,36 ****
--- 33,62 ----
}
+ /*
+ * Proxy reporting function for "ILGenImplementsAllInterfaces".
+ */
+ static void InterfaceProxyFunc(ILNode *node, ILClass *classInfo,
+ ILMethod
*missingMember,
+ ILMethod
*proxyReplacement)
+ {
+ ILNode_ClassDefn *defn = (ILNode_ClassDefn *)node;
+ ILNode *proxy = ILNode_ProxyDeclaration_create
+ (missingMember, proxyReplacement);
+ ILNode *body;
+ if(!(defn->body))
+ {
+ body = defn->body = ILNode_List_create();
+ }
+ else
+ {
+ body = defn->body;
+ if(yyisa(body, ILNode_ScopeChange))
+ {
+ body = ((ILNode_ScopeChange *)body)->body;
+ }
+ }
+ ILNode_List_Add(body, proxy);
+ }
+
/* Since we can't (shouldn't?) inherit list from multiple types, this
* operation will iterate over a list of declarations adding to the
***************
*** 245,249 ****
/* Check that the class implements all of its interfaces */
ILGenImplementsAllInterfaces(info, (ILNode *)node,
node->classInfo,
!
InterfaceErrorFunc);
}
if((node->modifiers & CS_SPECIALATTR_UNSAFE) != 0)
--- 271,275 ----
/* Check that the class implements all of its interfaces */
ILGenImplementsAllInterfaces(info, (ILNode *)node,
node->classInfo,
!
InterfaceErrorFunc, InterfaceProxyFunc);
}
if((node->modifiers & CS_SPECIALATTR_UNSAFE) != 0)
***************
*** 277,280 ****
--- 303,319 ----
CSListGatherStaticCtor((ILNode_List *)node->body, ctor);
}
+ }
+
+ /*
+ * Perform semantic analysis for proxy declarations.
+ */
+ ILNode_SemAnalysis(ILNode_ProxyDeclaration)
+ {
+ /* Nothing to do here */
+ return CSSemValueDefault;
+ }
+ ILNode_Declaration_GatherStaticCtor(ILNode_ProxyDeclaration)
+ {
+ /* Nothing to do here */
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_decls.tc,1.35,1.36,
Rhys Weatherley <address@hidden> <=