xref: /aosp_15_r20/external/guava/proguard/concurrent.pro (revision fb5080426417cab6bd44d0ed3f37e47d42859579)
1*fb508042SAndroid Build Coastguard Worker# Futures.getChecked, in both of its variants, is incompatible with proguard.
2*fb508042SAndroid Build Coastguard Worker
3*fb508042SAndroid Build Coastguard Worker# Used by AtomicReferenceFieldUpdater and sun.misc.Unsafe
4*fb508042SAndroid Build Coastguard Worker-keepclassmembers class com.google.common.util.concurrent.AbstractFuture** {
5*fb508042SAndroid Build Coastguard Worker  *** waiters;
6*fb508042SAndroid Build Coastguard Worker  *** value;
7*fb508042SAndroid Build Coastguard Worker  *** listeners;
8*fb508042SAndroid Build Coastguard Worker  *** thread;
9*fb508042SAndroid Build Coastguard Worker  *** next;
10*fb508042SAndroid Build Coastguard Worker}
11*fb508042SAndroid Build Coastguard Worker-keepclassmembers class com.google.common.util.concurrent.AtomicDouble {
12*fb508042SAndroid Build Coastguard Worker  *** value;
13*fb508042SAndroid Build Coastguard Worker}
14*fb508042SAndroid Build Coastguard Worker-keepclassmembers class com.google.common.util.concurrent.AggregateFutureState {
15*fb508042SAndroid Build Coastguard Worker  *** remaining;
16*fb508042SAndroid Build Coastguard Worker  *** seenExceptions;
17*fb508042SAndroid Build Coastguard Worker}
18*fb508042SAndroid Build Coastguard Worker
19*fb508042SAndroid Build Coastguard Worker# Since Unsafe is using the field offsets of these inner classes, we don't want
20*fb508042SAndroid Build Coastguard Worker# to have class merging or similar tricks applied to these classes and their
21*fb508042SAndroid Build Coastguard Worker# fields. It's safe to allow obfuscation, since the by-name references are
22*fb508042SAndroid Build Coastguard Worker# already preserved in the -keep statement above.
23*fb508042SAndroid Build Coastguard Worker-keep,allowshrinking,allowobfuscation class com.google.common.util.concurrent.AbstractFuture** {
24*fb508042SAndroid Build Coastguard Worker  <fields>;
25*fb508042SAndroid Build Coastguard Worker}
26*fb508042SAndroid Build Coastguard Worker
27*fb508042SAndroid Build Coastguard Worker# AbstractFuture uses this
28*fb508042SAndroid Build Coastguard Worker-dontwarn sun.misc.Unsafe
29*fb508042SAndroid Build Coastguard Worker
30*fb508042SAndroid Build Coastguard Worker# MoreExecutors references AppEngine
31*fb508042SAndroid Build Coastguard Worker-dontnote com.google.appengine.api.ThreadManager
32*fb508042SAndroid Build Coastguard Worker-keep class com.google.appengine.api.ThreadManager {
33*fb508042SAndroid Build Coastguard Worker  static *** currentRequestThreadFactory(...);
34*fb508042SAndroid Build Coastguard Worker}
35*fb508042SAndroid Build Coastguard Worker-dontnote com.google.apphosting.api.ApiProxy
36*fb508042SAndroid Build Coastguard Worker-keep class com.google.apphosting.api.ApiProxy {
37*fb508042SAndroid Build Coastguard Worker  static *** getCurrentEnvironment (...);
38*fb508042SAndroid Build Coastguard Worker}
39*fb508042SAndroid Build Coastguard Worker
40*fb508042SAndroid Build Coastguard Worker-dontwarn java.lang.SafeVarargs
41