feat: option to disable inner classes move to parent (#1817)
This commit is contained in:
@@ -36,7 +36,8 @@ public final class ClassSearchProvider extends BaseSearchProvider {
|
||||
ClassInfo clsInfo = cls.getClassNode().getClassInfo();
|
||||
return isMatch(clsInfo.getShortName())
|
||||
|| isMatch(clsInfo.getFullName())
|
||||
|| isMatch(clsInfo.getAliasFullName());
|
||||
|| isMatch(clsInfo.getAliasFullName())
|
||||
|| isMatch(clsInfo.getRawName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
package jadx.gui.settings;
|
||||
|
||||
import java.awt.Font;
|
||||
import java.awt.GraphicsDevice;
|
||||
import java.awt.GraphicsEnvironment;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.Window;
|
||||
import java.awt.*;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
@@ -17,7 +13,7 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.*;
|
||||
|
||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -410,6 +406,10 @@ public class JadxSettings extends JadxCLIArgs {
|
||||
this.inlineMethods = inlineMethods;
|
||||
}
|
||||
|
||||
public void setMoveInnerClasses(boolean moveInnerClasses) {
|
||||
this.moveInnerClasses = moveInnerClasses;
|
||||
}
|
||||
|
||||
public void setAllowInlineKotlinLambda(boolean allowInlineKotlinLambda) {
|
||||
this.allowInlineKotlinLambda = allowInlineKotlinLambda;
|
||||
}
|
||||
|
||||
@@ -559,6 +559,13 @@ public class JadxSettingsWindow extends JDialog {
|
||||
needReload();
|
||||
});
|
||||
|
||||
JCheckBox moveInnerClasses = new JCheckBox();
|
||||
moveInnerClasses.setSelected(settings.isMoveInnerClasses());
|
||||
moveInnerClasses.addItemListener(e -> {
|
||||
settings.setMoveInnerClasses(e.getStateChange() == ItemEvent.SELECTED);
|
||||
needReload();
|
||||
});
|
||||
|
||||
JCheckBox extractFinally = new JCheckBox();
|
||||
extractFinally.setSelected(settings.isExtractFinally());
|
||||
extractFinally.addItemListener(e -> {
|
||||
@@ -602,8 +609,9 @@ public class JadxSettingsWindow extends JDialog {
|
||||
other.addRow(NLS.str("preferences.useImports"), useImports);
|
||||
other.addRow(NLS.str("preferences.useDebugInfo"), useDebugInfo);
|
||||
other.addRow(NLS.str("preferences.inlineAnonymous"), inlineAnonymous);
|
||||
other.addRow(NLS.str("preferences.inlineMethods"), inlineMethods);
|
||||
other.addRow(NLS.str("preferences.inlineMethods"), moveInnerClasses);
|
||||
other.addRow(NLS.str("preferences.inlineKotlinLambdas"), inlineKotlinLambdas);
|
||||
other.addRow(NLS.str("preferences.moveInnerClasses"), moveInnerClasses);
|
||||
other.addRow(NLS.str("preferences.extractFinally"), extractFinally);
|
||||
other.addRow(NLS.str("preferences.fsCaseSensitive"), fsCaseSensitive);
|
||||
other.addRow(NLS.str("preferences.useDx"), useDx);
|
||||
|
||||
@@ -178,6 +178,7 @@ preferences.useDebugInfo=Debug-Infos verwenden
|
||||
preferences.inlineAnonymous=Anonyme Inline-Klassen
|
||||
preferences.inlineMethods=Inline-Methoden
|
||||
#preferences.inlineKotlinLambdas=Allow to inline Kotlin Lambdas
|
||||
#preferences.moveInnerClasses=Move inner classes into parent
|
||||
#preferences.extractFinally=Extract finally block
|
||||
preferences.fsCaseSensitive=Dateisystem unterscheidet zwischen Groß/Kleinschreibung
|
||||
preferences.skipResourcesDecode=Keine Ressourcen dekodieren
|
||||
|
||||
@@ -178,6 +178,7 @@ preferences.useDebugInfo=Use debug info
|
||||
preferences.inlineAnonymous=Inline anonymous classes
|
||||
preferences.inlineMethods=Inline methods
|
||||
preferences.inlineKotlinLambdas=Allow to inline Kotlin Lambdas
|
||||
preferences.moveInnerClasses=Move inner classes into parent
|
||||
preferences.extractFinally=Extract finally block
|
||||
preferences.fsCaseSensitive=File system is case-sensitive
|
||||
preferences.skipResourcesDecode=Don't decode resources
|
||||
|
||||
@@ -178,6 +178,7 @@ preferences.replaceConsts=Reemplazar constantes
|
||||
#preferences.inlineAnonymous=
|
||||
#preferences.inlineMethods=Inline methods
|
||||
#preferences.inlineKotlinLambdas=Allow to inline Kotlin Lambdas
|
||||
#preferences.moveInnerClasses=Move inner classes into parent
|
||||
#preferences.extractFinally=Extract finally block
|
||||
#preferences.fsCaseSensitive=
|
||||
preferences.skipResourcesDecode=No descodificar recursos
|
||||
|
||||
@@ -178,6 +178,7 @@ preferences.useDebugInfo=디버그 정보 사용
|
||||
preferences.inlineAnonymous=인라인 익명 클래스
|
||||
preferences.inlineMethods=인라인 메서드
|
||||
#preferences.inlineKotlinLambdas=Allow to inline Kotlin Lambdas
|
||||
#preferences.moveInnerClasses=Move inner classes into parent
|
||||
preferences.extractFinally=finally 블록 추출
|
||||
preferences.fsCaseSensitive=파일 시스템 대소문자 구별
|
||||
preferences.skipResourcesDecode=리소스 디코딩 하지 않기
|
||||
|
||||
@@ -178,6 +178,7 @@ preferences.useDebugInfo=Utilizar informação de depuração
|
||||
preferences.inlineAnonymous=Classes anônimas de uma linha
|
||||
preferences.inlineMethods=Métodos de uma linha
|
||||
#preferences.inlineKotlinLambdas=Allow to inline Kotlin Lambdas
|
||||
#preferences.moveInnerClasses=Move inner classes into parent
|
||||
preferences.extractFinally=Extrair blocos finally
|
||||
preferences.fsCaseSensitive=Sistema de arquivo diferencia maiúsculas de minúsculas
|
||||
preferences.skipResourcesDecode=Não decodificar recursos
|
||||
|
||||
@@ -178,6 +178,7 @@ preferences.useDebugInfo=Отладочная информация
|
||||
preferences.inlineAnonymous=Объединять анонимные классы
|
||||
preferences.inlineMethods=Объединять методы
|
||||
#preferences.inlineKotlinLambdas=Allow to inline Kotlin Lambdas
|
||||
#preferences.moveInnerClasses=Move inner classes into parent
|
||||
preferences.extractFinally=Вычленять finally блоки
|
||||
preferences.fsCaseSensitive=Учитывать регистр в файловой системе
|
||||
preferences.skipResourcesDecode=Не декодировать ресурсы
|
||||
|
||||
@@ -178,6 +178,7 @@ preferences.useDebugInfo=启用调试信息
|
||||
preferences.inlineAnonymous=内联匿名类
|
||||
preferences.inlineMethods=内联方法
|
||||
preferences.inlineKotlinLambdas=允许内联Kotlin Lambda
|
||||
#preferences.moveInnerClasses=Move inner classes into parent
|
||||
preferences.extractFinally=提取finally块
|
||||
preferences.fsCaseSensitive=文件系统区分大小写
|
||||
preferences.skipResourcesDecode=不反编译资源文件
|
||||
|
||||
@@ -178,6 +178,7 @@ preferences.useDebugInfo=使用除錯資訊
|
||||
preferences.inlineAnonymous=內嵌匿名類別
|
||||
preferences.inlineMethods=內嵌方式
|
||||
#preferences.inlineKotlinLambdas=Allow to inline Kotlin Lambdas
|
||||
#preferences.moveInnerClasses=Move inner classes into parent
|
||||
preferences.extractFinally=擷取 finally 區塊
|
||||
preferences.fsCaseSensitive=檔案系統區分大小寫
|
||||
preferences.skipResourcesDecode=不要為資源解碼
|
||||
|
||||
Reference in New Issue
Block a user