aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-07-31 19:23:52 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-07-31 20:20:46 +0200
commitc32e1b1efcd703b3780de47fba62974123593d71 (patch)
tree78f4968a6cce9ff56831f7344f65923e43904768 /src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
parent52f11c6d3c2052a57db76957909f3c89a26eb251 (diff)
Use RequiredProviders to validate rule prerequisites in RuleContext.
We now use a unified way to check provider requirements everywhere. RELNOTES: None. PiperOrigin-RevId: 163710961
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
index 9b8be1f250..a998570d8f 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
@@ -104,12 +104,6 @@ public abstract class AbstractConfiguredTarget
@Override
public Object getValue(String name) {
switch (name) {
- case FILES_FIELD:
- case DEFAULT_RUNFILES_FIELD:
- case DATA_RUNFILES_FIELD:
- case FilesToRunProvider.SKYLARK_NAME:
- // Standard fields should be proxied to their default provider object
- return getDefaultProvider().getValue(name);
case LABEL_FIELD:
return getLabel();
default:
@@ -206,7 +200,19 @@ public abstract class AbstractConfiguredTarget
if (OutputGroupProvider.SKYLARK_NAME.equals(providerKey)) {
return get(OutputGroupProvider.SKYLARK_CONSTRUCTOR);
}
- return rawGetSkylarkProvider(providerKey);
+ switch (providerKey) {
+ case FILES_FIELD:
+ case DEFAULT_RUNFILES_FIELD:
+ case DATA_RUNFILES_FIELD:
+ case FilesToRunProvider.SKYLARK_NAME:
+ // Standard fields should be proxied to their default provider object
+ return getDefaultProvider().getValue(providerKey);
+ case OutputGroupProvider.SKYLARK_NAME:
+ return get(OutputGroupProvider.SKYLARK_CONSTRUCTOR);
+ default:
+ return rawGetSkylarkProvider(providerKey);
+ }
+
}
/** Implement in subclasses to get a skylark provider for a given {@code providerKey}. */