[corcompare] Drop ParameterAttributes from method signature
authorMarek Safar <marek.safar@gmail.com>
Thu, 22 Sep 2016 10:26:27 +0000 (12:26 +0200)
committerMarek Safar <marek.safar@gmail.com>
Thu, 22 Sep 2016 10:27:12 +0000 (12:27 +0200)
mcs/tools/corcompare/mono-api-info.cs

index 7636c2b204f4e6ed8cfc300f30bbe2ccca2e6268..c52c95f46cf42bc74740f9202061caba4e806504 100644 (file)
@@ -1155,11 +1155,14 @@ namespace CorCompare
                                string direction = first && HasExtensionParameter ? "this" : "in";
                                first = false;
 
-                               if (parameter.ParameterType is ByReferenceType)
+                               var pt = parameter.ParameterType;
+                               var brt = pt as ByReferenceType;
+                               if (brt != null) {
                                        direction = parameter.IsOut ? "out" : "ref";
+                                       pt = brt.ElementType;
+                               }
 
-                               TypeReference t = parameter.ParameterType;
-                               AddAttribute ("type", Utils.CleanupTypeName (t));
+                               AddAttribute ("type", Utils.CleanupTypeName (pt));
 
                                if (parameter.IsOptional) {
                                        AddAttribute ("optional", "true");
@@ -1538,17 +1541,6 @@ namespace CorCompare
 
                                ParameterDefinition info = infos [i];
 
-                               if (info.ParameterType.IsByReference) {
-                                       string modifier;
-                                       if ((info.Attributes & (ParameterAttributes.Out | ParameterAttributes.In)) == ParameterAttributes.Out)
-                                               modifier = "out";
-                                       else
-                                               modifier = "ref";
-
-                                       signature.Append (modifier);
-                                       signature.Append (" ");
-                               }
-
                                signature.Append (Utils.CleanupTypeName (info.ParameterType));
                        }