mirror of
https://github.com/golang/go
synced 2024-11-18 17:54:57 -07:00
imports: fix renamed sibling imports
Fix some logic errors around renamed sibling imports. The one in findMissingImport was just a silly mistake, the one in addCandidate was because I hadn't thought about renamed imports. Change-Id: Iecd0b4e6151bff7b8cb6ad21065f017fb1245bfd Reviewed-on: https://go-review.googlesource.com/c/153440 Run-TryBot: Heschi Kreinick <heschi@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
feaab9440b
commit
6a3e9aa2ab
@ -200,10 +200,7 @@ func (p *pass) findMissingImport(pkg string, syms map[string]bool) *importInfo {
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
if candidate.name != "" && candidate.name != pkg {
|
||||
continue
|
||||
}
|
||||
if pkgInfo.name != pkg {
|
||||
if candidate.name != pkg && pkgInfo.name != pkg {
|
||||
continue
|
||||
}
|
||||
|
||||
@ -377,7 +374,7 @@ func (p *pass) assumeSiblingImportsValid() {
|
||||
if imp, ok := importsByName[left]; ok {
|
||||
if _, ok := stdlib[imp.importPath]; ok {
|
||||
// We have the stdlib in memory; no need to guess.
|
||||
continue
|
||||
rights = stdlib[imp.importPath]
|
||||
}
|
||||
p.addCandidate(imp, &packageInfo{
|
||||
// no name; we already know it.
|
||||
|
@ -1918,10 +1918,12 @@ func TestSiblingImports(t *testing.T) {
|
||||
|
||||
import "local/log"
|
||||
import "my/bytes"
|
||||
import renamed "fmt"
|
||||
|
||||
func LogSomething() {
|
||||
log.Print("Something")
|
||||
bytes.SomeFunc()
|
||||
renamed.Println("Something")
|
||||
}
|
||||
`
|
||||
|
||||
@ -1932,6 +1934,7 @@ var _ = bytes.Buffer{}
|
||||
|
||||
func LogSomethingElse() {
|
||||
log.Print("Something else")
|
||||
renamed.Println("Yet another")
|
||||
}
|
||||
`
|
||||
|
||||
@ -1940,6 +1943,7 @@ func LogSomethingElse() {
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
renamed "fmt"
|
||||
"local/log"
|
||||
)
|
||||
|
||||
@ -1947,6 +1951,7 @@ var _ = bytes.Buffer{}
|
||||
|
||||
func LogSomethingElse() {
|
||||
log.Print("Something else")
|
||||
renamed.Println("Yet another")
|
||||
}
|
||||
`
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user