summaryrefslogtreecommitdiff
path: root/test/reflectmethod8.go
diff options
context:
space:
mode:
authorCuong Manh Le <cuong.manhle.vn@gmail.com>2021-07-22 23:54:19 +0700
committerCuong Manh Le <cuong.manhle.vn@gmail.com>2021-07-22 17:48:41 +0000
commitfca3e5c4452e8dac6c7ae028dcccc323e1d57ed5 (patch)
treeb8c7c9b75feb2af318c60daca0c629d7029388b6 /test/reflectmethod8.go
parent5ba06495c1ab2c0e7f6e25260d1f92b5008c380e (diff)
downloadgo-git-fca3e5c4452e8dac6c7ae028dcccc323e1d57ed5.tar.gz
[dev.typeparams] cmd/compile: fix missing condition in usemethod
CL 330670 simplified usemethod, but dropped the previous condition to ensure the function have 1 or 2 result. This CL restore that condition, and also add a test for it. Change-Id: I434e3736785b43ceea0b386d8d9d01ad78a4ccd2 Reviewed-on: https://go-review.googlesource.com/c/go/+/336609 Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'test/reflectmethod8.go')
-rw-r--r--test/reflectmethod8.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/reflectmethod8.go b/test/reflectmethod8.go
new file mode 100644
index 0000000000..482163bae6
--- /dev/null
+++ b/test/reflectmethod8.go
@@ -0,0 +1,26 @@
+// compile
+
+// Copyright 2021 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.
+
+// Make sure that the compiler can analyze non-reflect
+// Type.{Method,MethodByName} calls.
+
+package p
+
+type I interface {
+ MethodByName(string)
+ Method(int)
+}
+
+type M struct{}
+
+func (M) MethodByName(string) {}
+func (M) Method(int) {}
+
+func f() {
+ var m M
+ I.MethodByName(m, "")
+ I.Method(m, 42)
+}