[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/ilalink link_field.c,1.9,1.10
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/ilalink link_field.c,1.9,1.10 |
Date: |
Tue, 06 May 2003 05:53:23 -0400 |
Update of /cvsroot/dotgnu-pnet/pnet/ilalink
In directory subversions:/tmp/cvs-serv17226/ilalink
Modified Files:
link_field.c
Log Message:
Implement PInvoke lookups for fields so that global variables
within shared objects can be accessed.
Index: link_field.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilalink/link_field.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** link_field.c 15 Feb 2003 01:57:52 -0000 1.9
--- link_field.c 6 May 2003 09:53:21 -0000 1.10
***************
*** 31,34 ****
--- 31,36 ----
ILType *type = ILFieldGetTypeWithPrefixes(field);
char *newName = 0;
+ ILPInvoke *pinvoke;
+ ILModule *module;
/* Rename the field if it is within the "<Module>" class and private */
***************
*** 134,137 ****
--- 136,162 ----
{
return 0;
+ }
+
+ /* Convert the PInvoke information for the method */
+ pinvoke = ILPInvokeFindField(field);
+ if(pinvoke)
+ {
+ module = ILPInvoke_Module(pinvoke);
+ if(module)
+ {
+ module = ILModuleRefCreateUnique(linker->image,
+
ILModule_Name(module));
+ if(!module)
+ {
+ _ILLinkerOutOfMemory(linker);
+ return 0;
+ }
+ }
+ if(!ILPInvokeFieldCreate(newField, 0, ILPInvoke_Attrs(pinvoke),
+ module,
ILPInvoke_Alias(pinvoke)))
+ {
+ _ILLinkerOutOfMemory(linker);
+ return 0;
+ }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/ilalink link_field.c,1.9,1.10,
Rhys Weatherley <address@hidden> <=