| // The package e is a go/doc test for embedded methods. |
| PACKAGE e |
| |
| IMPORTPATH |
| testdata/e |
| |
| FILENAMES |
| testdata/e.go |
| |
| TYPES |
| // T1 has no embedded (level 1) M method due to conflict. |
| type T1 struct { |
| t1 |
| t2 |
| } |
| |
| // T2 has only M as top-level method. |
| type T2 struct { |
| t1 |
| } |
| |
| // T2.M should appear as method of T2. |
| func (T2) M() |
| |
| // T3 has only M as top-level method. |
| type T3 struct { |
| t1e |
| t2e |
| } |
| |
| // T3.M should appear as method of T3. |
| func (T3) M() |
| |
| // |
| type T4 struct{} |
| |
| // T4.M should appear as method of T5 only if AllMethods is set. |
| func (*T4) M() |
| |
| // |
| type T5 struct { |
| T4 |
| } |
| |
| // |
| type U1 struct { |
| *U1 |
| } |
| |
| // U1.M should appear as method of U1. |
| func (*U1) M() |
| |
| // |
| type U2 struct { |
| *U3 |
| } |
| |
| // U2.M should appear as method of U2 and as method of U3 only if ... |
| func (*U2) M() |
| |
| // |
| type U3 struct { |
| *U2 |
| } |
| |
| // U3.N should appear as method of U3 and as method of U2 only if ... |
| func (*U3) N() |
| |
| // |
| type U4 struct { |
| *u5 |
| } |
| |
| // U4.M should appear as method of U4. |
| func (*U4) M() |
| |
| // |
| type V1 struct { |
| *V2 |
| *V5 |
| } |
| |
| // |
| type V2 struct { |
| *V3 |
| } |
| |
| // |
| type V3 struct { |
| *V4 |
| } |
| |
| // |
| type V4 struct { |
| *V5 |
| } |
| |
| // V4.M should appear as method of V2 and V3 if AllMethods is set. |
| func (*V4) M() |
| |
| // |
| type V5 struct { |
| *V6 |
| } |
| |
| // |
| type V6 struct{} |
| |
| // V6.M should appear as method of V1 and V5 if AllMethods is set. |
| func (*V6) M() |
| |
| // |
| type t1 struct{} |
| |
| // t1.M should not appear as method in a Tx type. |
| func (t1) M() |
| |
| // |
| type t1e struct { |
| t1 |
| } |
| |
| // t1.M should not appear as method in a Tx type. |
| func (t1e) M() |
| |
| // |
| type t2 struct{} |
| |
| // t2.M should not appear as method in a Tx type. |
| func (t2) M() |
| |
| // |
| type t2e struct { |
| t2 |
| } |
| |
| // t2.M should not appear as method in a Tx type. |
| func (t2e) M() |
| |
| // |
| type u5 struct { |
| *U4 |
| } |
| |