[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/image lib_attrs.c,1.3,1.4
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/image lib_attrs.c,1.3,1.4 |
Date: |
Wed, 20 Nov 2002 21:05:51 -0500 |
Update of /cvsroot/dotgnu-pnet/pnet/image
In directory subversions:/tmp/cvs-serv31785/image
Modified Files:
lib_attrs.c
Log Message:
Recognise the "Serializable" and "NonSerialized" attributes as builtin
library attributes.
Index: lib_attrs.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/image/lib_attrs.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** lib_attrs.c 18 Sep 2002 05:06:22 -0000 1.3
--- lib_attrs.c 21 Nov 2002 02:05:49 -0000 1.4
***************
*** 27,30 ****
--- 27,72 ----
/*
+ * Process a "Serializable" attribute.
+ */
+ static int SerializableAttribute(ILProgramItem *item, ILSerializeReader
*reader)
+ {
+ ILClass *classInfo;
+
+ /* We must use this on a class */
+ classInfo = ILProgramItemToClass(item);
+ if(!classInfo)
+ {
+ return 0;
+ }
+
+ /* Mark the class as serialized */
+ ILClassSetAttrs(classInfo, IL_META_TYPEDEF_SERIALIZABLE,
+
IL_META_TYPEDEF_SERIALIZABLE);
+ return 1;
+ }
+
+ /*
+ * Process a "NonSerialized" attribute.
+ */
+ static int NonSerializedAttribute(ILProgramItem *item,
+
ILSerializeReader *reader)
+ {
+ ILField *fieldInfo;
+
+ /* We must use this on a field */
+ fieldInfo = ILProgramItemToField(item);
+ if(!fieldInfo)
+ {
+ return 0;
+ }
+
+ /* Mark the field as non-serialized */
+ ILMemberSetAttrs((ILMember *)fieldInfo,
+ IL_META_FIELDDEF_NOT_SERIALIZED,
+ IL_META_FIELDDEF_NOT_SERIALIZED);
+ return 1;
+ }
+
+ /*
* Match an attribute parameter name and type.
*/
***************
*** 691,694 ****
--- 733,741 ----
} AttrConvertInfo;
+ static AttrConvertInfo const systemAttrs[] = {
+ {"SerializableAttribute", SerializableAttribute},
+ {"NonSerializedAttribute", NonSerializedAttribute},
+ {0, 0}
+ };
static AttrConvertInfo const interopAttrs[] = {
{"DllImportAttribute", DllImportAttribute},
***************
*** 742,745 ****
--- 789,796 ----
{
info = compilerAttrs;
+ }
+ else if(!strcmp(namespace, "System"))
+ {
+ info = systemAttrs;
}
else
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/image lib_attrs.c,1.3,1.4,
Rhys Weatherley <address@hidden> <=