aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis
diff options
context:
space:
mode:
authorGravatar Jon Brandvein <brandjon@google.com>2016-10-11 17:51:06 +0000
committerGravatar Yue Gan <yueg@google.com>2016-10-12 08:55:43 +0000
commit1171a7fb55ae9928cd976d4c3963f4874d58f60c (patch)
treea6a49c86b189798c7d28b6729583fd989daa3186 /src/main/java/com/google/devtools/build/lib/analysis
parent7bbf70ba0029c9480d61633973d8c293157e9407 (diff)
Make EvalUtils.getDataTypeNameFromClass() look for @SkylarkModules in parent classes
This is needed to let subclasses of @SkylarkModules have the same type() string as their superclass, without requiring a second annotation for the subclass. -- MOS_MIGRATED_REVID=135814343
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/MergedConfiguredTarget.java9
1 files changed, 9 insertions, 0 deletions
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 9a5317f5a0..7451dd68b8 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
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.analysis;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.packages.SkylarkClassObject;
import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.Key;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -27,6 +28,14 @@ import javax.annotation.Nullable;
* <p>This is an ephemeral object created only for the analysis of a single configured target. After
* that configured target is analyzed, this is thrown away.
*/
+// TODO(bazel-team): This annotation is needed for compatibility with Skylark code that expects
+// type() of this class to be "MergedConfiguredTarget" instead of "Target". The dependent code
+// should be refactored, possibly by adding a field to this class that it could read instead.
+@SkylarkModule(
+ name = "MergedConfiguredTarget",
+ doc = "",
+ documented = false
+)
public final class MergedConfiguredTarget extends AbstractConfiguredTarget {
private final ConfiguredTarget base;
private final TransitiveInfoProviderMap providers;