Home | History | Annotate | Download | only in testdata
      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 		// contains filtered or unexported fields
     14 	}
     15 
     16 	// T2 has only M as top-level method. 
     17 	type T2 struct {
     18 		// contains filtered or unexported fields
     19 	}
     20 
     21 	// T2.M should appear as method of T2. 
     22 	func (T2) M()
     23 
     24 	// T3 has only M as top-level method. 
     25 	type T3 struct {
     26 		// contains filtered or unexported fields
     27 	}
     28 
     29 	// T3.M should appear as method of T3. 
     30 	func (T3) M()
     31 
     32 	// 
     33 	type T4 struct{}
     34 
     35 	// T4.M should appear as method of T5 only if AllMethods is set. 
     36 	func (*T4) M()
     37 
     38 	// 
     39 	type T5 struct {
     40 		T4
     41 	}
     42 
     43 	// 
     44 	type U1 struct {
     45 		*U1
     46 	}
     47 
     48 	// U1.M should appear as method of U1. 
     49 	func (*U1) M()
     50 
     51 	// 
     52 	type U2 struct {
     53 		*U3
     54 	}
     55 
     56 	// U2.M should appear as method of U2 and as method of U3 only if ...
     57 	func (*U2) M()
     58 
     59 	// 
     60 	type U3 struct {
     61 		*U2
     62 	}
     63 
     64 	// U3.N should appear as method of U3 and as method of U2 only if ...
     65 	func (*U3) N()
     66 
     67 	// 
     68 	type U4 struct {
     69 		// contains filtered or unexported fields
     70 	}
     71 
     72 	// U4.M should appear as method of U4. 
     73 	func (*U4) M()
     74 
     75 	// 
     76 	type V1 struct {
     77 		*V2
     78 		*V5
     79 	}
     80 
     81 	// 
     82 	type V2 struct {
     83 		*V3
     84 	}
     85 
     86 	// 
     87 	type V3 struct {
     88 		*V4
     89 	}
     90 
     91 	// 
     92 	type V4 struct {
     93 		*V5
     94 	}
     95 
     96 	// V4.M should appear as method of V2 and V3 if AllMethods is set. 
     97 	func (*V4) M()
     98 
     99 	// 
    100 	type V5 struct {
    101 		*V6
    102 	}
    103 
    104 	// 
    105 	type V6 struct{}
    106 
    107 	// V6.M should appear as method of V1 and V5 if AllMethods is set. 
    108 	func (*V6) M()
    109 
    110