github.com/flyinox/gosm@v0.0.0-20171117061539-16768cb62077/src/go/doc/testdata/e.1.golden (about) 1 // The package e is a go/doc test for embedded methods. 2 PACKAGE e 3 4 IMPORTPATH 5 testdata/e 6 7 FILENAMES 8 testdata/e.go 9 10 TYPES 11 // T1 has no embedded (level 1) M method due to conflict. 12 type T1 struct { 13 t1 14 t2 15 } 16 17 // T2 has only M as top-level method. 18 type T2 struct { 19 t1 20 } 21 22 // T2.M should appear as method of T2. 23 func (T2) M() 24 25 // T3 has only M as top-level method. 26 type T3 struct { 27 t1e 28 t2e 29 } 30 31 // T3.M should appear as method of T3. 32 func (T3) M() 33 34 // 35 type T4 struct{} 36 37 // T4.M should appear as method of T5 only if AllMethods is set. 38 func (*T4) M() 39 40 // 41 type T5 struct { 42 T4 43 } 44 45 // 46 type U1 struct { 47 *U1 48 } 49 50 // U1.M should appear as method of U1. 51 func (*U1) M() 52 53 // 54 type U2 struct { 55 *U3 56 } 57 58 // U2.M should appear as method of U2 and as method of U3 only if ... 59 func (*U2) M() 60 61 // 62 type U3 struct { 63 *U2 64 } 65 66 // U3.N should appear as method of U3 and as method of U2 only if ... 67 func (*U3) N() 68 69 // 70 type U4 struct { 71 *u5 72 } 73 74 // U4.M should appear as method of U4. 75 func (*U4) M() 76 77 // 78 type V1 struct { 79 *V2 80 *V5 81 } 82 83 // 84 type V2 struct { 85 *V3 86 } 87 88 // 89 type V3 struct { 90 *V4 91 } 92 93 // 94 type V4 struct { 95 *V5 96 } 97 98 // V4.M should appear as method of V2 and V3 if AllMethods is set. 99 func (*V4) M() 100 101 // 102 type V5 struct { 103 *V6 104 } 105 106 // 107 type V6 struct{} 108 109 // V6.M should appear as method of V1 and V5 if AllMethods is set. 110 func (*V6) M() 111 112 // 113 type t1 struct{} 114 115 // t1.M should not appear as method in a Tx type. 116 func (t1) M() 117 118 // 119 type t1e struct { 120 t1 121 } 122 123 // t1.M should not appear as method in a Tx type. 124 func (t1e) M() 125 126 // 127 type t2 struct{} 128 129 // t2.M should not appear as method in a Tx type. 130 func (t2) M() 131 132 // 133 type t2e struct { 134 t2 135 } 136 137 // t2.M should not appear as method in a Tx type. 138 func (t2e) M() 139 140 // 141 type u5 struct { 142 *U4 143 } 144