Throw an AssemblyResolutionException is anything goes wrong trying to resolve an...
authorSebastien Pouliot <sebastien@xamarin.com>
Fri, 16 Nov 2012 02:57:38 +0000 (21:57 -0500)
committerSebastien Pouliot <sebastien@xamarin.com>
Fri, 16 Nov 2012 02:57:38 +0000 (21:57 -0500)
mcs/tools/linker/Mono.Linker/LinkContext.cs

index 4f84e43eba555bfb5afe2372dac39b6eb7102882..8d97f8dc1504b62d710c91111c05e999ed479cab 100644 (file)
@@ -144,15 +144,19 @@ namespace Mono.Linker {
                public AssemblyDefinition Resolve (IMetadataScope scope)
                {
                        AssemblyNameReference reference = GetReference (scope);
+                       try {
+                               AssemblyDefinition assembly = _resolver.Resolve (reference, _readerParameters);
 
-                       AssemblyDefinition assembly = _resolver.Resolve (reference, _readerParameters);
+                               if (SeenFirstTime (assembly)) {
+                                       SafeReadSymbols (assembly);
+                                       SetAction (assembly);
+                               }
 
-                       if (SeenFirstTime (assembly)) {
-                               SafeReadSymbols (assembly);
-                               SetAction (assembly);
+                               return assembly;
+                       }
+                       catch {
+                               throw new AssemblyResolutionException (reference);
                        }
-
-                       return assembly;
                }
 
                bool SeenFirstTime (AssemblyDefinition assembly)