| This test exercises some renaming conflict scenarios |
| and ensures that the errors are informative. |
| |
| -- go.mod -- |
| module example.com |
| go 1.12 |
| |
| -- super/p.go -- |
| package super |
| |
| var x int |
| |
| func f(y int) { |
| println(x) |
| println(y) //@renameerr("y", "x", errSuperBlockConflict) |
| } |
| |
| -- @errSuperBlockConflict -- |
| super/p.go:5:8: renaming this var "y" to "x" |
| super/p.go:6:10: would shadow this reference |
| super/p.go:3:5: to the var declared here |
| -- sub/p.go -- |
| package sub |
| |
| var a int |
| |
| func f2(b int) { |
| println(a) //@renameerr("a", "b", errSubBlockConflict) |
| println(b) |
| } |
| |
| -- @errSubBlockConflict -- |
| sub/p.go:3:5: renaming this var "a" to "b" |
| sub/p.go:6:10: would cause this reference to become shadowed |
| sub/p.go:5:9: by this intervening var definition |
| -- pkgname/p.go -- |
| package pkgname |
| |
| import e1 "errors" //@renameerr("e1", "errors", errImportConflict) |
| import "errors" |
| |
| var _ = errors.New |
| var _ = e1.New |
| |
| -- @errImportConflict -- |
| pkgname/p.go:3:8: renaming this imported package name "e1" to "errors" |
| pkgname/p.go:4:8: conflicts with imported package name in same block |
| -- pkgname2/p1.go -- |
| package pkgname2 |
| var x int |
| |
| -- pkgname2/p2.go -- |
| package pkgname2 |
| import "errors" //@renameerr("errors", "x", errImportConflict2) |
| var _ = errors.New |
| |
| -- @errImportConflict2 -- |
| pkgname2/p2.go:2:8: renaming this imported package name "errors" to "x" would conflict |
| pkgname2/p1.go:2:5: with this package member var |