[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/cscc csdoc.c,1.18,1.19
From: |
Gopal.V <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/cscc csdoc.c,1.18,1.19 |
Date: |
Sun, 26 Jan 2003 04:02:10 -0500 |
Update of /cvsroot/dotgnu-pnet/pnet/cscc
In directory subversions:/tmp/cvs-serv1695/cscc
Modified Files:
csdoc.c
Log Message:
fix C# sig output for enums
Index: csdoc.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csdoc.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -r1.18 -r1.19
*** csdoc.c 4 Jan 2003 15:16:54 -0000 1.18
--- csdoc.c 26 Jan 2003 09:02:07 -0000 1.19
***************
*** 490,494 ****
if(ILField_IsLiteral(field))
{
- /* TODO: dump the constant value */
}
fputs("\"/>\n", stream);
--- 490,493 ----
***************
*** 1040,1043 ****
--- 1039,1043 ----
ILNode *body;
ILNode *member;
+ int isEnum=0;
/* Bail out if this is a bad class definition */
***************
*** 1093,1100 ****
fputs("\"/>\n", stream);
- /* Output the type signature, in C# form */
- Indent(stream, indent);
- fputs("<TypeSignature Language=\"C#\" Value=\"", stream);
- ILDumpFlags(stream, defn->modifiers, CSharpTypeFlags, 0);
if(ILClassIsValueType(classInfo))
{
--- 1093,1096 ----
***************
*** 1103,1106 ****
--- 1099,1122 ----
!strcmp(ILClass_Namespace(parent), "System"))
{
+ isEnum=1;
+ }
+ }
+
+ /* Output the type signature, in C# form */
+ Indent(stream, indent);
+ fputs("<TypeSignature Language=\"C#\" Value=\"", stream);
+ if(isEnum)
+ {
+ ILDumpFlags(stream,defn->modifiers & ~(IL_META_TYPEDEF_SEALED),
+ CSharpTypeFlags,0);
+ }
+ else
+ {
+ ILDumpFlags(stream, defn->modifiers, CSharpTypeFlags, 0);
+ }
+ if(ILClassIsValueType(classInfo))
+ {
+ if(isEnum)
+ {
fputs("enum ", stream);
}
***************
*** 1119,1123 ****
}
fputs(ILClass_Name(classInfo), stream);
! if(parent && !ILTypeIsObjectClass(ILClassToType(parent)))
{
fputs(": ", stream);
--- 1135,1139 ----
}
fputs(ILClass_Name(classInfo), stream);
! if(!isEnum && parent && !ILTypeIsObjectClass(ILClassToType(parent)))
{
fputs(": ", stream);
***************
*** 1129,1133 ****
}
}
! else
{
impl = ILClassNextImplements(classInfo, 0);
--- 1145,1149 ----
}
}
! else if(!isEnum)
{
impl = ILClassNextImplements(classInfo, 0);
***************
*** 1137,1141 ****
}
}
! if(impl)
{
DumpClassNameOther(stream, ILImplementsGetInterface(impl),
classInfo);
--- 1153,1157 ----
}
}
! if(!isEnum && impl)
{
DumpClassNameOther(stream, ILImplementsGetInterface(impl),
classInfo);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/cscc csdoc.c,1.18,1.19,
Gopal.V <address@hidden> <=