Android Gradle, как изменить тип переменной или аргумента в файле java - PullRequest
0 голосов
/ 30 января 2020

Как я могу создать задачу Gradle, чтобы создать копию моего java исходного кода, а затем найти определенные c классы и изменить их.

пример : я хочу чтобы изменить все переменные, методы возвращают аргументы типа и методы типа com.a.* на java.lang.Object, а затем, если возможно, закомментируйте все строки кода, в которых есть вызов метода Object (например: java .lang.Object.methodName () ).

оригинальный файл:

public final class MyClass {

    private com.a.ClassA varA_A;
    private com.a.ClassB varA_B;
    private com.b.ClassA varB_A;

    public Something(com.a.ClassA paramA_A, com.b.ClassA paramB_A, com.a.ClassB paramA_B) {
        //construct
    }

    public static final com.a.ClassB getInstance(com.a.ClassC paramA_C, com.b.ClassA paramB_A) {
        Object temp = null;
        if (1 == 1) {
            temp = com.a.ClassA.method(paramA_C);
        } else {
            temp = com.b.ClassB.method(paramA_C);
        }
        return (com.a.ClassB) temp;
    }

}


файл, который будет сгенерирован, должен выглядеть следующим образом:

public final class MyClass {

    private java.lang.Object varA_A;
    private java.lang.Object varA_B;
    private com.b.ClassA varB_A;

    public Something(java.lang.Object paramA_A, com.b.ClassA paramB_A, java.lang.Object paramA_B) {
        //construct
    }

    public static final java.lang.Object getInstance(java.lang.Object paramA_C, com.b.ClassA paramB_A) {
        Object temp = null;
        if (1 == 1) {
            temp = java.lang.Object.method(paramA_C);
        } else {
            temp = com.b.ClassB.method(paramA_C);
        }
        return (java.lang.Object) temp;
    }

}

...