refect: Type.String() should use a shortened package name
Этот коммит содержится в:
родитель
7a96f0f609
коммит
569817a514
2 изменённых файлов: 13 добавлений и 1 удалений
|
@ -502,7 +502,13 @@ func pointerTo(t *rawType) *rawType {
|
||||||
|
|
||||||
func (t *rawType) String() string {
|
func (t *rawType) String() string {
|
||||||
if t.isNamed() {
|
if t.isNamed() {
|
||||||
return t.PkgPath() + "." + t.Name()
|
path := t.PkgPath()
|
||||||
|
slash := len(path) - 1
|
||||||
|
for slash >= 0 && path[slash] != '/' {
|
||||||
|
slash--
|
||||||
|
}
|
||||||
|
shortened := path[slash+1:]
|
||||||
|
return shortened + "." + t.Name()
|
||||||
}
|
}
|
||||||
|
|
||||||
switch t.Kind() {
|
switch t.Kind() {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package reflect_test
|
package reflect_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/base64"
|
||||||
. "reflect"
|
. "reflect"
|
||||||
"sort"
|
"sort"
|
||||||
"testing"
|
"testing"
|
||||||
|
@ -264,6 +265,11 @@ func TestNamedTypes(t *testing.T) {
|
||||||
if got, want := ValueOf(m).String(), "<map[[4]uint16]string Value>"; got != want {
|
if got, want := ValueOf(m).String(), "<map[[4]uint16]string Value>"; got != want {
|
||||||
t.Errorf("Value.String()=%v, want %v", got, want)
|
t.Errorf("Value.String()=%v, want %v", got, want)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if got, want := TypeOf(base64.Encoding{}).String(), "base64.Encoding"; got != want {
|
||||||
|
t.Errorf("Type.String(base64.Encoding{})=%v, want %v", got, want)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestStruct(t *testing.T) {
|
func TestStruct(t *testing.T) {
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче