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 {