Commit cee0a520 authored by Sam Maier's avatar Sam Maier Committed by Commit Bot

proguard: @DoNotInline and @VerifiesOn methods kept only if used

This also fixes a mistake I made in a previous CL where I was not
keeping any methods annotated by @DoNotInline.

Bug: 1094569
Change-Id: Ic6d6c5771764a8faf9d387e677423c0cd43a2091
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2249723Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Commit-Queue: Sam Maier <smaier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#780804}
parent 61e539e9
...@@ -76,6 +76,9 @@ ...@@ -76,6 +76,9 @@
-keep,allowobfuscation class <1> { -keep,allowobfuscation class <1> {
*** <2>(...); *** <2>(...);
} }
-keepclassmembers,allowobfuscation class * {
@org.chromium.base.annotations.DoNotInline <methods>;
}
# Keep all CREATOR fields within Parcelable that are kept. # Keep all CREATOR fields within Parcelable that are kept.
-keepclassmembers class org.chromium.** implements android.os.Parcelable { -keepclassmembers class org.chromium.** implements android.os.Parcelable {
......
...@@ -479,7 +479,7 @@ def _CreateDynamicConfig(options): ...@@ -479,7 +479,7 @@ def _CreateDynamicConfig(options):
*** <2>(...); *** <2>(...);
}""" % annotation_name) }""" % annotation_name)
ret.append("""\ ret.append("""\
-keepclassmembers,allowobfuscation,allowoptimization class ** { -keepclassmembers,allowobfuscation class ** {
@%s <methods>; @%s <methods>;
}""" % annotation_name) }""" % annotation_name)
return '\n'.join(ret) return '\n'.join(ret)
......
...@@ -258,6 +258,9 @@ ...@@ -258,6 +258,9 @@
-keep,allowobfuscation class <1> { -keep,allowobfuscation class <1> {
*** <2>(...); *** <2>(...);
} }
-keepclassmembers,allowobfuscation class * {
@org.chromium.base.annotations.DoNotInline <methods>;
}
# Keep all CREATOR fields within Parcelable that are kept. # Keep all CREATOR fields within Parcelable that are kept.
-keepclassmembers class org.chromium.** implements android.os.Parcelable { -keepclassmembers class org.chromium.** implements android.os.Parcelable {
...@@ -811,7 +814,7 @@ ...@@ -811,7 +814,7 @@
-keep,allowobfuscation class <1> { -keep,allowobfuscation class <1> {
*** <2>(...); *** <2>(...);
} }
-keepclassmembers,allowobfuscation,allowoptimization class ** { -keepclassmembers,allowobfuscation class ** {
@org.chromium.base.annotations.VerifiesOnNMR1 <methods>; @org.chromium.base.annotations.VerifiesOnNMR1 <methods>;
} }
-keep @interface org.chromium.base.annotations.VerifiesOnO -keep @interface org.chromium.base.annotations.VerifiesOnO
...@@ -821,7 +824,7 @@ ...@@ -821,7 +824,7 @@
-keep,allowobfuscation class <1> { -keep,allowobfuscation class <1> {
*** <2>(...); *** <2>(...);
} }
-keepclassmembers,allowobfuscation,allowoptimization class ** { -keepclassmembers,allowobfuscation class ** {
@org.chromium.base.annotations.VerifiesOnO <methods>; @org.chromium.base.annotations.VerifiesOnO <methods>;
} }
-keep @interface org.chromium.base.annotations.VerifiesOnOMR1 -keep @interface org.chromium.base.annotations.VerifiesOnOMR1
...@@ -831,7 +834,7 @@ ...@@ -831,7 +834,7 @@
-keep,allowobfuscation class <1> { -keep,allowobfuscation class <1> {
*** <2>(...); *** <2>(...);
} }
-keepclassmembers,allowobfuscation,allowoptimization class ** { -keepclassmembers,allowobfuscation class ** {
@org.chromium.base.annotations.VerifiesOnOMR1 <methods>; @org.chromium.base.annotations.VerifiesOnOMR1 <methods>;
} }
-keep @interface org.chromium.base.annotations.VerifiesOnP -keep @interface org.chromium.base.annotations.VerifiesOnP
...@@ -841,7 +844,7 @@ ...@@ -841,7 +844,7 @@
-keep,allowobfuscation class <1> { -keep,allowobfuscation class <1> {
*** <2>(...); *** <2>(...);
} }
-keepclassmembers,allowobfuscation,allowoptimization class ** { -keepclassmembers,allowobfuscation class ** {
@org.chromium.base.annotations.VerifiesOnP <methods>; @org.chromium.base.annotations.VerifiesOnP <methods>;
} }
-keep @interface org.chromium.base.annotations.VerifiesOnQ -keep @interface org.chromium.base.annotations.VerifiesOnQ
...@@ -851,6 +854,6 @@ ...@@ -851,6 +854,6 @@
-keep,allowobfuscation class <1> { -keep,allowobfuscation class <1> {
*** <2>(...); *** <2>(...);
} }
-keepclassmembers,allowobfuscation,allowoptimization class ** { -keepclassmembers,allowobfuscation class ** {
@org.chromium.base.annotations.VerifiesOnQ <methods>; @org.chromium.base.annotations.VerifiesOnQ <methods>;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment