在eclipse中重构时引用被调用者

时间:2012-04-12 09:59:58

标签: eclipse refactoring

让我们有这样的方法:

public int a() {
   return 1 + b();
}

是否可以在表达式b()上的eclipse中应用“Introduce parameter”重构,以便调用者实际调用被调用者的方法b?像这样:

o.a()         // old
o.a( o.b() )  // new

当我这样做时,它基本上将字符串“b()”复制并粘贴到无法理解原因的调用中,因为此方法在被调用者上,而不是调用者。但也许你知道一个技巧?

或者,是否可以使用“更改方法签名”重构并使用引用被调用者的默认值中的表达式?这样我就可以在a()上创建一个新参数,让它的默认值为${this}.b()

1 个答案:

答案 0 :(得分:2)

你可以间接地做到这一点:

  1. o.a()(称之为a_tmp
  2. 上介绍间接
  3. a_tmpreturn o.a()
  4. 重构return o.a(o.b())
  5. 内联a_tmp