Skip to content

Commit cf54644

Browse files
katexochenvikstrous
authored andcommitted
Stop renaming fields
1 parent a7bec1d commit cf54644

11 files changed

Lines changed: 66 additions & 7 deletions

File tree

internal/mvpkg/mvpkg.go

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -199,12 +199,25 @@ func (p *pkgMover) fixImportsInFile(fset *token.FileSet, src, dst, filename stri
199199
ast.SortImports(fset, astFile)
200200

201201
newFile := astutil.Apply(astFile, func(c *astutil.Cursor) bool {
202-
n, ok := c.Node().(*ast.Ident)
203-
if ok && n.Name == renameFrom && n.Obj == nil {
204-
c.Replace(&ast.Ident{
205-
NamePos: n.NamePos,
206-
Name: renameTo,
207-
})
202+
selExpr, ok := c.Node().(*ast.SelectorExpr)
203+
if !ok {
204+
return true
205+
}
206+
207+
ident, ok := selExpr.X.(*ast.Ident)
208+
if !ok {
209+
return true
210+
}
211+
212+
if ident.Name == renameFrom && ident.Obj == nil {
213+
c.Replace(
214+
&ast.SelectorExpr{
215+
Sel: selExpr.Sel,
216+
X: &ast.Ident{
217+
NamePos: selExpr.Sel.NamePos,
218+
Name: renameTo,
219+
},
220+
})
208221
}
209222

210223
return true

internal/mvpkg/tests/01_trivial/testInfo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
"source": "./source/target",
44
"destination": "./destination/target",
55
"build_flags": []
6-
}
6+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package target
2+
3+
type Foo struct{}
4+
5+
func (f Foo) Hello() {}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module example.com
2+
3+
go 1.13
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package depender
2+
3+
import "example.com/destination/target"
4+
5+
type Bar struct {
6+
target target.Foo
7+
}
8+
9+
func (b *Bar) Foo() target.Foo {
10+
b.target.Hello()
11+
return target.Foo{}
12+
}

internal/mvpkg/tests/02_issue_46/expected/source/target/.gitkeep

Whitespace-only changes.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module example.com
2+
3+
go 1.13
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package depender
2+
3+
import "example.com/source/target"
4+
5+
type Bar struct {
6+
target target.Foo
7+
}
8+
9+
func (b *Bar) Foo() target.Foo {
10+
b.target.Hello()
11+
return target.Foo{}
12+
}

internal/mvpkg/tests/02_issue_46/original/source/target/.gitkeep

Whitespace-only changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package target
2+
3+
type Foo struct{}
4+
5+
func (f Foo) Hello() {}

0 commit comments

Comments
 (0)