github.com/chenfeining/golangci-lint@v1.0.2-0.20230730162517-14c6c67868df/test/testdata/interfacebloat.go (about)

     1  //golangcitest:args -Einterfacebloat
     2  package testdata
     3  
     4  import "time"
     5  
     6  type InterfaceBloatExample01 interface { // want "the interface has more than 10 methods: 11"
     7  	a01() time.Duration
     8  	a02()
     9  	a03()
    10  	a04()
    11  	a05()
    12  	a06()
    13  	a07()
    14  	a08()
    15  	a09()
    16  	a10()
    17  	a11()
    18  }
    19  
    20  func InterfaceBloatExample02() {
    21  	var _ interface { // want "the interface has more than 10 methods: 11"
    22  		a01() time.Duration
    23  		a02()
    24  		a03()
    25  		a04()
    26  		a05()
    27  		a06()
    28  		a07()
    29  		a08()
    30  		a09()
    31  		a10()
    32  		a11()
    33  	}
    34  }
    35  
    36  func InterfaceBloatExample03() interface { // want "the interface has more than 10 methods: 11"
    37  	a01() time.Duration
    38  	a02()
    39  	a03()
    40  	a04()
    41  	a05()
    42  	a06()
    43  	a07()
    44  	a08()
    45  	a09()
    46  	a10()
    47  	a11()
    48  } {
    49  	return nil
    50  }
    51  
    52  type InterfaceBloatExample04 struct {
    53  	Foo interface { // want "the interface has more than 10 methods: 11"
    54  		a01() time.Duration
    55  		a02()
    56  		a03()
    57  		a04()
    58  		a05()
    59  		a06()
    60  		a07()
    61  		a08()
    62  		a09()
    63  		a10()
    64  		a11()
    65  	}
    66  }
    67  
    68  type InterfaceBloatSmall01 interface {
    69  	a01() time.Duration
    70  	a02()
    71  	a03()
    72  	a04()
    73  	a05()
    74  }
    75  
    76  type InterfaceBloatSmall02 interface {
    77  	a06()
    78  	a07()
    79  	a08()
    80  	a09()
    81  	a10()
    82  	a11()
    83  }
    84  
    85  type InterfaceBloatExample05 interface {
    86  	InterfaceBloatSmall01
    87  	InterfaceBloatSmall02
    88  }
    89  
    90  type InterfaceBloatExample06 interface {
    91  	interface { // want "the interface has more than 10 methods: 11"
    92  		a01() time.Duration
    93  		a02()
    94  		a03()
    95  		a04()
    96  		a05()
    97  		a06()
    98  		a07()
    99  		a08()
   100  		a09()
   101  		a10()
   102  		a11()
   103  	}
   104  }
   105  
   106  type InterfaceBloatTypeGeneric interface {
   107  	~uint8 | ~uint16 | ~uint32 | ~uint64 | uint |
   108  		~int8 | ~int16 | ~int32 | ~int64 | int |
   109  		~float32 | ~float64 |
   110  		~string
   111  }
   112  
   113  func InterfaceBloatExampleNoProblem() interface {
   114  	a01() time.Duration
   115  	a02()
   116  	a03()
   117  	a04()
   118  	a05()
   119  	a06()
   120  	a07()
   121  	a08()
   122  	a09()
   123  	a10()
   124  } {
   125  	return nil
   126  }