BEGIN_PUBLIC
Migrate from soon-to-be-deprecated `propagateIfPossible` to equivalent `throwIfInstanceOf` and `throwIfUnchecked` calls.
END_PUBLIC

PiperOrigin-RevId: 613255415
Change-Id: I2653937ede09dce0f414ede99cf709ee9d6ae6cf
diff --git a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
index e13a338..bae75d9 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
@@ -13,6 +13,8 @@
 // limitations under the License.
 package com.google.devtools.build.lib.query2;
 
+import static com.google.common.base.Throwables.throwIfInstanceOf;
+import static com.google.common.base.Throwables.throwIfUnchecked;
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
 import static com.google.common.util.concurrent.Futures.immediateVoidFuture;
 import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
@@ -22,7 +24,6 @@
 import com.google.common.base.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.base.Predicates;
-import com.google.common.base.Throwables;
 import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableList;
@@ -444,8 +445,9 @@
           }
         }
 
-        Throwables.propagateIfPossible(
-            throwableToThrow, QueryException.class, InterruptedException.class);
+        throwIfInstanceOf(throwableToThrow, QueryException.class);
+        throwIfInstanceOf(throwableToThrow, InterruptedException.class);
+        throwIfUnchecked(throwableToThrow);
       }
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/TargetProviderForQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/runtime/TargetProviderForQueryEnvironment.java
index 65d8a16..1dc0986 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/TargetProviderForQueryEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/TargetProviderForQueryEnvironment.java
@@ -13,8 +13,10 @@
 // limitations under the License.
 package com.google.devtools.build.lib.runtime;
 
+import static com.google.common.base.Throwables.throwIfInstanceOf;
+import static com.google.common.base.Throwables.throwIfUnchecked;
+
 import com.google.common.base.Preconditions;
-import com.google.common.base.Throwables;
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.cmdline.PackageIdentifier;
 import com.google.devtools.build.lib.events.ExtendedEventHandler;
@@ -72,7 +74,8 @@
     if (exception != null) {
       // PackageFunction should be catching, swallowing, and rethrowing all transitive
       // errors as NoSuchPackageExceptions or constructing packages with errors.
-      Throwables.propagateIfPossible(exception, NoSuchPackageException.class);
+      throwIfInstanceOf(exception, NoSuchPackageException.class);
+      throwIfUnchecked(exception);
       throw new IllegalStateException("Unexpected Exception type from PackageValue for " + pkgId);
     }
     if (walkableGraph.isCycle(pkgId)) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
index 666202a..a800de8 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
@@ -13,6 +13,7 @@
 // limitations under the License.
 package com.google.devtools.build.lib.skyframe;
 
+import static com.google.common.base.Throwables.throwIfInstanceOf;
 import static com.google.common.util.concurrent.Futures.immediateCancelledFuture;
 import static com.google.common.util.concurrent.Futures.immediateFailedFuture;
 import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
@@ -212,7 +213,7 @@
               callback,
               MoreExecutors.newDirectExecutorService());
     } catch (QueryException e) {
-      Throwables.propagateIfPossible(e, exceptionClass);
+      throwIfInstanceOf(e, exceptionClass);
       throw new IllegalStateException(e);
     } catch (NoSuchPackageException e) {
       // Can happen during a Skyframe no-keep-going evaluation.
diff --git a/src/main/java/com/google/devtools/build/lib/worker/SimpleWorkerPool.java b/src/main/java/com/google/devtools/build/lib/worker/SimpleWorkerPool.java
index 5435a0f..cc16ee9 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/SimpleWorkerPool.java
+++ b/src/main/java/com/google/devtools/build/lib/worker/SimpleWorkerPool.java
@@ -13,7 +13,9 @@
 // limitations under the License.
 package com.google.devtools.build.lib.worker;
 
-import com.google.common.base.Throwables;
+import static com.google.common.base.Throwables.throwIfInstanceOf;
+import static com.google.common.base.Throwables.throwIfUnchecked;
+
 import com.google.common.flogger.GoogleLogger;
 import java.io.IOException;
 import java.util.HashMap;
@@ -84,7 +86,9 @@
     try {
       return super.borrowObject(key);
     } catch (Throwable t) {
-      Throwables.propagateIfPossible(t, IOException.class, InterruptedException.class);
+      throwIfInstanceOf(t, IOException.class);
+      throwIfInstanceOf(t, InterruptedException.class);
+      throwIfUnchecked(t);
       throw new RuntimeException("unexpected", t);
     }
   }
@@ -98,7 +102,8 @@
         updateShrunkBy(key, obj.getWorkerId());
       }
     } catch (Throwable t) {
-      Throwables.propagateIfPossible(t, InterruptedException.class);
+      throwIfInstanceOf(t, InterruptedException.class);
+      throwIfUnchecked(t);
       throw new RuntimeException("unexpected", t);
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerPoolImpl.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerPoolImpl.java
index 6d346ef..7ea6b21 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/WorkerPoolImpl.java
+++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerPoolImpl.java
@@ -13,7 +13,9 @@
 // limitations under the License.
 package com.google.devtools.build.lib.worker;
 
-import com.google.common.base.Throwables;
+import static com.google.common.base.Throwables.throwIfInstanceOf;
+import static com.google.common.base.Throwables.throwIfUnchecked;
+
 import com.google.common.base.VerifyException;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.flogger.GoogleLogger;
@@ -135,7 +137,8 @@
       pool.setEvictionPolicy(evictionPolicy);
       pool.evict();
     } catch (Throwable t) {
-      Throwables.propagateIfPossible(t, InterruptedException.class);
+      throwIfInstanceOf(t, InterruptedException.class);
+      throwIfUnchecked(t);
       throw new VerifyException("unexpected", t);
     }
   }
@@ -152,7 +155,9 @@
     try {
       result = getPool(key).borrowObject(key);
     } catch (Throwable t) {
-      Throwables.propagateIfPossible(t, IOException.class, InterruptedException.class);
+      throwIfInstanceOf(t, IOException.class);
+      throwIfInstanceOf(t, InterruptedException.class);
+      throwIfUnchecked(t);
       throw new RuntimeException("unexpected", t);
     }
     return result;
@@ -168,7 +173,8 @@
     try {
       getPool(key).invalidateObject(key, obj);
     } catch (Throwable t) {
-      Throwables.propagateIfPossible(t, InterruptedException.class);
+      throwIfInstanceOf(t, InterruptedException.class);
+      throwIfUnchecked(t);
       throw new RuntimeException("unexpected", t);
     }
   }