Better fix for invalid warning about missing documentation on partial parts.
authorMarek Safar <marek.safar@gmail.com>
Fri, 28 Sep 2012 18:23:19 +0000 (19:23 +0100)
committerMarek Safar <marek.safar@gmail.com>
Fri, 28 Sep 2012 18:24:05 +0000 (19:24 +0100)
mcs/mcs/class.cs
mcs/mcs/decl.cs
mcs/tests/support-xml-067.cs [new file with mode: 0644]
mcs/tests/test-xml-067-ref.xml
mcs/tests/test-xml-067.cs

index ffc0c44738e957775eebf9bc43618eb6fe7060a2..5aeb490c798f2dbc8afb751e784ecc158eb8b354 100644 (file)
@@ -1008,6 +1008,9 @@ namespace Mono.CSharp
 
                internal override void GenerateDocComment (DocumentationBuilder builder)
                {
+                       if (IsPartialPart)
+                               return;
+
                        base.GenerateDocComment (builder);
 
                        foreach (var member in members)
index 788aa619c37d59940c2c71d46d43b11a36c34fb9..b705e6c744c2c6f96186699e52e55bc41d86ac78 100644 (file)
@@ -838,17 +838,6 @@ namespace Mono.CSharp {
                {
                        if (DocComment == null) {
                                if (IsExposedFromAssembly ()) {
-                                       var td = this as TypeDefinition;
-                                       if (td != null && td.PartialContainer != null) {
-                                               //
-                                               // This partial part does not have comment but some other part can have
-                                               //
-                                               foreach (var tc in Parent.Containers) {
-                                                       if (tc.PartialContainer == td.PartialContainer && tc.DocComment != null)
-                                                               return;
-                                               }
-                                       }
-
                                        Constructor c = this as Constructor;
                                        if (c == null || !c.IsDefault ())
                                                Report.Warning (1591, 4, Location,
diff --git a/mcs/tests/support-xml-067.cs b/mcs/tests/support-xml-067.cs
new file mode 100644 (file)
index 0000000..2148fd1
--- /dev/null
@@ -0,0 +1,10 @@
+namespace Testing
+{
+       public partial class Test
+       {
+               /// test 3
+               public void OneMore ()
+               {
+               }
+       }
+}
\ No newline at end of file
index ab299173fa3299aabd28ffc9c3417d1ab3ebe044..c9c5cb12303bb00192fd97fe01ea11cd5b95e12e 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <doc>
     <assembly>
-        <name>test-xml-067</name>
+        <name>support-xml-067</name>
     </assembly>
     <members>
         <member name="T:Testing.Test">
@@ -12,8 +12,8 @@
         <member name="M:Testing.Test.#ctor">
             test</member>
         <member name="M:Testing.Test.Foo">
-            test</member>
-        <member name="M:Testing.Test.Foo">
-            test</member>
+            test 2</member>
+        <member name="M:Testing.Test.OneMore">
+            test 3</member>
     </members>
 </doc>
index 70a92d691689c2172f9171a05ac16e55be3f9499..95b0a987f71a8f1ae35c6bedd52832459dde36c9 100644 (file)
@@ -1,4 +1,4 @@
-// Compiler options: -doc:xml-067.xml -warnaserror
+// Compiler options: support-xml-067.cs -doc:xml-067.xml -warnaserror
 
 // Partial types can have documentation on one part only
 
@@ -19,7 +19,7 @@ namespace Testing
 
        public partial class Test
        {
-               /// test
+               /// test 2
                public void Foo ()
                {
                }