Skip to content

Commit d8c89db

Browse files
committed
GoTypeName(): Handle versioned packages
1 parent 93bb9aa commit d8c89db

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

internal/parser/go_type.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,18 @@ import (
88
)
99

1010
func (p *Parser) GoTypeName(typ types.Type) string {
11-
name := typ.String() // []*github.com/golang-cz/gospeak/pkg.Typ
11+
name := typ.String() // []*github.com/golang-cz/gospeak/pkg.Typ
12+
13+
if typNamed, ok := typ.(*types.Named); ok {
14+
// Versioned packages.
15+
// github.com/gofrs/uuid/v5.UUID => // github.com/gofrs/uuid.UUID
16+
if typNamed.Obj().Pkg() != nil {
17+
if !strings.Contains(name, typNamed.Obj().Pkg().Name()+".") {
18+
name = strings.ReplaceAll(name, typNamed.Obj().Type().String(), typNamed.Obj().Pkg().Name()+"."+typNamed.Obj().Name())
19+
}
20+
}
21+
}
22+
1223
name = strings.ReplaceAll(name, "*", "") // []github.com/golang-cz/gospeak/pkg.Typ
1324

1425
firstLetter := findFirstLetter(name)

0 commit comments

Comments
 (0)