[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] pnet/image meta_build.c,1.34,1.35
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] pnet/image meta_build.c,1.34,1.35 |
Date: |
Mon, 24 Nov 2003 07:46:19 +0000 |
Update of /cvsroot/dotgnu-pnet/pnet/image
In directory subversions:/tmp/cvs-serv27018/image
Modified Files:
meta_build.c
Log Message:
"redo" processing for nested and exported types, resolve TypeRef's
that involve ModuleRef scopes.
Index: meta_build.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/image/meta_build.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** meta_build.c 23 Nov 2003 02:30:07 -0000 1.34
--- meta_build.c 24 Nov 2003 07:46:17 -0000 1.35
***************
*** 543,547 ****
/* The nesting parent is marked for
redo,
so mark the child for redo also */
! if(!AddToRedoList(image->context,
scope))
{
return IL_LOADERR_MEMORY;
--- 543,547 ----
/* The nesting parent is marked for
redo,
so mark the child for redo also */
! if(!AddToRedoList(image->context,
&(info->programItem)))
{
return IL_LOADERR_MEMORY;
***************
*** 554,561 ****
case IL_META_TOKEN_MODULE_REF:
{
! /* Module reference imports are not currently
! supported. Types should be imported from
! assemblies, not modules. Module references
! should only be used for PInvoke imports */
}
break;
--- 554,564 ----
case IL_META_TOKEN_MODULE_REF:
{
! /* Type is imported from a foreign module */
! importImage = ILModuleToImage((ILModule
*)scope);
! if(importImage)
! {
! goto moduleImport;
! }
! /* TODO: dynamically load the specified module
*/
}
break;
***************
*** 567,570 ****
--- 570,574 ----
if(importImage)
{
+ moduleImport:
if(importImage == image ||
!(importImage->loading))
{
***************
*** 3172,3175 ****
--- 3176,3185 ----
}
+ /* Add the exported type to the "redo" list */
+ if(!AddToRedoList(image->context, &(type->classItem.programItem)))
+ {
+ return IL_LOADERR_MEMORY;
+ }
+
/* Done */
return 0;
***************
*** 3627,3630 ****
--- 3637,3641 ----
{
case IL_META_TOKEN_TYPE_REF:
+ case IL_META_TOKEN_EXPORTED_TYPE:
{
/* Nested type within a foreign assembly */
***************
*** 3810,3813 ****
--- 3821,3825 ----
{
case IL_META_TOKEN_TYPE_REF:
+ case IL_META_TOKEN_EXPORTED_TYPE:
{
error2 = RedoTypeRef(item->image, (ILClass
*)item);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] pnet/image meta_build.c,1.34,1.35,
Rhys Weatherley <address@hidden> <=