[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_attrs.c,1.22,1.23
From: |
Gopal.V <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_attrs.c,1.22,1.23 |
Date: |
Fri, 02 May 2003 07:21:37 -0400 |
Update of /cvsroot/dotgnu-pnet/pnet/cscc/csharp
In directory subversions:/tmp/cvs-serv20581/cscc/csharp
Modified Files:
cs_attrs.c
Log Message:
Modularize attribute serialization
Index: cs_attrs.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_attrs.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -r1.22 -r1.23
*** cs_attrs.c 3 Apr 2003 23:59:30 -0000 1.22
--- cs_attrs.c 2 May 2003 11:21:35 -0000 1.23
***************
*** 235,238 ****
--- 235,306 ----
}
+ /*
+ * write an entry into the serialized stream using the provide paramType and
+ * argValue and serialType
+ */
+
+ static void WriteSerializedEntry(ILSerializeWriter *writer,
+ ILType
*paramType,
+ ILEvalValue
*argValue,
+ int serialType)
+ {
+ switch(serialType)
+ {
+ case IL_META_SERIALTYPE_BOOLEAN:
+ case IL_META_SERIALTYPE_I1:
+ case IL_META_SERIALTYPE_U1:
+ case IL_META_SERIALTYPE_I2:
+ case IL_META_SERIALTYPE_U2:
+ case IL_META_SERIALTYPE_CHAR:
+ case IL_META_SERIALTYPE_I4:
+ case IL_META_SERIALTYPE_U4:
+ {
+ ILSerializeWriterSetInt32(writer, argValue->un.i4Value,
+
serialType);
+ }
+ break;
+
+ case IL_META_SERIALTYPE_I8:
+ case IL_META_SERIALTYPE_U8:
+ {
+ ILSerializeWriterSetInt64(writer, argValue->un.i8Value);
+ }
+ break;
+
+ case IL_META_SERIALTYPE_R4:
+ {
+ ILSerializeWriterSetFloat32(writer,
argValue->un.r4Value);
+ }
+ break;
+
+ case IL_META_SERIALTYPE_R8:
+ {
+ ILSerializeWriterSetFloat64(writer,
argValue->un.r8Value);
+ }
+ break;
+
+ case IL_META_SERIALTYPE_STRING:
+ {
+ ILSerializeWriterSetString(writer,
argValue->un.strValue.str,
+
argValue->un.strValue.len);
+ }
+ break;
+
+ case IL_META_SERIALTYPE_TYPE:
+ {
+ const char *name = CSTypeToName
+ ((ILType *)(argValue->un.strValue.str));
+ ILSerializeWriterSetString(writer, name, strlen(name));
+ }
+ break;
+
+ default:
+ {
+ /* TODO: arrays and implicit coercions to Object */
+ }
+ break;
+ }
+ }
+
/*
* Process a single attribute in a section.
***************
*** 682,743 ****
{
paramType = ILTypeGetParam(signature, argNum + 1);
- serialType = ILSerializeGetType(paramType);
argValue = &(evalValues[argNum]);
! switch(serialType)
! {
! case IL_META_SERIALTYPE_BOOLEAN:
! case IL_META_SERIALTYPE_I1:
! case IL_META_SERIALTYPE_U1:
! case IL_META_SERIALTYPE_I2:
! case IL_META_SERIALTYPE_U2:
! case IL_META_SERIALTYPE_CHAR:
! case IL_META_SERIALTYPE_I4:
! case IL_META_SERIALTYPE_U4:
! {
! ILSerializeWriterSetInt32(writer,
argValue->un.i4Value,
!
serialType);
! }
! break;
!
! case IL_META_SERIALTYPE_I8:
! case IL_META_SERIALTYPE_U8:
! {
! ILSerializeWriterSetInt64(writer,
argValue->un.i8Value);
! }
! break;
!
! case IL_META_SERIALTYPE_R4:
! {
! ILSerializeWriterSetFloat32(writer,
argValue->un.r4Value);
! }
! break;
!
! case IL_META_SERIALTYPE_R8:
! {
! ILSerializeWriterSetFloat64(writer,
argValue->un.r8Value);
! }
! break;
!
! case IL_META_SERIALTYPE_STRING:
! {
! ILSerializeWriterSetString(writer,
argValue->un.strValue.str,
!
argValue->un.strValue.len);
! }
! break;
!
! case IL_META_SERIALTYPE_TYPE:
! {
! const char *name = CSTypeToName
! ((ILType *)(argValue->un.strValue.str));
! ILSerializeWriterSetString(writer, name,
strlen(name));
! }
! break;
!
! default:
! {
! /* TODO: arrays and implicit coercions to
Object */
! }
! break;
! }
}
ILSerializeWriterSetNumExtra(writer, numNamedArgs);
--- 750,756 ----
{
paramType = ILTypeGetParam(signature, argNum + 1);
argValue = &(evalValues[argNum]);
! serialType = ILSerializeGetType(paramType);
! WriteSerializedEntry(writer,paramType,argValue,serialType);
}
ILSerializeWriterSetNumExtra(writer, numNamedArgs);
***************
*** 766,825 ****
serialType);
}
! switch(serialType)
! {
! case IL_META_SERIALTYPE_BOOLEAN:
! case IL_META_SERIALTYPE_I1:
! case IL_META_SERIALTYPE_U1:
! case IL_META_SERIALTYPE_I2:
! case IL_META_SERIALTYPE_U2:
! case IL_META_SERIALTYPE_CHAR:
! case IL_META_SERIALTYPE_I4:
! case IL_META_SERIALTYPE_U4:
! {
! ILSerializeWriterSetInt32(writer,
argValue->un.i4Value,
!
serialType);
! }
! break;
!
! case IL_META_SERIALTYPE_I8:
! case IL_META_SERIALTYPE_U8:
! {
! ILSerializeWriterSetInt64(writer,
argValue->un.i8Value);
! }
! break;
!
! case IL_META_SERIALTYPE_R4:
! {
! ILSerializeWriterSetFloat32(writer,
argValue->un.r4Value);
! }
! break;
!
! case IL_META_SERIALTYPE_R8:
! {
! ILSerializeWriterSetFloat64(writer,
argValue->un.r8Value);
! }
! break;
!
! case IL_META_SERIALTYPE_STRING:
! {
! ILSerializeWriterSetString(writer,
argValue->un.strValue.str,
!
argValue->un.strValue.len);
! }
! break;
!
! case IL_META_SERIALTYPE_TYPE:
! {
! const char *name = CSTypeToName
! ((ILType *)(argValue->un.strValue.str));
! ILSerializeWriterSetString(writer, name,
strlen(name));
! }
! break;
!
! default:
! {
! /* TODO: arrays and implicit coercions to
Object */
! }
! break;
! }
}
blob = ILSerializeWriterGetBlob(writer, &blobLen);
--- 779,783 ----
serialType);
}
! WriteSerializedEntry(writer,paramType,argValue,serialType);
}
blob = ILSerializeWriterGetBlob(writer, &blobLen);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_attrs.c,1.22,1.23,
Gopal.V <address@hidden> <=