我有以下功能-
void called(PassedObj obP){
A obA = new A(pOb);
B obB = new B(obA);
obB.randomFunc();
...
}
void caller(){
PassedObj obP= new PassedObj();
called(obP);
}
使用Eclipse JDT,是否可以自动找出obB的所有依赖项并将它们自动移动到调用者函数?
我想重构这些函数,使其看起来像 -
void called(B obB){
obB.randomFunc();
...
}
void caller(){
PassedObj obP= new PassedObj();
A obA = new A(obP);
B obB = new B(obA);
called(objB);
}
一般来说,是否可以将一条语句移动到另一个函数,以便该语句的所有依赖项也被移动(复制)到新位置?
最佳答案
不,但好消息是,您可以使用 JDT 实现您想要的目标,尽管与您所要求的不同。
这里您应该提取方法叫(B)
:
void called(PassedObj obP){
A obA = new A(pOb);
B obB = new B(obA);
called(obB);
}
void called(B obB){
obB.randomFunc();
...
}
void caller(){
PassedObj obP= new PassedObj();
called(obP);
}
然后内联方法叫(PassedObj)
:
void called(B obB){
obB.randomFunc();
...
}
void caller(){
PassedObj obP= new PassedObj();
A obA = new A(pOb);
B obB = new B(obA);
called(obB);
}
关于java - Eclipse JDT : How do I auto-move dependencies of a statement as well, 同时移动语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40785294/