将类型 A 的构造函数变量替换为类型 B,对于扩展 C 的 类

Replace constructor variables of type A with type B, for classes that extend C

我有大约 100 个这样的课程。

public class MyClass extends MyBaseClass {
    public MyClass(OldType variable, int var2, OldType v3) {
        //stuff

现在我想替换 类 中扩展 MyBaseClass 的 OldType 类型的所有 构造函数变量 具有相同的变量名,但类型为 NewType。 所以它看起来像这样:

public class MyClass extends MyBaseClass {
    public MyClass(NewType variable, int var2, NewType v3) {
        //stuff

变量的数量和名称会有所不同。

我已经使用 IDEA 找到所有使用结构替换扩展 MyBaseClass 的 类,但是我要从那里开始吗?

一种方法是使用两个搜索步骤。第一步:找到扩展MyBaseClass.

的类构造函数的参数
class $A$ extends $B$ {
    $A$($T$ $p$);
}

变量
B - Text/regexp:MyBaseClass,启用在类型层次结构中应用约束
p - 启用 此变量是搜索的目标,出现次数:1, unlimited

第二步:替换范围 Previous Search Results.

中正确类型的变量
OldType $a$

替换模板:

NewType $a$