Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions lang/golang/parser/ctx.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,14 @@ func (ctx *fileContext) GetMod(impt string) (string, error) {
if isSysPkg(impt) {
return "", errSysImport
}

// fileContext 中的 import 信息只有**当前文件的引用路径**,但是存在一种场景就是实际调用的节点在另外的一个Package,导致漏解析
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AsterDY 看看这里,我直接改成在 module 里查找了。

// 常见于"链式调用"、"另一个 pkg 的全局变量的类型在另外一个 pkg 下"
if ctx.module != nil && ctx.module.Packages != nil {
if _, exist := ctx.module.Packages[impt]; exist {
return ctx.module.Name, nil
}
}
for _, ims := range ctx.imports.ProjectImports {
if ims == impt {
return ctx.module.Name, nil
Expand Down
Loading