Extend from an abstract base class to avoid duplication of utility methods in RuleErrorConsumers
RELNOTES: None.
PiperOrigin-RevId: 172387755
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index e948dd3..94423b6 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -56,6 +56,7 @@
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.ExtendedEventHandler.Postable;
import com.google.devtools.build.lib.events.Location;
+import com.google.devtools.build.lib.packages.AbstractRuleErrorConsumer;
import com.google.devtools.build.lib.packages.AspectDescriptor;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition;
@@ -1849,10 +1850,9 @@
}
}
- /**
- * Helper class for reporting errors and warnings.
- */
- public static final class ErrorReporter implements RuleErrorConsumer {
+ /** Helper class for reporting errors and warnings. */
+ public static final class ErrorReporter extends AbstractRuleErrorConsumer
+ implements RuleErrorConsumer {
private final AnalysisEnvironment env;
private final Rule rule;
private final String ruleClassNameForLogging;
@@ -1882,30 +1882,10 @@
}
@Override
- public RuleErrorException throwWithRuleError(String message) throws RuleErrorException {
- ruleError(message);
- throw new RuleErrorException();
- }
-
- @Override
- public RuleErrorException throwWithAttributeError(String attrName, String message)
- throws RuleErrorException {
- attributeError(attrName, message);
- throw new RuleErrorException();
- }
-
- @Override
public boolean hasErrors() {
return env.hasErrors();
}
- @Override
- public void assertNoErrors() throws RuleErrorException {
- if (hasErrors()) {
- throw new RuleErrorException();
- }
- }
-
public void reportWarning(Location location, String message) {
env.getEventHandler().handle(Event.warn(location, message));
}