127 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
//golangcitest:args -Einterfacebloat
 | 
						|
package testdata
 | 
						|
 | 
						|
import "time"
 | 
						|
 | 
						|
type InterfaceBloatExample01 interface { // want "the interface has more than 10 methods: 11"
 | 
						|
	a01() time.Duration
 | 
						|
	a02()
 | 
						|
	a03()
 | 
						|
	a04()
 | 
						|
	a05()
 | 
						|
	a06()
 | 
						|
	a07()
 | 
						|
	a08()
 | 
						|
	a09()
 | 
						|
	a10()
 | 
						|
	a11()
 | 
						|
}
 | 
						|
 | 
						|
func InterfaceBloatExample02() {
 | 
						|
	var _ interface { // want "the interface has more than 10 methods: 11"
 | 
						|
		a01() time.Duration
 | 
						|
		a02()
 | 
						|
		a03()
 | 
						|
		a04()
 | 
						|
		a05()
 | 
						|
		a06()
 | 
						|
		a07()
 | 
						|
		a08()
 | 
						|
		a09()
 | 
						|
		a10()
 | 
						|
		a11()
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func InterfaceBloatExample03() interface { // want "the interface has more than 10 methods: 11"
 | 
						|
	a01() time.Duration
 | 
						|
	a02()
 | 
						|
	a03()
 | 
						|
	a04()
 | 
						|
	a05()
 | 
						|
	a06()
 | 
						|
	a07()
 | 
						|
	a08()
 | 
						|
	a09()
 | 
						|
	a10()
 | 
						|
	a11()
 | 
						|
} {
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type InterfaceBloatExample04 struct {
 | 
						|
	Foo interface { // want "the interface has more than 10 methods: 11"
 | 
						|
		a01() time.Duration
 | 
						|
		a02()
 | 
						|
		a03()
 | 
						|
		a04()
 | 
						|
		a05()
 | 
						|
		a06()
 | 
						|
		a07()
 | 
						|
		a08()
 | 
						|
		a09()
 | 
						|
		a10()
 | 
						|
		a11()
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
type InterfaceBloatSmall01 interface {
 | 
						|
	a01() time.Duration
 | 
						|
	a02()
 | 
						|
	a03()
 | 
						|
	a04()
 | 
						|
	a05()
 | 
						|
}
 | 
						|
 | 
						|
type InterfaceBloatSmall02 interface {
 | 
						|
	a06()
 | 
						|
	a07()
 | 
						|
	a08()
 | 
						|
	a09()
 | 
						|
	a10()
 | 
						|
	a11()
 | 
						|
}
 | 
						|
 | 
						|
type InterfaceBloatExample05 interface {
 | 
						|
	InterfaceBloatSmall01
 | 
						|
	InterfaceBloatSmall02
 | 
						|
}
 | 
						|
 | 
						|
type InterfaceBloatExample06 interface {
 | 
						|
	interface { // want "the interface has more than 10 methods: 11"
 | 
						|
		a01() time.Duration
 | 
						|
		a02()
 | 
						|
		a03()
 | 
						|
		a04()
 | 
						|
		a05()
 | 
						|
		a06()
 | 
						|
		a07()
 | 
						|
		a08()
 | 
						|
		a09()
 | 
						|
		a10()
 | 
						|
		a11()
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
type InterfaceBloatTypeGeneric interface {
 | 
						|
	~uint8 | ~uint16 | ~uint32 | ~uint64 | uint |
 | 
						|
		~int8 | ~int16 | ~int32 | ~int64 | int |
 | 
						|
		~float32 | ~float64 |
 | 
						|
		~string
 | 
						|
}
 | 
						|
 | 
						|
func InterfaceBloatExampleNoProblem() interface {
 | 
						|
	a01() time.Duration
 | 
						|
	a02()
 | 
						|
	a03()
 | 
						|
	a04()
 | 
						|
	a05()
 | 
						|
	a06()
 | 
						|
	a07()
 | 
						|
	a08()
 | 
						|
	a09()
 | 
						|
	a10()
 | 
						|
} {
 | 
						|
	return nil
 | 
						|
}
 |