aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-05-16 00:21:22 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-05-16 15:24:33 +0200
commit211a3ba2303c1df97383c810e17a031106c7271b (patch)
tree48c862059ebf8ef2515ca599ecdc889902210e4a /src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
parent39f328cf392056618d1a3ead4835a138b189a06d (diff)
Do not access SkylarkProviders anywhere outside of ConfiguredTarget implementation.
A first step towards applying the same memory optimizations we do for native provider representation to Skylark providers (declared and legacy). RELNOTES: None. PiperOrigin-RevId: 156111749
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
index be92473463..f1c4b4d515 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
@@ -88,9 +88,14 @@ public final class ConfiguredAspect {
@Nullable
@VisibleForTesting
public <P extends TransitiveInfoProvider> P getProvider(Class<P> providerClass) {
+ AnalysisUtils.checkProvider(providerClass);
return providers.getProvider(providerClass);
}
+ SkylarkProviders getSkylarkProviders() {
+ return providers.getProvider(SkylarkProviders.class);
+ }
+
public Object getProvider(SkylarkProviderIdentifier id) {
if (id.isLegacy()) {
return get(id.getLegacyId());
@@ -103,7 +108,7 @@ public final class ConfiguredAspect {
if (OutputGroupProvider.SKYLARK_CONSTRUCTOR.getKey().equals(key)) {
return getProvider(OutputGroupProvider.class);
}
- SkylarkProviders skylarkProviders = getProvider(SkylarkProviders.class);
+ SkylarkProviders skylarkProviders = providers.getProvider(SkylarkProviders.class);
return skylarkProviders != null ? skylarkProviders.getDeclaredProvider(key) : null;
}
@@ -111,7 +116,7 @@ public final class ConfiguredAspect {
if (OutputGroupProvider.SKYLARK_NAME.equals(legacyKey)) {
return getProvider(OutputGroupProvider.class);
}
- SkylarkProviders skylarkProviders = getProvider(SkylarkProviders.class);
+ SkylarkProviders skylarkProviders = providers.getProvider(SkylarkProviders.class);
return skylarkProviders != null
? skylarkProviders.get(SkylarkProviderIdentifier.forLegacy(legacyKey))
: null;