]> Cypherpunks repositories - gostls13.git/commitdiff
go/doc: added test case
authorRobert Griesemer <gri@golang.org>
Fri, 27 Jan 2012 22:45:31 +0000 (14:45 -0800)
committerRobert Griesemer <gri@golang.org>
Fri, 27 Jan 2012 22:45:31 +0000 (14:45 -0800)
Don't show conflicting method embedded via
a visible and invisible anonymous field.

R=rsc
CC=golang-dev
https://golang.org/cl/5564064

src/pkg/go/doc/testdata/e.0.golden
src/pkg/go/doc/testdata/e.1.golden
src/pkg/go/doc/testdata/e.go

index 3b128f7be8bda3f74c33fbceaefd46a035157048..05b0cc94e5ab60d15e6a4c38de6071251ec140a7 100644 (file)
@@ -1,4 +1,4 @@
-// 
+// The package e is a go/doc test for embedded methods. 
 PACKAGE e
 
 IMPORTPATH
@@ -8,7 +8,7 @@ FILENAMES
        testdata/e.go
 
 TYPES
-       // T1 has no (top-level) M method due to conflict. 
+       // T1 has no embedded (level 1) M method due to conflict. 
        type T1 struct {
                // contains filtered or unexported fields
        }
@@ -29,3 +29,9 @@ TYPES
        // T3.M should appear as method of T3. 
        func (T3) M()
 
+       // T1 has no embedded (level 1) M method due to conflict. 
+       type T4 struct {
+               T2
+               // contains filtered or unexported fields
+       }
+
index d05602d82cb9dab9ea5c3c9e6692c9539e62656a..68a3e68a4873ac9e83ede85738160ce0f254171c 100644 (file)
@@ -1,4 +1,4 @@
-// 
+// The package e is a go/doc test for embedded methods. 
 PACKAGE e
 
 IMPORTPATH
@@ -8,7 +8,7 @@ FILENAMES
        testdata/e.go
 
 TYPES
-       // T1 has no (top-level) M method due to conflict. 
+       // T1 has no embedded (level 1) M method due to conflict. 
        type T1 struct {
                t1
                t2
@@ -31,6 +31,12 @@ TYPES
        // T3.M should appear as method of T3. 
        func (T3) M()
 
+       // T1 has no embedded (level 1) M method due to conflict. 
+       type T4 struct {
+               t2
+               T2
+       }
+
        // 
        type t1 struct{}
 
index 8ea6a83b66aaca3f92af772705760556d1e56329..6f8b4a7734ceac6532cc361608eddb7049b6dcfd 100644 (file)
@@ -2,9 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// Embedding tests.
-// TODO(gri): This should be comprehensive.
-
+// The package e is a go/doc test for embedded methods.
 package e
 
 // ----------------------------------------------------------------------------
@@ -20,7 +18,7 @@ type t2 struct{}
 // t2.M should not appear as method in a Tx type.
 func (t2) M() {}
 
-// T1 has no (top-level) M method due to conflict.
+// T1 has no embedded (level 1) M method due to conflict.
 type T1 struct {
        t1
        t2
@@ -56,3 +54,13 @@ type T3 struct {
 
 // T3.M should appear as method of T3.
 func (T3) M() {}
+
+// ----------------------------------------------------------------------------
+// Don't show conflicting methods M embedded via an exported and non-exported
+// type.
+
+// T1 has no embedded (level 1) M method due to conflict.
+type T4 struct {
+       t2
+       T2
+}