newInterface10.go 604 B

12345678910111213141516171819202122
  1. // Copyright 2018 The Go Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. //go:build !go1.11
  5. // +build !go1.11
  6. package gcimporter
  7. import "go/types"
  8. func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface {
  9. named := make([]*types.Named, len(embeddeds))
  10. for i, e := range embeddeds {
  11. var ok bool
  12. named[i], ok = e.(*types.Named)
  13. if !ok {
  14. panic("embedding of non-defined interfaces in interfaces is not supported before Go 1.11")
  15. }
  16. }
  17. return types.NewInterface(methods, named)
  18. }