Don't convert InterruptException to EvalException in struct field call expressions.
This is probably only a theoretical problem, since a blocking struct field is probably a very bad idea.
Closes #5132.
Change-Id: Ie84a78ab4d9ce215f2806ac49bf8911de6959930
PiperOrigin-RevId: 207902766
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
index 469df1e..70d2bbf 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
@@ -179,10 +179,8 @@
} else if (e instanceof IllegalArgumentException) {
throw new EvalException(loc, "illegal argument in call to " + getName(), e);
}
- // TODO(bazel-team): replace with Throwables.throwIfInstanceOf once Guava 20 is released.
- Throwables.propagateIfInstanceOf(e, InterruptedException.class);
- // TODO(bazel-team): replace with Throwables.throwIfUnchecked once Guava 20 is released.
- Throwables.propagateIfPossible(e);
+ Throwables.throwIfInstanceOf(e, InterruptedException.class);
+ Throwables.throwIfUnchecked(e);
throw badCallException(loc, e, args);
} catch (IllegalArgumentException e) {
// Either this was thrown by Java itself, or it's a bug