diff options
| author | zhouguangyuan <zhouguangyuan.xian@gmail.com> | 2022-03-20 00:07:37 +0800 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2022-04-12 00:32:29 +0000 |
| commit | ec5e5dba6fbc4549f167c6db509a800e163296c8 (patch) | |
| tree | 35fecc6163ac40b6e180de3cc26683df4a4afea7 /src/runtime/type.go | |
| parent | ff14e844d26090e09aa335d836f737c09a7a0402 (diff) | |
| download | go-ec5e5dba6fbc4549f167c6db509a800e163296c8.tar.xz | |
runtime: fix name of type parameter
CL 372774 is for reflect, this CL is for _type in runtime.
Add a test case to ensure the name method of _type can be exercised.
Updates #50208
Change-Id: I26ccf8c5c574dd9e78510cf29eb40ae7c8d449ab
Reviewed-on: https://go-review.googlesource.com/c/go/+/393917
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Run-TryBot: Keith Randall <khr@google.com>
Auto-Submit: Keith Randall <khr@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/runtime/type.go')
| -rw-r--r-- | src/runtime/type.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/runtime/type.go b/src/runtime/type.go index 44f36a85ca..b650d6d795 100644 --- a/src/runtime/type.go +++ b/src/runtime/type.go @@ -127,7 +127,14 @@ func (t *_type) name() string { } s := t.string() i := len(s) - 1 - for i >= 0 && s[i] != '.' { + sqBrackets := 0 + for i >= 0 && (s[i] != '.' || sqBrackets != 0) { + switch s[i] { + case ']': + sqBrackets++ + case '[': + sqBrackets-- + } i-- } return s[i+1:] |
