未验证 提交 ead706b8 编写于 作者: P Phodal Huang

feat: try to rename files

上级 e78c0c2d
polymorphism.Overload.demo -> polymorphism.Overload.demoA
polymorphism.Overload.demoA -> polymorphism.Overload.demo
......@@ -5,7 +5,7 @@ import java.util.Optional;
import java.util.UUID;
public class Overload {
void demo(int a) {
void demoA(int a) {
System.out.println("a: " + a);
}
}
package cmd
import (
"encoding/json"
"github.com/phodal/coca/config"
. "github.com/phodal/coca/core/domain/refactor/move_class"
. "github.com/phodal/coca/core/domain/refactor/rename"
. "github.com/phodal/coca/core/domain/refactor/unused"
"github.com/phodal/coca/core/support"
"github.com/spf13/cobra"
)
......@@ -28,7 +30,15 @@ var refactorCmd = &cobra.Command{
}
if dependence != "" && rename != "" {
renameApp := RenameMethodApp(dependence, rename)
file := support.ReadFile(dependence)
if file == nil {
return
}
_ = json.Unmarshal(file, &parsedDeps)
renameApp := RenameMethodApp(parsedDeps, rename)
renameApp.Start()
}
},
......
package unused
import (
"encoding/json"
support3 "github.com/phodal/coca/core/domain/refactor/rename/support"
. "github.com/phodal/coca/core/models"
"github.com/phodal/coca/core/support"
......@@ -15,25 +14,17 @@ var parsedChange []support3.RefactorChangeRelate
type RemoveMethodApp struct {
}
var depsFile string
var configPath string
var conf string
var parsedDeps []JClassNode
func RenameMethodApp(dep string, p string) *RemoveMethodApp {
depsFile = dep
func RenameMethodApp(deps []JClassNode, p string) *RemoveMethodApp {
parsedDeps = deps
configPath = p
return &RemoveMethodApp{}
}
func (j *RemoveMethodApp) Start() {
file := support.ReadFile(depsFile)
if file == nil {
return
}
_ = json.Unmarshal(file, &parsedDeps)
configBytes := support.ReadFile(configPath)
if configBytes == nil {
return
......
package unused
import (
. "github.com/onsi/gomega"
"github.com/phodal/coca/core/adapter/call"
"github.com/phodal/coca/core/adapter/identifier"
"sync"
"testing"
)
func TestRenameMethodApp(t *testing.T) {
g := NewGomegaWithT(t)
var wg sync.WaitGroup
codePath := "../../../../_fixtures/refactor/unused"
configPath := "../../../../_fixtures/refactor/rename.config"
identifierApp := new(identifier.JavaIdentifierApp)
identifiers := identifierApp.AnalysisPath(codePath)
var classes []string = nil
for _, node := range identifiers {
classes = append(classes, node.Package+"."+node.ClassName)
}
wg.Add(1)
callApp := call.NewJavaCallApp()
callNodes := callApp.AnalysisPath(codePath, classes, identifiers)
wg.Add(1)
go func() {
RenameMethodApp(callNodes, configPath).Start()
defer wg.Done()
newnodes := callApp.AnalysisPath(codePath, classes, identifiers)
g.Expect(newnodes[0].Methods[0].Name).To(Equal("demoA"))
}()
wg.Add(1)
go func() {
wg.Wait()
configPath2 := "../../../../_fixtures/refactor/rename_back.config"
RenameMethodApp(callNodes, configPath2).Start()
defer wg.Done()
renameBackNodes := callApp.AnalysisPath(codePath, classes, identifiers)
g.Expect(renameBackNodes[0].Methods[0].Name).To(Equal("demo"))
wg.Wait()
}()
}
......@@ -22,7 +22,9 @@ func ParseRelates(str string) []RefactorChangeRelate {
lines := strings.Split(str, "\n")
for _, line := range lines {
related := parseRelated(line)
relates = append(relates, *related)
if related != nil {
relates = append(relates, *related)
}
}
return relates
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册