[mono-api-info] Rework AttributeData to use a static method instead of creating an...
authorRolf Bjarne Kvinge <rolf@xamarin.com>
Wed, 27 Jan 2016 16:41:14 +0000 (17:41 +0100)
committerRolf Bjarne Kvinge <rolf@xamarin.com>
Thu, 28 Jan 2016 13:49:13 +0000 (14:49 +0100)
mcs/tools/corcompare/mono-api-info.cs

index 173c39f66049505806e77363040c52de77c8df78..a76a422458c0c8263ba6846777c5f93feb33a199 100644 (file)
@@ -1106,17 +1106,9 @@ namespace CorCompare
                }
        }
 
-       class AttributeData : BaseData
+       class AttributeData
        {
-               IList<ICustomAttributeProvider> providers;
-
-               AttributeData (XmlWriter writer, IList<ICustomAttributeProvider> providers)
-                       : base (writer)
-               {
-                       this.providers = providers;
-               }
-
-               public override void DoOutput ()
+               public static void DoOutput (XmlWriter writer, IList<ICustomAttributeProvider> providers)
                {
                        if (writer == null)
                                throw new InvalidOperationException ("Document not set");
@@ -1149,7 +1141,7 @@ namespace CorCompare
                                        string attName = Utils.CleanupTypeName (att.Constructor.DeclaringType);
 
                                        writer.WriteStartElement ("attribute");
-                                       AddAttribute ("name", attName);
+                                       writer.WriteAttributeString ("name", attName);
 
                                        var attribute_mapping = CreateAttributeMapping (att).Where ((kvp) => kvp.Key != "TypeId");
 
@@ -1160,15 +1152,15 @@ namespace CorCompare
                                                        object o = kvp.Value;
 
                                                        writer.WriteStartElement ("property");
-                                                       AddAttribute ("name", name);
+                                                       writer.WriteAttributeString ("name", name);
 
                                                        if (o == null) {
-                                                               AddAttribute ("value", "null");
+                                                               writer.WriteAttributeString ("value", "null");
                                                        } else {
                                                                string value = o.ToString ();
                                                                if (attName.EndsWith ("GuidAttribute", StringComparison.Ordinal))
                                                                        value = value.ToUpper ();
-                                                               AddAttribute ("value", value);
+                                                               writer.WriteAttributeString ("value", value);
                                                        }
 
                                                        writer.WriteEndElement (); // property
@@ -1436,8 +1428,7 @@ namespace CorCompare
 
                public static void OutputAttributes (XmlWriter writer, params ICustomAttributeProvider[] providers)
                {
-                       AttributeData ad = new AttributeData (writer, providers);
-                       ad.DoOutput ();
+                       AttributeData.DoOutput (writer, providers);
                }
        }