aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2017-07-17 14:46:02 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-07-18 09:47:36 +0200
commit90ed84c0d9b48b7474b7cba3994561ecec9fe858 (patch)
tree7a602ea9291503c5a2cc05a4912067d783353428 /src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java
parent88518522a18df5788736be6151fc67992efe2aad (diff)
Remove ParseFailureListener in favor of posting to EventBus directly
We now have the ExtendedEventHandler, which is available in all the relevant code paths, so we just post the event directly. PiperOrigin-RevId: 162200923
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java32
1 files changed, 12 insertions, 20 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java
index 60ec9caec1..2ae25ccd07 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java
@@ -18,8 +18,8 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.cmdline.TargetParsingException;
import com.google.devtools.build.lib.events.Event;
-import com.google.devtools.build.lib.events.EventHandler;
-import com.google.devtools.build.lib.pkgcache.ParseFailureListener;
+import com.google.devtools.build.lib.events.ExtendedEventHandler;
+import com.google.devtools.build.lib.pkgcache.ParsingFailedEvent;
import com.google.devtools.build.lib.skyframe.PrepareDepsOfPatternValue.PrepareDepsOfPatternSkyKeyOrException;
import com.google.devtools.build.lib.skyframe.PrepareDepsOfPatternsValue.TargetPatternSequence;
import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternKey;
@@ -28,9 +28,7 @@ import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import com.google.devtools.build.skyframe.ValueOrException;
-
import java.util.Map;
-
import javax.annotation.Nullable;
/**
@@ -39,20 +37,18 @@ import javax.annotation.Nullable;
*/
public class PrepareDepsOfPatternsFunction implements SkyFunction {
- public static ImmutableList<SkyKey> getSkyKeys(SkyKey skyKey, EventHandler eventHandler) {
+ public static ImmutableList<SkyKey> getSkyKeys(SkyKey skyKey, ExtendedEventHandler eventHandler) {
TargetPatternSequence targetPatternSequence = (TargetPatternSequence) skyKey.argument();
Iterable<PrepareDepsOfPatternSkyKeyOrException> keysMaybe =
PrepareDepsOfPatternValue.keys(targetPatternSequence.getPatterns(),
targetPatternSequence.getOffset());
ImmutableList.Builder<SkyKey> skyKeyBuilder = ImmutableList.builder();
- boolean handlerIsParseFailureListener = eventHandler instanceof ParseFailureListener;
for (PrepareDepsOfPatternSkyKeyOrException skyKeyOrException : keysMaybe) {
try {
skyKeyBuilder.add(skyKeyOrException.getSkyKey());
} catch (TargetParsingException e) {
- handleTargetParsingException(eventHandler, handlerIsParseFailureListener,
- skyKeyOrException.getOriginalPattern(), e);
+ handleTargetParsingException(eventHandler, skyKeyOrException.getOriginalPattern(), e);
}
}
@@ -81,7 +77,7 @@ public class PrepareDepsOfPatternsFunction implements SkyFunction {
@Nullable
@Override
public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException {
- EventHandler eventHandler = env.getListener();
+ ExtendedEventHandler eventHandler = env.getListener();
ImmutableList<SkyKey> skyKeys = getSkyKeys(skyKey, eventHandler);
Map<SkyKey, ValueOrException<TargetParsingException>> tokensByKey =
@@ -90,7 +86,6 @@ public class PrepareDepsOfPatternsFunction implements SkyFunction {
return null;
}
- boolean handlerIsParseFailureListener = eventHandler instanceof ParseFailureListener;
for (SkyKey key : skyKeys) {
try {
// The only exception type throwable by PrepareDepsOfPatternFunction is
@@ -99,28 +94,25 @@ public class PrepareDepsOfPatternsFunction implements SkyFunction {
Preconditions.checkNotNull(tokensByKey.get(key).get());
} catch (TargetParsingException e) {
// If a target pattern can't be evaluated, notify the user of the problem and keep going.
- handleTargetParsingException(eventHandler, handlerIsParseFailureListener, key, e);
+ handleTargetParsingException(eventHandler, key, e);
}
}
return new PrepareDepsOfPatternsValue(getTargetPatternKeys(skyKeys));
}
- private static void handleTargetParsingException(EventHandler eventHandler,
- boolean handlerIsParseFailureListener, SkyKey key, TargetParsingException e) {
+ private static void handleTargetParsingException(
+ ExtendedEventHandler eventHandler, SkyKey key, TargetParsingException e) {
TargetPatternKey patternKey = (TargetPatternKey) key.argument();
String rawPattern = patternKey.getPattern();
- handleTargetParsingException(eventHandler, handlerIsParseFailureListener, rawPattern, e);
+ handleTargetParsingException(eventHandler, rawPattern, e);
}
- private static void handleTargetParsingException(EventHandler eventHandler,
- boolean handlerIsParseFailureListener, String rawPattern, TargetParsingException e) {
+ private static void handleTargetParsingException(
+ ExtendedEventHandler eventHandler, String rawPattern, TargetParsingException e) {
String errorMessage = e.getMessage();
eventHandler.handle(Event.error("Skipping '" + rawPattern + "': " + errorMessage));
- if (handlerIsParseFailureListener) {
- ParseFailureListener parseListener = (ParseFailureListener) eventHandler;
- parseListener.parsingError(rawPattern, errorMessage);
- }
+ eventHandler.post(new ParsingFailedEvent(rawPattern, errorMessage));
}
@Nullable