fix: better package-info support (PR #2369)
* fix: better package-info support * fix: adjust checks for package-info
This commit is contained in:
@@ -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;
|
||||
Reference in New Issue
Block a user