aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-07-25 10:25:01 +0200
committerGravatar Jakob Buchgraber <buchgr@google.com>2017-07-25 13:17:51 +0200
commit6d884afa8da1b08288cb0108e8bbf6c22ec63393 (patch)
tree7baa5a95ee4f6a1be551972912076bcfdead2d35 /src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java
parent0bf2e8e7f53962dfebaacc886f983138fef5ab4e (diff)
Make all WithLegacySkylarkName providers declared providers.
RELNOTES: None PiperOrigin-RevId: 163042362
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java
index 6bf2ee2df3..c4afb4f546 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java
@@ -30,6 +30,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.ClassObjectConstructor;
+import com.google.devtools.build.lib.packages.NativeClassObjectConstructor;
import com.google.devtools.build.lib.packages.SkylarkClassObject;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.packages.TargetUtils;
@@ -212,7 +213,6 @@ public final class RuleConfiguredTargetBuilder {
public <T extends TransitiveInfoProvider> RuleConfiguredTargetBuilder addProvider(
TransitiveInfoProvider provider) {
providersBuilder.add(provider);
- maybeAddSkylarkProvider(provider);
return this;
}
@@ -220,9 +220,6 @@ public final class RuleConfiguredTargetBuilder {
public <T extends TransitiveInfoProvider> RuleConfiguredTargetBuilder addProviders(
Iterable<TransitiveInfoProvider> providers) {
providersBuilder.addAll(providers);
- for (TransitiveInfoProvider provider : providers) {
- maybeAddSkylarkProvider(provider);
- }
return this;
}
@@ -250,14 +247,15 @@ public final class RuleConfiguredTargetBuilder {
Preconditions.checkNotNull(key);
Preconditions.checkNotNull(value);
providersBuilder.put(key, value);
- maybeAddSkylarkProvider(value);
return this;
}
- protected <T extends TransitiveInfoProvider> void maybeAddSkylarkProvider(T value) {
- if (value instanceof TransitiveInfoProvider.WithLegacySkylarkName) {
+ private <T extends TransitiveInfoProvider> void maybeAddSkylarkLegacyProvider(
+ SkylarkClassObject value) {
+ if (value.getConstructor() instanceof NativeClassObjectConstructor.WithLegacySkylarkName) {
addSkylarkTransitiveInfo(
- ((TransitiveInfoProvider.WithLegacySkylarkName) value).getSkylarkName(),
+ ((NativeClassObjectConstructor.WithLegacySkylarkName) value.getConstructor())
+ .getSkylarkName(),
value);
}
}
@@ -328,6 +326,7 @@ public final class RuleConfiguredTargetBuilder {
ClassObjectConstructor constructor = provider.getConstructor();
Preconditions.checkState(constructor.isExported());
providersBuilder.put(provider);
+ maybeAddSkylarkLegacyProvider(provider);
return this;
}