summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go')
-rw-r--r--vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go b/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go
new file mode 100644
index 0000000..463f252
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go
@@ -0,0 +1,21 @@
+// 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.
+
+// +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)
+}