Merge pull request #5120 from lambdageek/bug-57744
authorAleksey Kliger (λgeek) <akliger@gmail.com>
Tue, 27 Jun 2017 14:44:30 +0000 (10:44 -0400)
committerGitHub <noreply@github.com>
Tue, 27 Jun 2017 14:44:30 +0000 (10:44 -0400)
[reflection] Convert correct MonoError to an exn in Assembly.GetTypes ()

mcs/class/corlib/System.Reflection/ReflectionTypeLoadException.cs [deleted file]
mono/metadata/icall.c

diff --git a/mcs/class/corlib/System.Reflection/ReflectionTypeLoadException.cs b/mcs/class/corlib/System.Reflection/ReflectionTypeLoadException.cs
deleted file mode 100644 (file)
index 37384a2..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-// System.Reflection.ReflectionTypeLoadException
-//
-// Sean MacIsaac (macisaac@ximian.com)
-// Dunan Mak (duncan@ximian.com)
-//
-// (C) 2001 Ximian, Inc.
-//
-
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System.Globalization;
-using System.Runtime.Serialization;
-using System.Runtime.InteropServices;
-
-namespace System.Reflection
-{
-       [ComVisible (true)]
-       [Serializable]
-       public sealed class ReflectionTypeLoadException : SystemException
-       {
-               // Fields
-               private Exception[] loaderExceptions;
-               private Type[] types;
-               
-               // Constructors
-               public ReflectionTypeLoadException (Type[] classes, Exception[] exceptions)
-                       : base (Locale.GetText ("The classes in the module cannot be loaded."))
-               {
-                       loaderExceptions = exceptions;
-                       types = classes;
-               }
-
-               public ReflectionTypeLoadException (Type[] classes, Exception[] exceptions, string message)
-                       : base (message)
-               {
-                       loaderExceptions = exceptions;
-                       types = classes;
-               }
-                       
-               private ReflectionTypeLoadException (SerializationInfo info, StreamingContext sc): base (info, sc)
-               {
-                       types = (Type[]) info.GetValue ("Types", typeof (Type[]));
-                       loaderExceptions = (Exception[]) info.GetValue ("Exceptions", typeof (Exception[]));
-               }
-               
-               // Properties
-               public Type[] Types
-               {
-                       get { return types; }
-               }
-
-               public Exception[] LoaderExceptions
-               {
-                       get { return loaderExceptions; }
-               }
-
-               public override void GetObjectData (SerializationInfo info, StreamingContext context)
-               {
-                       base.GetObjectData (info, context);
-                       info.AddValue ("Types", types);
-                       info.AddValue ("Exceptions", loaderExceptions);
-               }
-       
-       }
-}
index 9692845d19089e457199d61da221fa3df58f6cbc..76ccc633aacb095aa61157cda783347c1df962ee 100644 (file)
@@ -5465,7 +5465,7 @@ image_get_type (MonoDomain *domain, MonoImage *image, MonoTableInfo *tdef, int t
 
                MONO_HANDLE_ARRAY_SETREF (res, count, rt);
        } else {
-               MonoException *ex = mono_error_convert_to_exception (error);
+               MonoException *ex = mono_error_convert_to_exception (&klass_error);
                MONO_HANDLE_ARRAY_SETRAW (exceptions, count, ex);
        }
        HANDLE_FUNCTION_RETURN ();