go.mod go1.23

This commit is contained in:
visualfc
2025-05-04 21:33:53 +08:00
parent 8882c31eb4
commit e8a91696d6
7 changed files with 1529 additions and 1421 deletions

View File

@@ -538,20 +538,15 @@ func PathOf(pkg *types.Package) string {
// - method: pkg.T.name, pkg.(*T).name
func FuncName(pkg *types.Package, name string, recv *types.Var, org bool) string {
if recv != nil {
named, ptr := recvNamed(recv.Type())
var tName string
t := recv.Type()
if org {
if tp, ok := t.(*types.Pointer); ok {
tName = "(*" + tp.Elem().(*types.Named).Obj().Name() + ")"
} else {
tName = t.(*types.Named).Obj().Name()
}
tName = named.Obj().Name()
} else {
if tp, ok := t.(*types.Pointer); ok {
tName = "(*" + abi.NamedName(tp.Elem().(*types.Named)) + ")"
} else {
tName = abi.NamedName(t.(*types.Named))
}
tName = abi.NamedName(named)
}
if ptr {
tName = "(*" + tName + ")"
}
return PathOf(pkg) + "." + tName + "." + name
}
@@ -559,6 +554,18 @@ func FuncName(pkg *types.Package, name string, recv *types.Var, org bool) string
return ret
}
func recvNamed(t types.Type) (typ *types.Named, ptr bool) {
if tp, ok := t.(*types.Pointer); ok {
t = tp.Elem()
ptr = true
}
if _, ok := t.(*types.Alias); ok {
t = types.Unalias(t)
}
typ, _ = t.(*types.Named)
return
}
func TypeArgs(typeArgs []types.Type) string {
return abi.TypeArgs(typeArgs)
}