mirror of
https://github.com/fankes/moshi.git
synced 2025-10-19 16:09:21 +08:00
Fix mask count in proguard rule gen (#1075)
* Fix mask count in proguard rule generation Signed, Person that always forgets how to do modulo counting * Update tests
This commit is contained in:
@@ -85,7 +85,11 @@ internal data class ProguardConfig(
|
|||||||
appendln("-if class $targetName")
|
appendln("-if class $targetName")
|
||||||
appendln("-keepclassmembers class ${targetClass.canonicalName} {")
|
appendln("-keepclassmembers class ${targetClass.canonicalName} {")
|
||||||
val allParams = targetConstructorParams.toMutableList()
|
val allParams = targetConstructorParams.toMutableList()
|
||||||
val maskCount = (targetConstructorParams.size % 32) + 1
|
val maskCount = if (targetConstructorParams.isEmpty()) {
|
||||||
|
0
|
||||||
|
} else {
|
||||||
|
(targetConstructorParams.size + 31) / 32
|
||||||
|
}
|
||||||
repeat(maskCount) {
|
repeat(maskCount) {
|
||||||
allParams += "int"
|
allParams += "int"
|
||||||
}
|
}
|
||||||
|
@@ -565,7 +565,7 @@ class JsonClassCodegenProcessorTest {
|
|||||||
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
|
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
|
||||||
-if class testPackage.DefaultParams
|
-if class testPackage.DefaultParams
|
||||||
-keepclassmembers class testPackage.DefaultParams {
|
-keepclassmembers class testPackage.DefaultParams {
|
||||||
public synthetic <init>(java.lang.String,int,int,kotlin.jvm.internal.DefaultConstructorMarker);
|
public synthetic <init>(java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker);
|
||||||
}
|
}
|
||||||
""".trimIndent())
|
""".trimIndent())
|
||||||
|
|
||||||
@@ -583,7 +583,7 @@ class JsonClassCodegenProcessorTest {
|
|||||||
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
|
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
|
||||||
-if class testPackage.Complex
|
-if class testPackage.Complex
|
||||||
-keepclassmembers class testPackage.Complex {
|
-keepclassmembers class testPackage.Complex {
|
||||||
public synthetic <init>(java.lang.String,java.util.List,java.lang.Object,int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker);
|
public synthetic <init>(java.lang.String,java.util.List,java.lang.Object,int,kotlin.jvm.internal.DefaultConstructorMarker);
|
||||||
}
|
}
|
||||||
""".trimIndent())
|
""".trimIndent())
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user