diff --git a/loader/loader.go b/loader/loader.go index d25b08a9..28f969e5 100644 --- a/loader/loader.go +++ b/loader/loader.go @@ -52,7 +52,8 @@ type PackageJSON struct { CFiles []string // Dependency information - Imports []string + Imports []string + ImportMap map[string]string // Error information Error *struct { @@ -411,6 +412,9 @@ func (p *Package) Import(to string) (*types.Package, error) { if to == "unsafe" { return types.Unsafe, nil } + if newTo, ok := p.ImportMap[to]; ok && !strings.HasSuffix(newTo, ".test]") { + to = newTo + } if imported, ok := p.program.Packages[to]; ok { return imported.Pkg, nil } else {