diff options
author | dslomov <dslomov@google.com> | 2017-05-16 00:21:22 +0200 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2017-05-16 15:24:33 +0200 |
commit | 211a3ba2303c1df97383c810e17a031106c7271b (patch) | |
tree | 48c862059ebf8ef2515ca599ecdc889902210e4a /src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java | |
parent | 39f328cf392056618d1a3ead4835a138b189a06d (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.java | 9 |
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; |