func()

in tools/go-agent/tools/dst.go [271:296]


func (i *ImportAnalyzer) analyzeFieldImport(filePath string, exp dst.Expr) {
	switch n := exp.(type) {
	case *dst.Ident:
		return
	case *dst.SelectorExpr:
		pkgRefName, ok := n.X.(*dst.Ident)
		if !ok {
			return
		}
		imports := i.imports[filePath]
		if imports == nil {
			return
		}
		spec := imports[pkgRefName.Name]
		if spec == nil {
			return
		}
		i.usedImports[pkgRefName.Name] = spec
	case *dst.Ellipsis:
		i.analyzeFieldImport(filePath, n.Elt)
	case *dst.ArrayType:
		i.analyzeFieldImport(filePath, n.Elt)
	case *dst.StarExpr:
		i.analyzeFieldImport(filePath, n.X)
	}
}