diff options
author | Colin Cross <ccross@android.com> | 2024-03-20 12:54:39 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2024-03-20 14:11:54 -0700 |
commit | fbe2133b4d3417adc93daa3819fccf52d2bb66ea (patch) | |
tree | 489499c233d3e979128afcc077ea1c6c01725ddf /src/cmd/link/internal/ld/testdata/deadcode/ifacemethod6.go | |
parent | 68a2d6d0813d288a1149f79a7223284fa2f5559f (diff) | |
parent | db6097f8cbaceaed02051850d2411c88b763a0c3 (diff) | |
download | go-fbe2133b4d3417adc93daa3819fccf52d2bb66ea.tar.gz |
Bug: 330574836
Test: builds
Change-Id: Icaf805d49ad96dd3f2960c5f92b4eeb7c131291c
Diffstat (limited to 'src/cmd/link/internal/ld/testdata/deadcode/ifacemethod6.go')
-rw-r--r-- | src/cmd/link/internal/ld/testdata/deadcode/ifacemethod6.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/cmd/link/internal/ld/testdata/deadcode/ifacemethod6.go b/src/cmd/link/internal/ld/testdata/deadcode/ifacemethod6.go new file mode 100644 index 0000000000..7eb9419ef1 --- /dev/null +++ b/src/cmd/link/internal/ld/testdata/deadcode/ifacemethod6.go @@ -0,0 +1,31 @@ +// Copyright 2023 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. + +// This test only uses MethodByName() with constant names +// of methods to look up. These methods need to be kept, +// but other methods must be eliminated. + +package main + +import "reflect" + +type S int + +func (s S) M() { println("S.M") } + +func (s S) N() { println("S.N") } + +type T float64 + +func (t T) F(s S) {} + +func main() { + var t T + meth, _ := reflect.TypeOf(t).MethodByName("F") + ft := meth.Type + at := ft.In(1) + v := reflect.New(at).Elem() + methV := v.MethodByName("M") + methV.Call([]reflect.Value{v}) +} |