aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2016-04-22 15:29:12 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-04-22 21:19:14 +0000
commit549bfce438156c7a26bb37449b947a60d35eab91 (patch)
tree075b4e217d49c60b1835b7686b8e44b2b65753e3 /src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
parenta4e9deeeb27dffc203e1bdac2b3b98fb11bf123c (diff)
Make aspects work through bind().
bind() is assumed to be able to provide any provider. This is suboptimal, but beats the alternative of traversing the dependency graph to an arbitrary depth. The reason for the removal of the iteration ability in TransitiveInfoCollection is that now aspects can be attached to BindConfiguredTarget, too, which is not a RuleConfiguredTarget. Whereas I could have implemented the iterator, it was used only in BindConfiguredTarget anyway, so there didn't seem to be much reason to. Some work towards #952. -- MOS_MIGRATED_REVID=120549877
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
index 2264d8ff17..42b829785f 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.analysis;
-import com.google.common.collect.UnmodifiableIterator;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
@@ -95,7 +94,7 @@ import javax.annotation.Nullable;
+ "These extra providers are defined in the <code>struct</code> returned by the rule "
+ "implementation function.</li>"
+ "</ul>")
-public interface TransitiveInfoCollection extends Iterable<TransitiveInfoProvider> {
+public interface TransitiveInfoCollection {
/**
* Returns the transitive information provider requested, or null if the provider is not found.
@@ -121,10 +120,4 @@ public interface TransitiveInfoCollection extends Iterable<TransitiveInfoProvide
* The transitive information has to have been added using the Skylark framework.
*/
@Nullable Object get(String providerKey);
-
- /**
- * Returns an unmodifiable iterator over the transitive info providers in the collections.
- */
- @Override
- UnmodifiableIterator<TransitiveInfoProvider> iterator();
}