[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/ildasm ildasm_class.c,1.13,1.14
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/ildasm ildasm_class.c,1.13,1.14 |
Date: |
Tue, 06 May 2003 05:53:23 -0400 |
Update of /cvsroot/dotgnu-pnet/pnet/ildasm
In directory subversions:/tmp/cvs-serv17226/ildasm
Modified Files:
ildasm_class.c
Log Message:
Implement PInvoke lookups for fields so that global variables
within shared objects can be accessed.
Index: ildasm_class.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ildasm/ildasm_class.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** ildasm_class.c 18 Feb 2003 05:25:08 -0000 1.13
--- ildasm_class.c 6 May 2003 09:53:21 -0000 1.14
***************
*** 26,29 ****
--- 26,56 ----
/*
+ * Dump a PInvoke definition.
+ */
+ static void Dump_PInvoke(FILE *outstream, ILPInvoke *pinvoke, ILMember
*member)
+ {
+ if(pinvoke)
+ {
+ fputs("pinvokeimpl(", outstream);
+ ILDumpString(outstream,
+
ILModule_Name(ILPInvoke_Module(pinvoke)));
+ putc(' ', outstream);
+ if(strcmp(ILPInvoke_Alias(pinvoke), ILMember_Name(member)) != 0)
+ {
+ fputs("as ", outstream);
+ ILDumpString(outstream, ILPInvoke_Alias(pinvoke));
+ putc(' ', outstream);
+ }
+ ILDumpFlags(outstream, ILPInvoke_Attrs(pinvoke),
+ ILPInvokeImplementationFlags, 0);
+ fputs(") ", outstream);
+ }
+ else
+ {
+ fputs("pinvokeimpl() ", outstream);
+ }
+ }
+
+ /*
* Dump a method definition.
*/
***************
*** 32,36 ****
{
ILUInt32 rva;
- ILPInvoke *pinvoke;
ILOverride *over;
int haveContents;
--- 59,62 ----
***************
*** 53,77 ****
if(ILMethod_HasPInvokeImpl(method))
{
! pinvoke = ILPInvokeFind(method);
! if(pinvoke)
! {
! fputs("pinvokeimpl(", outstream);
! ILDumpString(outstream,
!
ILModule_Name(ILPInvoke_Module(pinvoke)));
! putc(' ', outstream);
! if(strcmp(ILPInvoke_Alias(pinvoke),
ILMethod_Name(method)) != 0)
! {
! fputs("as ", outstream);
! ILDumpString(outstream,
ILPInvoke_Alias(pinvoke));
! putc(' ', outstream);
! }
! ILDumpFlags(outstream, ILPInvoke_Attrs(pinvoke),
! ILPInvokeImplementationFlags,
0);
! fputs(") ", outstream);
! }
! else
! {
! fputs("pinvokeimpl() ", outstream);
! }
}
ILDumpMethodType(outstream, image, ILMethod_Signature(method),
--- 79,83 ----
if(ILMethod_HasPInvokeImpl(method))
{
! Dump_PInvoke(outstream, ILPInvokeFind(method), (ILMember
*)method);
}
ILDumpMethodType(outstream, image, ILMethod_Signature(method),
***************
*** 170,173 ****
--- 176,183 ----
}
}
+ }
+ if(ILField_HasPInvokeImpl(field))
+ {
+ Dump_PInvoke(outstream, ILPInvokeFindField(field), (ILMember
*)field);
}
ILDumpType(outstream, image, ILFieldGetTypeWithPrefixes(field), flags);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/ildasm ildasm_class.c,1.13,1.14,
Rhys Weatherley <address@hidden> <=