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

[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);





reply via email to

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