Fix dir() on Targets with aspects applied. -- PiperOrigin-RevId: 150869561 MOS_MIGRATED_REVID=150869561
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/MergedConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/MergedConfiguredTarget.java index 6240bf8..43174ea 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/MergedConfiguredTarget.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/MergedConfiguredTarget.java
@@ -13,6 +13,8 @@ // limitations under the License. package com.google.devtools.build.lib.analysis; +import com.google.common.collect.ImmutableCollection; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.packages.ClassObjectConstructor; @@ -73,6 +75,15 @@ return provider; } + @Override + public ImmutableCollection<String> getKeys() { + return ImmutableList.<String>builder() + .addAll(super.getKeys()) + .addAll(getProvider(SkylarkProviders.class).getKeys()) + .build(); + } + + /** Creates an instance based on a configured target and a set of aspects. */ public static ConfiguredTarget of(ConfiguredTarget base, Iterable<ConfiguredAspect> aspects) throws DuplicateException {