fix: better package-info support (PR #2369)

* fix: better package-info support

* fix: adjust checks for package-info
This commit is contained in:
nitram84
2024-12-18 23:33:48 +01:00
committed by GitHub
parent 87844d2193
commit ff95b9e999
3 changed files with 5 additions and 3 deletions
@@ -175,9 +175,7 @@ public class ClassNode extends NotificationAttrNode
}
private static void processSpecialClasses(ClassNode cls) {
AccessInfo flags = cls.getAccessFlags();
if (flags.isSynthetic() && flags.isInterface() && flags.isAbstract()
&& cls.getName().equals("package-info")) {
if (cls.getName().equals("package-info") && cls.getFields().isEmpty() && cls.getMethods().isEmpty()) {
cls.add(AFlag.PACKAGE_INFO);
cls.add(AFlag.DONT_RENAME);
}
@@ -28,5 +28,7 @@ public class TestPackageInfoSupport extends SmaliTest {
"package special.pkg2;",
"",
"import org.jetbrains.annotations.ApiStatus;");
assertThat(searchCls(classes, "special.pkg3.package-info"))
.code().isEqualTo("\npackage special.pkg3;\n");
}
}
@@ -0,0 +1,2 @@
.class interface Lspecial/pkg3/package-info;
.super Ljava/lang/Object;