mirror of
https://github.com/golang/go
synced 2024-11-21 22:34:48 -07:00
go/doc: added test case
Don't show conflicting method embedded via a visible and invisible anonymous field. R=rsc CC=golang-dev https://golang.org/cl/5564064
This commit is contained in:
parent
45a8fae996
commit
a0d0ed2002
10
src/pkg/go/doc/testdata/e.0.golden
vendored
10
src/pkg/go/doc/testdata/e.0.golden
vendored
@ -1,4 +1,4 @@
|
|||||||
//
|
// The package e is a go/doc test for embedded methods.
|
||||||
PACKAGE e
|
PACKAGE e
|
||||||
|
|
||||||
IMPORTPATH
|
IMPORTPATH
|
||||||
@ -8,7 +8,7 @@ FILENAMES
|
|||||||
testdata/e.go
|
testdata/e.go
|
||||||
|
|
||||||
TYPES
|
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 {
|
type T1 struct {
|
||||||
// contains filtered or unexported fields
|
// contains filtered or unexported fields
|
||||||
}
|
}
|
||||||
@ -29,3 +29,9 @@ TYPES
|
|||||||
// T3.M should appear as method of T3.
|
// T3.M should appear as method of T3.
|
||||||
func (T3) M()
|
func (T3) M()
|
||||||
|
|
||||||
|
// T1 has no embedded (level 1) M method due to conflict.
|
||||||
|
type T4 struct {
|
||||||
|
T2
|
||||||
|
// contains filtered or unexported fields
|
||||||
|
}
|
||||||
|
|
||||||
|
10
src/pkg/go/doc/testdata/e.1.golden
vendored
10
src/pkg/go/doc/testdata/e.1.golden
vendored
@ -1,4 +1,4 @@
|
|||||||
//
|
// The package e is a go/doc test for embedded methods.
|
||||||
PACKAGE e
|
PACKAGE e
|
||||||
|
|
||||||
IMPORTPATH
|
IMPORTPATH
|
||||||
@ -8,7 +8,7 @@ FILENAMES
|
|||||||
testdata/e.go
|
testdata/e.go
|
||||||
|
|
||||||
TYPES
|
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 {
|
type T1 struct {
|
||||||
t1
|
t1
|
||||||
t2
|
t2
|
||||||
@ -31,6 +31,12 @@ TYPES
|
|||||||
// T3.M should appear as method of T3.
|
// T3.M should appear as method of T3.
|
||||||
func (T3) M()
|
func (T3) M()
|
||||||
|
|
||||||
|
// T1 has no embedded (level 1) M method due to conflict.
|
||||||
|
type T4 struct {
|
||||||
|
t2
|
||||||
|
T2
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
type t1 struct{}
|
type t1 struct{}
|
||||||
|
|
||||||
|
16
src/pkg/go/doc/testdata/e.go
vendored
16
src/pkg/go/doc/testdata/e.go
vendored
@ -2,9 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// Embedding tests.
|
// The package e is a go/doc test for embedded methods.
|
||||||
// TODO(gri): This should be comprehensive.
|
|
||||||
|
|
||||||
package e
|
package e
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -20,7 +18,7 @@ type t2 struct{}
|
|||||||
// t2.M should not appear as method in a Tx type.
|
// t2.M should not appear as method in a Tx type.
|
||||||
func (t2) M() {}
|
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 {
|
type T1 struct {
|
||||||
t1
|
t1
|
||||||
t2
|
t2
|
||||||
@ -56,3 +54,13 @@ type T3 struct {
|
|||||||
|
|
||||||
// T3.M should appear as method of T3.
|
// T3.M should appear as method of T3.
|
||||||
func (T3) M() {}
|
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
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user