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

[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;
+               }
        }
  





reply via email to

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