Skip to content

Commit

Permalink
fix: handle pointer types with empty package paths.
Browse files Browse the repository at this point in the history
- When the type is a pointer, and the package path is empty, read the package path from the uncommon type.

Signed-off-by: xqbumu <xqbumu@gmail.com>
  • Loading branch information
xqbumu committed Jan 21, 2025
1 parent 4eebb8b commit 141546d
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions type2.go
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,14 @@ func (p *typeParser) parseType(address uint64) (*GoType, error) {
count += c

if uc.Mcount != 0 {

// When typ.Kind is reflect.Ptr, PackagePath is not parsed, so read
// PkgPath from uncommonType as typ's PackagePath
if typ.Kind == reflect.Ptr && len(typ.PackagePath) == 0 {
// Resolve package path.
typ.PackagePath, _ = p.resolveName(uint64(uc.PkgPath), 0)
}

// We have some methods that needs to be parsed. From source code
// comments the Moff attribute is the offset from the beginning of
// the uncommon data structure to where the array of methods start.
Expand Down

0 comments on commit 141546d

Please sign in to comment.