* linker/Mono.Linker.Steps/MarkStep.cs: Make IgnoreScope() virtual to
authorAndrés G. Aragoneses <knocte@gmail.com>
Thu, 10 Sep 2009 18:16:49 +0000 (18:16 -0000)
committerAndrés G. Aragoneses <knocte@gmail.com>
Thu, 10 Sep 2009 18:16:49 +0000 (18:16 -0000)
prevent marking custom attributes of foreign assemblies in a derived
step in the tuner. ( r: jb )

* tuner/Mono.Tuner/MoonlightA11yApiMarker.cs: Don't mark attributes of
non-a11y assemblies.

svn path=/trunk/mcs/; revision=141687

mcs/tools/linker/ChangeLog
mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs
mcs/tools/tuner/ChangeLog
mcs/tools/tuner/Mono.Tuner/MoonlightA11yApiMarker.cs

index e595c9c9617b4deb2c95f30212cedb8b5a74acb3..f7dc1b39b0ef1379534a3ecc98211ec3c3500985 100644 (file)
@@ -1,3 +1,9 @@
+2009-09-10  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * Mono.Linker.Steps/MarkStep.cs: Make IgnoreScope() virtual to
+         prevent marking custom attributes of foreign assemblies in a
+         derived step in the tuner. ( r: jb )
+
 2009-09-09  Andrés G. Aragoneses  <aaragoneses@novell.com>
 
        * Mono.Linker.Steps/MarkStep.cs: Visibility changes needed by
index 899252c74073d504e8efe2a4be350b6cdeabe4d2..fa6ddc61aad838a7010b68f9197f23b8fdf2867b 100644 (file)
@@ -259,7 +259,7 @@ namespace Mono.Linker.Steps {
                        Annotations.Mark (field);
                }
 
-               protected bool IgnoreScope (IMetadataScope scope)
+               protected virtual bool IgnoreScope (IMetadataScope scope)
                {
                        AssemblyDefinition assembly = ResolveAssembly (scope);
                        return Annotations.GetAction (assembly) != AssemblyAction.Link;
index e5b140a666b4f4939bd79e07ddd7b5b39cf37915..18616f338081503f71f02cfa3d509933eb4884a3 100644 (file)
@@ -1,3 +1,8 @@
+2009-09-10  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * Mono.Tuner/MoonlightA11yApiMarker.cs: Don't mark attributes
+         of non-a11y assemblies.
+
 2009-09-09  Andrés G. Aragoneses  <aaragoneses@novell.com>
 
        * Mono.Tuner/MoonlightA11yDescriptorGenerator.cs: Rather use
index 34a8795fe4cd2d5e4634140d0c88bfea40c6ce72..81f54fa8675d5dbce89a2ea1702516b51d366120 100644 (file)
@@ -26,7 +26,7 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-
+using System;
 using System.Collections;
 using System.Xml;
 
@@ -43,7 +43,7 @@ namespace Mono.Tuner {
                {
                        return assembly.ToString ().Contains ("DummyEntry") || assembly.ToString ().Contains ("MoonAtkBridge");
                }
-               
+
                protected override void InitializeAssembly (AssemblyDefinition assembly)
                {
                        if (IsA11yAssembly (assembly))
@@ -58,19 +58,21 @@ namespace Mono.Tuner {
                                Annotations.Mark (method);
                }
 
+               protected override bool IgnoreScope (IMetadataScope scope)
+               {
+                       return false;
+               }
+
                protected override void MarkType (TypeReference reference)
                {
                        if (reference == null)
-                               return;
+                               throw new ArgumentNullException ("reference");
 
                        reference = GetOriginalType (reference);
 
                        if (reference is GenericParameter)
                                return;
 
-                       if (IgnoreScope (reference.Scope))
-                               return;
-
                        TypeDefinition type = reference.Resolve ();
 
                        if (type == null)