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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System AppDomainUnloadedExce


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnetlib/runtime/System AppDomainUnloadedException.cs,1.6,1.7 ApplicationException.cs,1.7,1.8 ArgumentException.cs,1.6,1.7 ArgumentNullException.cs,1.5,1.6ArgumentOutOfRangeException.cs,1.6,1.7 ArithmeticException.cs,1.5,1.6ArrayTypeMismatchException.cs,1.5,1.6 BadImageFormatException.cs,1.6,1.7 CannotUnloadAppDomainException.cs,1.5,1.6 DBNull.cs,1.5,1.6 Delegate.cs,1.7,1.8 DivideByZeroException.cs,1.5,1.6 DuplicateWaitObjectException.cs,1.5,1.6 EntryPointNotFoundException.cs,1.5,1.6 ExecutionEngineException.cs,1.5,1.6 FieldAccessException.cs,1.5,1.6 FormatException.cs,1.5,1.6 IndexOutOfRangeException.cs,1.5,1.6 IntPtr.cs,1.7,1.8 InvalidCastException.cs,1.5,1.6 InvalidOperationException.cs,1.5,1.6 InvalidProgramException.cs,1.5,1.6 MemberAccessException.cs,1.5,1.6 MethodAccessException.cs,1.5,1.6 MissingFieldException.cs,1.5,1.6 MissingMemberException.cs,1.5,1.6 MissingMethodException.cs,1.5,1.6 MulticastNotSupportedException.cs,1.4,1.5 NotFiniteNumberException.cs,1.5,1.6 NotImplementedException.cs,1.3,1.4 NotSupportedException.cs,1.5,1.6 NullReferenceException.cs,1.5,1.6 ObjectDisposedException.cs,1.5,1.6 OutOfMemoryException.cs,1.6,1.7 OverflowException.cs,1.5,1.6 RankException.cs,1.5,1.6 RuntimeFieldHandle.cs,1.4,1.5 RuntimeMethodHandle.cs,1.6,1.7 RuntimeTypeHandle.cs,1.4,1.5 StackOverflowException.cs,1.5,1.6 SystemException.cs,1.9,1.10 TypeInitializationException.cs,1.5,1.6 TypeLoadException.cs,1.6,1.7 TypeUnloadedException.cs,1.5,1.6 UIntPtr.cs,1.8,1.9 UnauthorizedAccessException.cs,1.5,1.6 WeakReference.cs,1.2,1.3
Date: Mon, 07 Apr 2003 00:22:55 -0400

Update of /cvsroot/dotgnu-pnet/pnetlib/runtime/System
In directory subversions:/tmp/cvs-serv26075/runtime/System

Modified Files:
        AppDomainUnloadedException.cs ApplicationException.cs 
        ArgumentException.cs ArgumentNullException.cs 
        ArgumentOutOfRangeException.cs ArithmeticException.cs 
        ArrayTypeMismatchException.cs BadImageFormatException.cs 
        CannotUnloadAppDomainException.cs DBNull.cs Delegate.cs 
        DivideByZeroException.cs DuplicateWaitObjectException.cs 
        EntryPointNotFoundException.cs ExecutionEngineException.cs 
        FieldAccessException.cs FormatException.cs 
        IndexOutOfRangeException.cs IntPtr.cs InvalidCastException.cs 
        InvalidOperationException.cs InvalidProgramException.cs 
        MemberAccessException.cs MethodAccessException.cs 
        MissingFieldException.cs MissingMemberException.cs 
        MissingMethodException.cs MulticastNotSupportedException.cs 
        NotFiniteNumberException.cs NotImplementedException.cs 
        NotSupportedException.cs NullReferenceException.cs 
        ObjectDisposedException.cs OutOfMemoryException.cs 
        OverflowException.cs RankException.cs RuntimeFieldHandle.cs 
        RuntimeMethodHandle.cs RuntimeTypeHandle.cs 
        StackOverflowException.cs SystemException.cs 
        TypeInitializationException.cs TypeLoadException.cs 
        TypeUnloadedException.cs UIntPtr.cs 
        UnauthorizedAccessException.cs WeakReference.cs 
Log Message:


Add serialization support to all of the exception classes in "runtime".


Index: AppDomainUnloadedException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/AppDomainUnloadedException.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** AppDomainUnloadedException.cs       5 Apr 2003 06:58:12 -0000       1.6
--- AppDomainUnloadedException.cs       7 Apr 2003 04:22:51 -0000       1.7
***************
*** 3,7 ****
   *                    "System.AppDomainUnloadedException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.AppDomainUnloadedException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 25,28 ****
--- 25,30 ----
  #if !ECMA_COMPAT
  
+ using System.Runtime.Serialization;
+ 
  public class AppDomainUnloadedException : SystemException
  {
***************
*** 35,38 ****
--- 37,43 ----
        public AppDomainUnloadedException(String msg, Exception inner)
                : base(msg, inner) {}
+       protected AppDomainUnloadedException(SerializationInfo info,
+                                                                               
 StreamingContext context)
+               : base(info, context) {}
  
        // Get the default message to use for this exception type.

Index: ApplicationException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/ApplicationException.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** ApplicationException.cs     5 Apr 2003 06:58:12 -0000       1.7
--- ApplicationException.cs     7 Apr 2003 04:22:51 -0000       1.8
***************
*** 3,7 ****
   *                    "System.ApplicationException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.ApplicationException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify

Index: ArgumentException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/ArgumentException.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** ArgumentException.cs        5 Apr 2003 06:58:12 -0000       1.6
--- ArgumentException.cs        7 Apr 2003 04:22:51 -0000       1.7
***************
*** 3,7 ****
   *            "System.ArgumentException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.ArgumentException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,27 ****
--- 23,32 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class ArgumentException : SystemException
+ #if !ECMA_COMPAT
+       , ISerializable
+ #endif
  {
  
***************
*** 31,43 ****
        // Constructors.
        public ArgumentException()
!               : base(_("Exception_Argument")) {}
        public ArgumentException(String msg)
!               : base(msg) {}
        public ArgumentException(String msg, Exception inner)
!               : base(msg, inner) {}
        public ArgumentException(String msg, String param, Exception inner)
!               : base(msg, inner) { paramName = param; }
        public ArgumentException(String msg, String param)
!               : base(msg) { paramName = param; }
  
        // Properties.
--- 36,56 ----
        // Constructors.
        public ArgumentException()
!                       : base(_("Exception_Argument")) {}
        public ArgumentException(String msg)
!                       : base(msg) {}
        public ArgumentException(String msg, Exception inner)
!                       : base(msg, inner) {}
        public ArgumentException(String msg, String param, Exception inner)
!                       : base(msg, inner) { paramName = param; }
        public ArgumentException(String msg, String param)
!                       : base(msg) { paramName = param; }
! #if !ECMA_COMPAT
!       protected ArgumentException(SerializationInfo info,
!                                                               
StreamingContext context)
!                       : base(info, context)
!                       {
!                               paramName = info.GetString("ParamName");
!                       }
! #endif
  
        // Properties.
***************
*** 84,87 ****
--- 97,110 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+       // Get the serialization data for this object.
+       public override void GetObjectData(SerializationInfo info,
+                                                                          
StreamingContext context)
+                       {
+                               base.GetObjectData(info, context);
+                               info.AddValue("ParamName", paramName, 
typeof(String));
+                       }
+ #endif
  
  }; // class ArgumentException

Index: ArgumentNullException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/ArgumentNullException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** ArgumentNullException.cs    5 Apr 2003 06:58:12 -0000       1.5
--- ArgumentNullException.cs    7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.ArgumentNullException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.ArgumentNullException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class ArgumentNullException : ArgumentException
  {
***************
*** 35,38 ****
--- 37,45 ----
        public ArgumentNullException(String paramName, String msg)
                : base(msg, paramName) {}
+ #if !ECMA_COMPAT
+       protected ArgumentNullException(SerializationInfo info,
+                                                                       
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: ArgumentOutOfRangeException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/ArgumentOutOfRangeException.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** ArgumentOutOfRangeException.cs      5 Apr 2003 06:58:12 -0000       1.6
--- ArgumentOutOfRangeException.cs      7 Apr 2003 04:22:51 -0000       1.7
***************
*** 3,7 ****
   *            "System.ArgumentOutOfRangeException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.ArgumentOutOfRangeException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,27 ****
--- 23,32 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class ArgumentOutOfRangeException : ArgumentException
+ #if !ECMA_COMPAT
+       , ISerializable
+ #endif
  {
        // Standard error message for out of range exceptions.
***************
*** 33,44 ****
        // Constructors.
        public ArgumentOutOfRangeException()
!               : base(preloadedMessage) {}
        public ArgumentOutOfRangeException(String paramName)
!               : base(preloadedMessage, paramName) {}
        public ArgumentOutOfRangeException(String paramName, String msg)
!               : base(msg, paramName) {}
        public ArgumentOutOfRangeException(String paramName,
                                                                           
Object _actualValue, String msg)
!               : base(msg, paramName) { actualValue = _actualValue; }
  
        // Properties.
--- 38,57 ----
        // Constructors.
        public ArgumentOutOfRangeException()
!                       : base(preloadedMessage) {}
        public ArgumentOutOfRangeException(String paramName)
!                       : base(preloadedMessage, paramName) {}
        public ArgumentOutOfRangeException(String paramName, String msg)
!                       : base(msg, paramName) {}
        public ArgumentOutOfRangeException(String paramName,
                                                                           
Object _actualValue, String msg)
!                       : base(msg, paramName) { actualValue = _actualValue; }
! #if !ECMA_COMPAT
!       protected ArgumentOutOfRangeException(SerializationInfo info,
!                                                                               
  StreamingContext context)
!                       : base(info, context)
!                       {
!                               actualValue = info.GetValue("ActualValue", 
typeof(Object));
!                       }
! #endif
  
        // Properties.
***************
*** 86,89 ****
--- 99,112 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+       // Get the serialization data for this object.
+       public override void GetObjectData(SerializationInfo info,
+                                                                          
StreamingContext context)
+                       {
+                               base.GetObjectData(info, context);
+                               info.AddValue("ActualValue", actualValue, 
typeof(Object));
+                       }
+ #endif
  
  }; // class ArgumentOutOfRangeException

Index: ArithmeticException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/ArithmeticException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** ArithmeticException.cs      5 Apr 2003 06:58:12 -0000       1.5
--- ArithmeticException.cs      7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.ArithmeticException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.ArithmeticException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class ArithmeticException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public ArithmeticException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected ArithmeticException(SerializationInfo info,
+                                                                 
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: ArrayTypeMismatchException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/ArrayTypeMismatchException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** ArrayTypeMismatchException.cs       5 Apr 2003 06:58:12 -0000       1.5
--- ArrayTypeMismatchException.cs       7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.ArrayTypeMismatchException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.ArrayTypeMismatchException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class ArrayTypeMismatchException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public ArrayTypeMismatchException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected ArrayTypeMismatchException(SerializationInfo info,
+                                                                               
 StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: BadImageFormatException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/BadImageFormatException.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** BadImageFormatException.cs  5 Apr 2003 06:58:12 -0000       1.6
--- BadImageFormatException.cs  7 Apr 2003 04:22:51 -0000       1.7
***************
*** 3,7 ****
   *            "System.BadImageFormatException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.BadImageFormatException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class BadImageFormatException : SystemException
  {
***************
*** 28,31 ****
--- 30,36 ----
        // Internal state.
        private String fileName;
+ #if !ECMA_COMPAT
+       private String fusionLog;
+ #endif
  
        // Constructors.
***************
*** 40,43 ****
--- 45,57 ----
        public BadImageFormatException(String msg, String fileName)
                : base(msg) { this.fileName = fileName; }
+ #if !ECMA_COMPAT
+       protected BadImageFormatException(SerializationInfo info,
+                                                                         
StreamingContext context)
+               : base(info, context)
+               {
+                       fileName = info.GetString("BadImageFormat_FileName");
+                       fusionLog = info.GetString("BadImageFormat_FusionLog");
+               }
+ #endif
  
        // Get the message for this exception.  Because of "MessageDefault",
***************
*** 68,71 ****
--- 82,94 ----
                                }
                        }
+ #if !ECMA_COMPAT
+       public String FusionLog
+                       {
+                               get
+                               {
+                                       return fusionLog;
+                               }
+                       }
+ #endif
  
        // Get the extra data to insert into "Exception::ToString()"'s result.
***************
*** 94,106 ****
                                }
                        }
- #if !ECMA_COMPAT
-       public String FusionLog
-                       {
-                               get
-                               {
-                                       throw new 
NotImplementedException("FusionLog");
-                               }
-                       }
- #endif
  
        // Get the default HResult value for this type of exception.
--- 117,120 ----
***************
*** 112,115 ****
--- 126,140 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+       // Get the serialization data for this object.
+       public override void GetObjectData(SerializationInfo info,
+                                                                          
StreamingContext context)
+                       {
+                               base.GetObjectData(info, context);
+                               info.AddValue("BadImageFormat_FileName", 
fileName);
+                               info.AddValue("BadImageFormat_FusionLog", 
fusionLog);
+                       }
+ #endif
  
  }; // class BadImageFormatException

Index: CannotUnloadAppDomainException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/CannotUnloadAppDomainException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** CannotUnloadAppDomainException.cs   5 Apr 2003 06:58:12 -0000       1.5
--- CannotUnloadAppDomainException.cs   7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.CannotUnloadAppDomainException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.CannotUnloadAppDomainException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class CannotUnloadAppDomainException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public CannotUnloadAppDomainException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected CannotUnloadAppDomainException(SerializationInfo info,
+                                                                               
     StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: DBNull.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/DBNull.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** DBNull.cs   20 Apr 2002 00:50:56 -0000      1.5
--- DBNull.cs   7 Apr 2003 04:22:51 -0000       1.6
***************
*** 26,30 ****
  using System.Runtime.Serialization;
  
! public sealed class DBNull : IConvertible
  {
  
--- 26,30 ----
  using System.Runtime.Serialization;
  
! public sealed class DBNull : IConvertible, ISerializable
  {
  
***************
*** 103,106 ****
--- 103,113 ----
                        {
                                return String.Empty;
+                       }
+ 
+       // Get the serialization data for this object.
+       [TODO]
+       public void GetObjectData(SerializationInfo info, StreamingContext 
context)
+                       {
+                               // TODO
                        }
  

Index: Delegate.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/Delegate.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** Delegate.cs 29 Dec 2002 15:02:45 -0000      1.7
--- Delegate.cs 7 Apr 2003 04:22:51 -0000       1.8
***************
*** 2,6 ****
   * Delegate.cs - Implementation of the "System.Delegate" class.
   *
!  * Copyright (C) 2001, 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 2,6 ----
   * Delegate.cs - Implementation of the "System.Delegate" class.
   *
!  * Copyright (C) 2001, 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 24,29 ****
--- 24,33 ----
  using System.Reflection;
  using System.Runtime.CompilerServices;
+ using System.Runtime.Serialization;
  
  public abstract class Delegate : ICloneable
+ #if !ECMA_COMPAT
+       , ISerializable
+ #endif
  {
        // Internal state.  These three fields must be present here
***************
*** 445,448 ****
--- 449,461 ----
                                return Method;
                        }
+ 
+ #if !ECMA_COMPAT
+       // Get the serialization data for this object.
+       public virtual void GetObjectData(SerializationInfo info,
+                                                                         
StreamingContext context)
+                       {
+                               // TODO
+                       }
+ #endif
  
  }; // class Delegate

Index: DivideByZeroException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/DivideByZeroException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** DivideByZeroException.cs    5 Apr 2003 06:58:12 -0000       1.5
--- DivideByZeroException.cs    7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.DivideByZeroException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.DivideByZeroException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class DivideByZeroException : ArithmeticException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public DivideByZeroException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected DivideByZeroException(SerializationInfo info,
+                                                                       
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: DuplicateWaitObjectException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/DuplicateWaitObjectException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** DuplicateWaitObjectException.cs     5 Apr 2003 06:58:12 -0000       1.5
--- DuplicateWaitObjectException.cs     7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.DuplicateWaitObjectException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.DuplicateWaitObjectException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class DuplicateWaitObjectException : ArgumentException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public DuplicateWaitObjectException(String paramName, String msg)
                : base(msg, paramName) {}
+ #if !ECMA_COMPAT
+       protected DuplicateWaitObjectException(SerializationInfo info,
+                                                                               
   StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: EntryPointNotFoundException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/EntryPointNotFoundException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** EntryPointNotFoundException.cs      5 Apr 2003 06:58:12 -0000       1.5
--- EntryPointNotFoundException.cs      7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.EntryPointNotFoundException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.EntryPointNotFoundException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class EntryPointNotFoundException : TypeLoadException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public EntryPointNotFoundException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected EntryPointNotFoundException(SerializationInfo info,
+                                                                               
  StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: ExecutionEngineException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/ExecutionEngineException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** ExecutionEngineException.cs 5 Apr 2003 06:58:12 -0000       1.5
--- ExecutionEngineException.cs 7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.ExecutionEngineException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.ExecutionEngineException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public sealed class ExecutionEngineException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public ExecutionEngineException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       internal ExecutionEngineException(SerializationInfo info,
+                                                                         
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: FieldAccessException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/FieldAccessException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** FieldAccessException.cs     5 Apr 2003 06:58:12 -0000       1.5
--- FieldAccessException.cs     7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.FieldAccessException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.FieldAccessException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class FieldAccessException : MemberAccessException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public FieldAccessException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected FieldAccessException(SerializationInfo info,
+                                                                  
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: FormatException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/FormatException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** FormatException.cs  5 Apr 2003 06:58:12 -0000       1.5
--- FormatException.cs  7 Apr 2003 04:22:51 -0000       1.6
***************
*** 2,6 ****
   * FormatException.cs - Implementation of the "System.FormatException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 2,6 ----
   * FormatException.cs - Implementation of the "System.FormatException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 22,25 ****
--- 22,27 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class FormatException : SystemException
  {
***************
*** 32,35 ****
--- 34,41 ----
        public FormatException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected FormatException(SerializationInfo info, StreamingContext 
context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: IndexOutOfRangeException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/IndexOutOfRangeException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** IndexOutOfRangeException.cs 5 Apr 2003 06:58:12 -0000       1.5
--- IndexOutOfRangeException.cs 7 Apr 2003 04:22:51 -0000       1.6
***************
*** 2,6 ****
   * IndexOutOfRangeException.cs - Implementation of the 
"System.IndexOutOfRangeException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 2,6 ----
   * IndexOutOfRangeException.cs - Implementation of the 
"System.IndexOutOfRangeException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 22,25 ****
--- 22,27 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public sealed class IndexOutOfRangeException : SystemException
  {
***************
*** 32,35 ****
--- 34,42 ----
        public IndexOutOfRangeException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       internal IndexOutOfRangeException(SerializationInfo info,
+                                                                         
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: IntPtr.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/IntPtr.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** IntPtr.cs   26 Nov 2002 04:00:35 -0000      1.7
--- IntPtr.cs   7 Apr 2003 04:22:51 -0000       1.8
***************
*** 2,6 ****
   * IntPtr.cs - Implementation of the "System.IntPtr" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 2,6 ----
   * IntPtr.cs - Implementation of the "System.IntPtr" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 24,29 ****
--- 24,33 ----
  using System.Globalization;
  using System.Runtime.CompilerServices;
+ using System.Runtime.Serialization;
  
  public struct IntPtr
+ #if !ECMA_COMPAT
+       : ISerializable
+ #endif
  {
        // Public constants.
***************
*** 161,164 ****
--- 165,198 ----
                        {
                                return x.ToPointer();
+                       }
+ 
+       // De-serialize an "IntPtr" value.
+       internal unsafe IntPtr(SerializationInfo info, StreamingContext context)
+                       {
+                               if(info == null)
+                               {
+                                       throw new ArgumentNullException("info");
+                               }
+                               long value = info.GetInt64("value");
+                               if(Size == 4)
+                               {
+                                       if(value < (long)(Int32.MinValue) ||
+                                          value > (long)(Int32.MaxValue))
+                                       {
+                                               throw new 
ArgumentException(_("Overflow_Pointer"));
+                                       }
+                               }
+                               value_ = (void *)value;
+                       }
+ 
+       // Get the serialization data for an "IntPtr" value.
+       unsafe void ISerializable.GetObjectData(SerializationInfo info,
+                                                                               
        StreamingContext context)
+                       {
+                               if(info == null)
+                               {
+                                       throw new ArgumentNullException("info");
+                               }
+                               info.AddValue("value", ToInt64());
                        }
  

Index: InvalidCastException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/InvalidCastException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** InvalidCastException.cs     5 Apr 2003 06:58:12 -0000       1.5
--- InvalidCastException.cs     7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.InvalidCastException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.InvalidCastException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class InvalidCastException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public InvalidCastException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected InvalidCastException(SerializationInfo info,
+                                                                  
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: InvalidOperationException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/InvalidOperationException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** InvalidOperationException.cs        5 Apr 2003 06:58:12 -0000       1.5
--- InvalidOperationException.cs        7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.InvalidOperationException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.InvalidOperationException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class InvalidOperationException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public InvalidOperationException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected InvalidOperationException(SerializationInfo info,
+                                                                               
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: InvalidProgramException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/InvalidProgramException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** InvalidProgramException.cs  5 Apr 2003 06:58:12 -0000       1.5
--- InvalidProgramException.cs  7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.InvalidProgramException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.InvalidProgramException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public sealed class InvalidProgramException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public InvalidProgramException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       internal InvalidProgramException(SerializationInfo info,
+                                                                        
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: MemberAccessException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/MemberAccessException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** MemberAccessException.cs    5 Apr 2003 06:58:12 -0000       1.5
--- MemberAccessException.cs    7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.MemberAccessException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.MemberAccessException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class MemberAccessException : SystemException
  {
***************
*** 28,36 ****
        // Constructors.
        public MemberAccessException()
!               : base(_("Exception_MemberAccess")) {}
        public MemberAccessException(String msg)
!               : base(msg) {}
        public MemberAccessException(String msg, Exception inner)
!               : base(msg, inner) {}
  
        // Get the default message to use for this exception type.
--- 30,43 ----
        // Constructors.
        public MemberAccessException()
!                       : base(_("Exception_MemberAccess")) {}
        public MemberAccessException(String msg)
!                       : base(msg) {}
        public MemberAccessException(String msg, Exception inner)
!                       : base(msg, inner) {}
! #if !ECMA_COMPAT
!       protected MemberAccessException(SerializationInfo info,
!                                                                       
StreamingContext context)
!                       : base(info, context) {}
! #endif
  
        // Get the default message to use for this exception type.

Index: MethodAccessException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/MethodAccessException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** MethodAccessException.cs    5 Apr 2003 06:58:12 -0000       1.5
--- MethodAccessException.cs    7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.MethodAccessException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.MethodAccessException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class MethodAccessException : MemberAccessException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public MethodAccessException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected MethodAccessException(SerializationInfo info,
+                                                                       
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: MissingFieldException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/MissingFieldException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** MissingFieldException.cs    5 Apr 2003 06:58:12 -0000       1.5
--- MissingFieldException.cs    7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.MissingFieldException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.MissingFieldException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,36 ****
  {
  
  public class MissingFieldException : MissingMemberException
  {
  
        // Constructors.
        public MissingFieldException()
!               : base(_("Exception_FieldMissing")) {}
        public MissingFieldException(String msg)
!               : base(msg) {}
        public MissingFieldException(String msg, Exception inner)
!               : base(msg, inner) {}
  
        // Get the default message to use for this exception type.
--- 23,48 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class MissingFieldException : MissingMemberException
+ #if !ECMA_COMPAT
+       , ISerializable
+ #endif
  {
  
        // Constructors.
        public MissingFieldException()
!                       : base(_("Exception_FieldMissing")) {}
        public MissingFieldException(String msg)
!                       : base(msg) {}
        public MissingFieldException(String msg, Exception inner)
!                       : base(msg, inner) {}
! #if !ECMA_COMPAT
!       public MissingFieldException(String className, String fieldName)
!                       : base(className, fieldName) {}
!       protected MissingFieldException(SerializationInfo info,
!                                                                       
StreamingContext context)
!                       : base(info, context) {}
! #endif
  
        // Get the default message to use for this exception type.

Index: MissingMemberException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/MissingMemberException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** MissingMemberException.cs   5 Apr 2003 06:58:12 -0000       1.5
--- MissingMemberException.cs   7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.MissingMemberException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.MissingMemberException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,36 ****
  {
  
  public class MissingMemberException : MemberAccessException
  {
  
        // Constructors.
        public MissingMemberException()
!               : base(_("Exception_MemberMissing")) {}
        public MissingMemberException(String msg)
!               : base(msg) {}
        public MissingMemberException(String msg, Exception inner)
!               : base(msg, inner) {}
  
        // Get the default message to use for this exception type.
--- 23,62 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class MissingMemberException : MemberAccessException
+ #if !ECMA_COMPAT
+       , ISerializable
+ #endif
  {
+       // Internal state.
+       protected String ClassName;
+       protected String MemberName;
+       protected byte[] Signature;
  
        // Constructors.
        public MissingMemberException()
!                       : base(_("Exception_MemberMissing")) {}
        public MissingMemberException(String msg)
!                       : base(msg) {}
        public MissingMemberException(String msg, Exception inner)
!                       : base(msg, inner) {}
! #if !ECMA_COMPAT
!       public MissingMemberException(String className, String memberName)
!                       : this()
!                       {
!                               ClassName = className;
!                               MemberName = memberName;
!                       }
!       protected MissingMemberException(SerializationInfo info,
!                                                                        
StreamingContext context)
!                       : base(info, context)
!                       {
!                               ClassName = info.GetString("MMClassName");
!                               MemberName = info.GetString("MMMemberName");
!                               Signature = (byte[])(info.GetValue
!                                       ("MMSignature", typeof(byte[])));
!                       }
! #endif
  
        // Get the default message to use for this exception type.
***************
*** 51,54 ****
--- 77,92 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+       // Get the serialization data for this object.
+       public override void GetObjectData(SerializationInfo info,
+                                                                          
StreamingContext context)
+                       {
+                               base.GetObjectData(info, context);
+                               info.AddValue("MMClassName", ClassName);
+                               info.AddValue("MMMemberName", MemberName);
+                               info.AddValue("MMSignature", Signature, 
typeof(byte[]));
+                       }
+ #endif
  
  }; // class MissingMemberException

Index: MissingMethodException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/MissingMethodException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** MissingMethodException.cs   5 Apr 2003 06:58:12 -0000       1.5
--- MissingMethodException.cs   7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.MissingMethodException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.MissingMethodException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,27 ****
--- 23,32 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class MissingMethodException : MissingMemberException
+ #if !ECMA_COMPAT
+       , ISerializable
+ #endif
  {
  
***************
*** 33,36 ****
--- 38,48 ----
        public MissingMethodException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       public MissingMethodException(String className, String methodName)
+                       : base(className, methodName) {}
+       protected MissingMethodException(SerializationInfo info,
+                                                                        
StreamingContext context)
+                       : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: MulticastNotSupportedException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/MulticastNotSupportedException.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** MulticastNotSupportedException.cs   5 Apr 2003 06:58:12 -0000       1.4
--- MulticastNotSupportedException.cs   7 Apr 2003 04:22:51 -0000       1.5
***************
*** 3,7 ****
   *                    "System.MulticastNotSupportedException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.MulticastNotSupportedException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public sealed class MulticastNotSupportedException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public MulticastNotSupportedException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       internal MulticastNotSupportedException(SerializationInfo info,
+                                                                               
    StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: NotFiniteNumberException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/NotFiniteNumberException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** NotFiniteNumberException.cs 5 Apr 2003 06:58:12 -0000       1.5
--- NotFiniteNumberException.cs 7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.NotFiniteNumberException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.NotFiniteNumberException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class NotFiniteNumberException : ArithmeticException
  {
***************
*** 42,45 ****
--- 44,55 ----
                                                                        
Exception inner)
                : base(msg, inner) { number = offendingNumber; }
+ #if !ECMA_COMPAT
+       protected NotFiniteNumberException(SerializationInfo info,
+                                                                          
StreamingContext context)
+               : base(info, context)
+               {
+                       number = info.GetDouble("OffendingNumber");
+               }
+ #endif
  
        // Get the offending number that caused this exception.
***************
*** 69,72 ****
--- 79,92 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+       // Get the serialization data for this object.
+       public override void GetObjectData(SerializationInfo info,
+                                                                          
StreamingContext context)
+                       {
+                               base.GetObjectData(info, context);
+                               info.AddValue("OffendingNumber", number);
+                       }
+ #endif
  
  }; // class NotFiniteNumberException

Index: NotImplementedException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/NotImplementedException.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** NotImplementedException.cs  5 Apr 2003 06:58:12 -0000       1.3
--- NotImplementedException.cs  7 Apr 2003 04:22:51 -0000       1.4
***************
*** 3,7 ****
   *                    "System.NotImplementedException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.NotImplementedException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 27,30 ****
--- 27,32 ----
  // the ECMA specification rely upon its presence.
  
+ using System.Runtime.Serialization;
+ 
  public class NotImplementedException : SystemException
  {
***************
*** 37,40 ****
--- 39,47 ----
        public NotImplementedException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected NotImplementedException(SerializationInfo info,
+                                                                         
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: NotSupportedException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/NotSupportedException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** NotSupportedException.cs    5 Apr 2003 06:58:12 -0000       1.5
--- NotSupportedException.cs    7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.NotSupportedException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.NotSupportedException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class NotSupportedException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public NotSupportedException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected NotSupportedException(SerializationInfo info,
+                                                                       
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: NullReferenceException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/NullReferenceException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** NullReferenceException.cs   5 Apr 2003 06:58:12 -0000       1.5
--- NullReferenceException.cs   7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.NullReferenceException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.NullReferenceException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class NullReferenceException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public NullReferenceException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected NullReferenceException(SerializationInfo info,
+                                                                        
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: ObjectDisposedException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/ObjectDisposedException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** ObjectDisposedException.cs  5 Apr 2003 06:58:12 -0000       1.5
--- ObjectDisposedException.cs  7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.ObjectDisposedException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.ObjectDisposedException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class ObjectDisposedException : InvalidOperationException
  {
***************
*** 34,37 ****
--- 36,47 ----
        public ObjectDisposedException(String objectName, String msg)
                : base(msg) { this.objectName = objectName; }
+ #if !ECMA_COMPAT
+       protected ObjectDisposedException(SerializationInfo info,
+                                                                         
StreamingContext context)
+               : base(info, context)
+               {
+                       objectName = info.GetString("ObjectName");
+               }
+ #endif
  
        // Properties.
***************
*** 75,78 ****
--- 85,98 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+       // Get the serialization data for this object.
+       public override void GetObjectData(SerializationInfo info,
+                                                                          
StreamingContext context)
+                       {
+                               base.GetObjectData(info, context);
+                               info.AddValue("ObjectName", objectName);
+                       }
+ #endif
  
  }; // class ObjectDisposedException

Index: OutOfMemoryException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/OutOfMemoryException.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** OutOfMemoryException.cs     5 Apr 2003 06:58:12 -0000       1.6
--- OutOfMemoryException.cs     7 Apr 2003 04:22:51 -0000       1.7
***************
*** 3,7 ****
   *            "System.OutOfMemoryException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.OutOfMemoryException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class OutOfMemoryException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public OutOfMemoryException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected OutOfMemoryException(SerializationInfo info,
+                                                                  
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Internal constructor used by the runtime engine

Index: OverflowException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/OverflowException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** OverflowException.cs        5 Apr 2003 06:58:12 -0000       1.5
--- OverflowException.cs        7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.OverflowException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.OverflowException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class OverflowException : ArithmeticException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public OverflowException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected OverflowException(SerializationInfo info,
+                                                               
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: RankException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/RankException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** RankException.cs    5 Apr 2003 06:58:12 -0000       1.5
--- RankException.cs    7 Apr 2003 04:22:51 -0000       1.6
***************
*** 2,6 ****
   * RankException.cs - Implementation of the "System.RankException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 2,6 ----
   * RankException.cs - Implementation of the "System.RankException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 22,25 ****
--- 22,27 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class RankException : SystemException
  {
***************
*** 32,35 ****
--- 34,41 ----
        public RankException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected RankException(SerializationInfo info, StreamingContext 
context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: RuntimeFieldHandle.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/RuntimeFieldHandle.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** RuntimeFieldHandle.cs       26 Nov 2002 04:00:36 -0000      1.4
--- RuntimeFieldHandle.cs       7 Apr 2003 04:22:51 -0000       1.5
***************
*** 3,7 ****
   *                    "System.RuntimeFieldHandle" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.RuntimeFieldHandle" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,27 ****
--- 23,32 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public struct RuntimeFieldHandle
+ #if !ECMA_COMPAT
+       : ISerializable
+ #endif
  {
        // Internal state.
***************
*** 42,45 ****
--- 47,71 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+ 
+       // De-serialize this object.
+       [TODO]
+       internal RuntimeFieldHandle(SerializationInfo info,
+                                                               
StreamingContext context)
+                       {
+                               // TODO
+                               value_ = IntPtr.Zero;
+                       }
+ 
+       // Get the serialization data for this object.
+       [TODO]
+       public void GetObjectData(SerializationInfo info,
+                                                         StreamingContext 
context)
+                       {
+                               // TODO
+                       }
+ 
+ #endif // !ECMA_COMPAT
  
  }; // class RuntimeFieldHandle

Index: RuntimeMethodHandle.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/RuntimeMethodHandle.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** RuntimeMethodHandle.cs      26 Nov 2002 04:00:36 -0000      1.6
--- RuntimeMethodHandle.cs      7 Apr 2003 04:22:51 -0000       1.7
***************
*** 3,7 ****
   *                    "System.RuntimeMethodHandle" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.RuntimeMethodHandle" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 24,29 ****
--- 24,33 ----
  
  using System.Runtime.CompilerServices;
+ using System.Runtime.Serialization;
  
  public struct RuntimeMethodHandle
+ #if !ECMA_COMPAT
+       : ISerializable
+ #endif
  {
        // Internal state.
***************
*** 50,53 ****
--- 54,78 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+ 
+       // De-serialize this object.
+       [TODO]
+       internal RuntimeMethodHandle(SerializationInfo info,
+                                                                
StreamingContext context)
+                       {
+                               // TODO
+                               value_ = IntPtr.Zero;
+                       }
+ 
+       // Get the serialization data for this object.
+       [TODO]
+       public void GetObjectData(SerializationInfo info,
+                                                         StreamingContext 
context)
+                       {
+                               // TODO
+                       }
+ 
+ #endif // !ECMA_COMPAT
  
  }; // class RuntimeMethodHandle

Index: RuntimeTypeHandle.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/RuntimeTypeHandle.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** RuntimeTypeHandle.cs        26 Nov 2002 04:00:36 -0000      1.4
--- RuntimeTypeHandle.cs        7 Apr 2003 04:22:51 -0000       1.5
***************
*** 2,6 ****
   * RuntimeTypeHandle.cs - Implementation of "System.RuntimeTypeHandle".
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 2,6 ----
   * RuntimeTypeHandle.cs - Implementation of "System.RuntimeTypeHandle".
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 22,26 ****
--- 22,31 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public struct RuntimeTypeHandle
+ #if !ECMA_COMPAT
+       : ISerializable
+ #endif
  {
        // Internal state.
***************
*** 41,44 ****
--- 46,70 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+ 
+       // De-serialize this object.
+       [TODO]
+       internal RuntimeTypeHandle(SerializationInfo info,
+                                                          StreamingContext 
context)
+                       {
+                               // TODO
+                               value_ = IntPtr.Zero;
+                       }
+ 
+       // Get the serialization data for this object.
+       [TODO]
+       public void GetObjectData(SerializationInfo info,
+                                                         StreamingContext 
context)
+                       {
+                               // TODO
+                       }
+ 
+ #endif // !ECMA_COMPAT
  
  }; // class RuntimeTypeHandle

Index: StackOverflowException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/StackOverflowException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** StackOverflowException.cs   5 Apr 2003 06:58:12 -0000       1.5
--- StackOverflowException.cs   7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.StackOverflowException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.StackOverflowException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public sealed class StackOverflowException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public StackOverflowException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       internal StackOverflowException(SerializationInfo info,
+                                                                       
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Internal constructor used by the runtime engine

Index: SystemException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/SystemException.cs,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** SystemException.cs  5 Apr 2003 06:58:12 -0000       1.9
--- SystemException.cs  7 Apr 2003 04:22:51 -0000       1.10
***************
*** 2,6 ****
   * SystemException.cs - Implementation of the "System.SystemException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 2,6 ----
   * SystemException.cs - Implementation of the "System.SystemException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify

Index: TypeInitializationException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/TypeInitializationException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** TypeInitializationException.cs      5 Apr 2003 06:58:12 -0000       1.5
--- TypeInitializationException.cs      7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *                    "System.TypeInitializationException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.TypeInitializationException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public sealed class TypeInitializationException : SystemException
  {
***************
*** 35,38 ****
--- 37,48 ----
                : base(null, inner)
                { this.typeName = typeName; }
+ #if !ECMA_COMPAT
+       protected TypeInitializationException(SerializationInfo info,
+                                                                               
  StreamingContext context)
+               : base(info, context)
+               {
+                       typeName = info.GetString("TypeName");
+               }
+ #endif
  
        // Properties.
***************
*** 77,80 ****
--- 87,100 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+       // Get the serialization data for this object.
+       public override void GetObjectData(SerializationInfo info,
+                                                                          
StreamingContext context)
+                       {
+                               base.GetObjectData(info, context);
+                               info.AddValue("TypeName", typeName);
+                       }
+ #endif
  
  }; // class TypeInitializationException

Index: TypeLoadException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/TypeLoadException.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** TypeLoadException.cs        5 Apr 2003 06:58:12 -0000       1.6
--- TypeLoadException.cs        7 Apr 2003 04:22:51 -0000       1.7
***************
*** 3,7 ****
   *                    "System.TypeLoadException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *                    "System.TypeLoadException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,27 ****
--- 23,32 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class TypeLoadException : SystemException
+ #if !ECMA_COMPAT
+       , ISerializable
+ #endif
  {
        // Internal state.
***************
*** 36,39 ****
--- 41,53 ----
        public TypeLoadException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected TypeLoadException(SerializationInfo info,
+                                                               
StreamingContext context)
+               : base(info, context)
+               {
+                       typeName = info.GetString("ClassName");
+                       assemblyName = info.GetString("AssemblyName");
+               }
+ #endif
  
        // Internal constructor that is used by the runtime engine.
***************
*** 87,90 ****
--- 101,115 ----
                                }
                        }
+ 
+ #if !ECMA_COMPAT
+       // Get the serialization data for this object.
+       public override void GetObjectData(SerializationInfo info,
+                                                                          
StreamingContext context)
+                       {
+                               base.GetObjectData(info, context);
+                               info.AddValue("ClassName", typeName);
+                               info.AddValue("AssemblyName", assemblyName);
+                       }
+ #endif
  
  }; // class TypeLoadException

Index: TypeUnloadedException.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/TypeUnloadedException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** TypeUnloadedException.cs    5 Apr 2003 06:58:12 -0000       1.5
--- TypeUnloadedException.cs    7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.TypeUnloadedException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.TypeUnloadedException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class TypeUnloadedException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public TypeUnloadedException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected TypeUnloadedException(SerializationInfo info,
+                                                                       
StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: UIntPtr.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/UIntPtr.cs,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** UIntPtr.cs  26 Nov 2002 04:00:36 -0000      1.8
--- UIntPtr.cs  7 Apr 2003 04:22:51 -0000       1.9
***************
*** 24,27 ****
--- 24,28 ----
  using System.Globalization;
  using System.Runtime.CompilerServices;
+ using System.Runtime.Serialization;
  
  [CLSCompliant(false)]
***************
*** 160,163 ****
--- 161,193 ----
                        {
                                return x.ToPointer();
+                       }
+ 
+       // De-serialize an "UIntPtr" value.
+       internal unsafe UIntPtr(SerializationInfo info, StreamingContext 
context)
+                       {
+                               if(info == null)
+                               {
+                                       throw new ArgumentNullException("info");
+                               }
+                               ulong value = info.GetUInt64("value");
+                               if(Size == 4)
+                               {
+                                       if(value > (ulong)(UInt32.MaxValue))
+                                       {
+                                               throw new 
ArgumentException(_("Overflow_Pointer"));
+                                       }
+                               }
+                               value_ = (void *)value;
+                       }
+ 
+       // Get the serialization data for an "UIntPtr" value.
+       unsafe void ISerializable.GetObjectData(SerializationInfo info,
+                                                                               
        StreamingContext context)
+                       {
+                               if(info == null)
+                               {
+                                       throw new ArgumentNullException("info");
+                               }
+                               info.AddValue("value", ToUInt64());
                        }
  

Index: UnauthorizedAccessException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/UnauthorizedAccessException.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** UnauthorizedAccessException.cs      5 Apr 2003 06:58:12 -0000       1.5
--- UnauthorizedAccessException.cs      7 Apr 2003 04:22:51 -0000       1.6
***************
*** 3,7 ****
   *            "System.UnauthorizedAccessException" class.
   *
!  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.UnauthorizedAccessException" class.
   *
!  * Copyright (C) 2001, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 23,26 ****
--- 23,28 ----
  {
  
+ using System.Runtime.Serialization;
+ 
  public class UnauthorizedAccessException : SystemException
  {
***************
*** 33,36 ****
--- 35,43 ----
        public UnauthorizedAccessException(String msg, Exception inner)
                : base(msg, inner) {}
+ #if !ECMA_COMPAT
+       protected UnauthorizedAccessException(SerializationInfo info,
+                                                                               
  StreamingContext context)
+               : base(info, context) {}
+ #endif
  
        // Get the default message to use for this exception type.

Index: WeakReference.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/WeakReference.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** WeakReference.cs    19 Jun 2002 02:59:18 -0000      1.2
--- WeakReference.cs    7 Apr 2003 04:22:51 -0000       1.3
***************
*** 2,6 ****
   * WeakReference.cs - Implementation of the "System.WeakReference" class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 2,6 ----
   * WeakReference.cs - Implementation of the "System.WeakReference" class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 25,30 ****
  
  using System.Runtime.InteropServices;
  
! public class WeakReference
  {
  
--- 25,31 ----
  
  using System.Runtime.InteropServices;
+ using System.Runtime.Serialization;
  
! public class WeakReference : ISerializable
  {
  
***************
*** 50,53 ****
--- 51,76 ----
                                }
                        }
+       protected WeakReference(SerializationInfo info, StreamingContext 
context)
+                       {
+                               if(info == null)
+                               {
+                                       throw new ArgumentNullException("info");
+                               }
+                               Object obj = info.GetValue("TrackedObject", 
typeof(Object));
+                               bool track = 
info.GetBoolean("TrackResurrection");
+                               if(obj == null)
+                               {
+                                       throw new ArgumentNullException("obj");
+                               }
+                               if(track)
+                               {
+                                       this.handle = GCHandle.Alloc
+                                               (obj, 
GCHandleType.WeakTrackResurrection);
+                               }
+                               else
+                               {
+                                       this.handle = GCHandle.Alloc(obj, 
GCHandleType.Weak);
+                               }
+                       }
  
        // Destructor.
***************
*** 87,90 ****
--- 110,125 ----
                                                                
GCHandleType.WeakTrackResurrection);
                                }
+                       }
+ 
+       // Get the serialization data for this object.
+       public virtual void GetObjectData(SerializationInfo info,
+                                                                         
StreamingContext context)
+                       {
+                               if(info == null)
+                               {
+                                       throw new ArgumentNullException("info");
+                               }
+                               info.AddValue("TrackedObject", Target, 
typeof(Object));
+                               info.AddValue("TrackResurrection", 
TrackResurrection);
                        }
  





reply via email to

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