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