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 {