Text file src/go/doc/testdata/e.1.golden

     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  
   145  

View as plain text