aboutsummaryrefslogtreecommitdiff
path: root/internal/gcimporter/newInterface10.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/gcimporter/newInterface10.go')
-rw-r--r--internal/gcimporter/newInterface10.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/internal/gcimporter/newInterface10.go b/internal/gcimporter/newInterface10.go
new file mode 100644
index 000000000..8b163e3d0
--- /dev/null
+++ b/internal/gcimporter/newInterface10.go
@@ -0,0 +1,22 @@
+// 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)
+}