diff --git a/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java b/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java index d127e36b7..8df8fca43 100644 --- a/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java +++ b/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java @@ -79,7 +79,7 @@ public final class ClassInfo implements Comparable { public void changePkg(String aliasPkg) { if (isInner()) { - throw new JadxRuntimeException("Can't change package for inner class"); + throw new JadxRuntimeException("Can't change package for inner class: " + this); } if (!Objects.equals(getAliasPkg(), aliasPkg)) { ClassAliasInfo newAlias = new ClassAliasInfo(aliasPkg, getAliasShortName()); diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java b/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java index 501372bf8..e4294eaef 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java @@ -582,7 +582,7 @@ public class ClassNode extends NotificationAttrNode clsInfo.changeShortName(newName); return; } - if (isInner()) { + if (clsInfo.isInner()) { addWarn("Can't change package for inner class: " + this + " to " + newName); return; } @@ -598,7 +598,7 @@ public class ClassNode extends NotificationAttrNode private boolean changeClassNodePackage(String fullPkg) { if (clsInfo.isInner()) { - throw new JadxRuntimeException("Can't change package for inner class"); + throw new JadxRuntimeException("Can't change package for inner class: " + clsInfo); } if (fullPkg.equals(clsInfo.getAliasPkg())) { return false; @@ -618,7 +618,7 @@ public class ClassNode extends NotificationAttrNode @Override public void onParentPackageUpdate(PackageNode updatedPkg) { - if (isInner()) { + if (clsInfo.isInner()) { return; } clsInfo.changePkg(packageNode.getAliasPkgInfo().getFullName()); diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java b/jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java index 82dd40866..66eea3948 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/RootNode.java @@ -313,7 +313,7 @@ public class RootNode { } classes.forEach(ClassNode::updateParentClass); for (PackageNode pkg : packages) { - pkg.getClasses().removeIf(ClassNode::isInner); + pkg.getClasses().removeIf(cls -> cls.getClassInfo().isInner()); } }