Skip to content

Commit ff4cf80

Browse files
authored
fix:(go) not correctly collect Alias's type (#32)
1 parent eeb0b4e commit ff4cf80

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

lang/golang/parser/parser.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package parser
1616

1717
import (
18+
"bufio"
1819
"bytes"
1920
"fmt"
2021
"go/ast"
@@ -148,6 +149,15 @@ func (p *GoParser) ParseModule(mod *Module, dir string) (err error) {
148149
cmd.Dir = dir
149150
buf := bytes.NewBuffer(nil)
150151
cmd.Stderr = buf
152+
cmd.Stdout = buf
153+
go func() {
154+
sc := bufio.NewScanner(buf)
155+
// scan and print
156+
for sc.Scan() {
157+
fmt.Fprintln(os.Stderr, sc.Text())
158+
}
159+
}()
160+
fmt.Fprintf(os.Stderr, "running go mod tidy in %s ...\n", dir)
151161
if err := cmd.Run(); err != nil {
152162
fmt.Fprintf(os.Stderr, "run go mod tidy failed in %s: %v\n", dir, buf.String())
153163
}

lang/golang/parser/utils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ func getNamedTypes(typ types.Type) (tys []types.Object, isPointer bool) {
228228
typs, _ := getNamedTypes(t.Constraint())
229229
tys = append(tys, typs...)
230230
case *types.Alias:
231-
typs, _ := getNamedTypes(t.Underlying())
231+
typs, _ := getNamedTypes(t.Rhs())
232232
tys = append(tys, typs...)
233233
case *types.Signature:
234234
for i := 0; i < t.Params().Len(); i++ {

0 commit comments

Comments
 (0)