func objsMatch(pkg *grinder.Package, fn *ast.FuncDecl, pos token.Pos, objs []types.Object, start, end token.Pos) bool { for _, obj := range objs { if start < obj.Pos() && obj.Pos() < end { // declaration is in code being moved return true } if pkg.LookupAtPos(fn, pos, obj.Name()) != obj { if debug { println("OBJ MISMATCH", obj.Name(), pkg.LookupAtPos(fn, pos, obj.Name()), obj) } return false } } return true }