| This test exercises renaming of interface methods. |
| |
| The golden is currently wrong due to https://github.com/golang/go/issues/58506: |
| the reference to B.F in package b should be renamed too. |
| |
| -- go.mod -- |
| module example.com |
| go 1.12 |
| |
| -- a/a.go -- |
| package a |
| |
| type A int |
| |
| func (A) F() {} //@renameerr("F", "G", errAfToG) |
| |
| -- b/b.go -- |
| package b |
| |
| import "example.com/a" |
| import "example.com/c" |
| |
| type B interface { F() } //@rename("F", "G", BfToG) |
| |
| var _ B = a.A(0) |
| var _ B = c.C(0) |
| |
| -- c/c.go -- |
| package c |
| |
| type C int |
| |
| func (C) F() {} //@renameerr("F", "G", errCfToG) |
| |
| -- d/d.go -- |
| package d |
| |
| import "example.com/b" |
| |
| var _ = b.B.F |
| |
| -- @errAfToG -- |
| a/a.go:5:10: renaming this method "F" to "G" |
| b/b.go:6:6: would make example.com/a.A no longer assignable to interface B |
| b/b.go:6:20: (rename example.com/b.B.F if you intend to change both types) |
| -- @BfToG/b/b.go -- |
| @@ -6 +6 @@ |
| -type B interface { F() } //@rename("F", "G", BfToG) |
| +type B interface { G() } //@rename("F", "G", BfToG) |
| -- @BfToG/d/d.go -- |
| @@ -5 +5 @@ |
| -var _ = b.B.F |
| +var _ = b.B.G |
| -- @errCfToG -- |
| c/c.go:5:10: renaming this method "F" to "G" |
| b/b.go:6:6: would make example.com/c.C no longer assignable to interface B |
| b/b.go:6:20: (rename example.com/b.B.F if you intend to change both types) |