// 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 }