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); } }
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileSystemValueCheckerInferringAncestorsTestBase.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileSystemValueCheckerInferringAncestorsTestBase.java index 27f0a14..839d072 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FileSystemValueCheckerInferringAncestorsTestBase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileSystemValueCheckerInferringAncestorsTestBase.java
@@ -13,11 +13,12 @@ // limitations under the License. package com.google.devtools.build.lib.skyframe; +import static com.google.common.base.Throwables.throwIfInstanceOf; +import static com.google.common.base.Throwables.throwIfUnchecked; import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; import static org.junit.Assert.fail; -import com.google.common.base.Throwables; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.FileStateValue; @@ -65,7 +66,8 @@ if (throwOnStat != null) { Exception toThrow = throwOnStat; throwOnStat = null; - Throwables.propagateIfPossible(toThrow, IOException.class); + throwIfInstanceOf(toThrow, IOException.class); + throwIfUnchecked(toThrow); fail("Unexpected exception type"); } statedPaths.add(path.relativeTo(srcRoot).toString());