Add missing exception types.
authorAtsushi Eno <atsushieno@veritas-vos-liberabit.com>
Mon, 2 Dec 2013 19:55:03 +0000 (04:55 +0900)
committerAtsushi Eno <atsushieno@veritas-vos-liberabit.com>
Tue, 3 Dec 2013 07:53:30 +0000 (16:53 +0900)
mcs/class/Microsoft.Build/Microsoft.Build.Exceptions/InternalLoggerException.cs [new file with mode: 0644]
mcs/class/Microsoft.Build/Microsoft.Build.Exceptions/InvalidToolsetDefinitionException.cs [new file with mode: 0644]
mcs/class/Microsoft.Build/Microsoft.Build.dll.sources

diff --git a/mcs/class/Microsoft.Build/Microsoft.Build.Exceptions/InternalLoggerException.cs b/mcs/class/Microsoft.Build/Microsoft.Build.Exceptions/InternalLoggerException.cs
new file mode 100644 (file)
index 0000000..3aecdfd
--- /dev/null
@@ -0,0 +1,57 @@
+using System;
+using System.Runtime.Serialization;
+using Microsoft.Build.Framework;
+
+namespace Microsoft.Build.Exceptions
+{
+       public class InternalLoggerException : Exception
+       {
+               public InternalLoggerException ()
+                       : this ("Build aborted")
+               {
+               }
+               
+               public InternalLoggerException (string message)
+                       : base (message)
+               {
+               }
+               
+               public InternalLoggerException (string message, Exception innerException)
+                       : base (message, innerException)
+               {
+               }
+               
+               internal InternalLoggerException (string message, Exception innerException, BuildEventArgs buildEventArgs, string errorCode, string helpKeyword, bool initializationException)
+                       : base (message, innerException)
+               {
+                       BuildEventArgs = buildEventArgs;
+                       ErrorCode = errorCode;
+                       HelpKeyword = helpKeyword;
+                       InitializationException = initializationException;
+               }
+               
+               internal InternalLoggerException (SerializationInfo info, StreamingContext context)
+                       : base (info, context)
+               {
+                       BuildEventArgs = (BuildEventArgs) info.GetValue ("buildEventArgs", typeof (BuildEventArgs));
+                       ErrorCode = info.GetString ("errorCode");
+                       HelpKeyword = info.GetString ("helpKeyword");
+                       InitializationException = info.GetBoolean ("initializationException");
+               }
+               
+               public BuildEventArgs BuildEventArgs { get; private set; }
+               public string ErrorCode { get; private set; }
+               public string HelpKeyword { get; private set; }
+               public bool InitializationException { get; private set; }
+               
+               public override void GetObjectData (SerializationInfo info, StreamingContext context)
+               {
+                       base.GetObjectData (info, context);
+                       info.AddValue ("buildEventArgs", BuildEventArgs);
+                       info.AddValue ("errorCode", ErrorCode);
+                       info.AddValue ("helpKeyword", HelpKeyword);
+                       info.AddValue ("initializationException", InitializationException);
+               }
+       }
+}
+
diff --git a/mcs/class/Microsoft.Build/Microsoft.Build.Exceptions/InvalidToolsetDefinitionException.cs b/mcs/class/Microsoft.Build/Microsoft.Build.Exceptions/InvalidToolsetDefinitionException.cs
new file mode 100644 (file)
index 0000000..b518d18
--- /dev/null
@@ -0,0 +1,42 @@
+using System;
+using System.Runtime.Serialization;
+
+namespace Microsoft.Build.Exceptions
+{
+       public class InvalidToolsetDefinitionException : Exception
+       {
+               public InvalidToolsetDefinitionException ()
+                       : this ("Invalid toolset definition")
+               {
+               }
+               
+               public InvalidToolsetDefinitionException (string message)
+                       : base (message)
+               {
+               }
+               
+               public InvalidToolsetDefinitionException (string message, Exception innerException)
+                       : base (message, innerException)
+               {
+               }
+               protected InvalidToolsetDefinitionException (SerializationInfo info, StreamingContext context)
+                       : base (info, context)
+               {
+                       ErrorCode = info.GetString ("errorCode");
+               }
+               
+               internal InvalidToolsetDefinitionException (string message, string errorCode)
+                       : base (message + " error code: " + errorCode)
+               {
+                       ErrorCode = errorCode;
+               }
+               
+               public string ErrorCode { get; private set; }
+               
+               public override void GetObjectData (SerializationInfo info, StreamingContext context)
+               {
+                       base.GetObjectData (info, context);
+                       info.AddValue ("errorCode", ErrorCode);
+               }
+       }
+}
index fcbb4eaa7dd1810776064ffba4d39fa520e43df2..56d864cac2761cf02364bf1cfe587b13bafe56fa 100644 (file)
@@ -55,7 +55,9 @@ Microsoft.Build.Evaluation/SubToolset.cs
 Microsoft.Build.Evaluation/Toolset.cs
 Microsoft.Build.Evaluation/ToolsetDefinitionLocations.cs
 Microsoft.Build.Exceptions/BuildAbortedException.cs
+Microsoft.Build.Exceptions/InternalLoggerException.cs
 Microsoft.Build.Exceptions/InvalidProjectFileException.cs
+Microsoft.Build.Exceptions/InvalidToolsetDefinitionException.cs
 Microsoft.Build.Execution/BuildManager.cs
 Microsoft.Build.Execution/BuildParameters.cs
 Microsoft.Build.Execution/BuildRequestData.cs