aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/AnalysisUtils.java
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-07-10 17:15:27 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-07-10 17:45:04 +0200
commit77baa4c372ae014db8e17f6d3c60bd88597853d9 (patch)
tree3ca2c63943782b506b0f19f5b7f7465909723590 /src/main/java/com/google/devtools/build/lib/analysis/AnalysisUtils.java
parent45bd34e747d13fc2bebdc849a11b4b952da5d8a6 (diff)
Make native declared providers type-safe.
RELNOTES: None. PiperOrigin-RevId: 161395570
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/AnalysisUtils.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/AnalysisUtils.java11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisUtils.java b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisUtils.java
index 209eb226ae..966471c37f 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisUtils.java
@@ -25,7 +25,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.packages.BuildType;
-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.TriState;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -82,15 +82,14 @@ public final class AnalysisUtils {
* Returns the list of declared providers (native and Skylark) of the specified Skylark key from a
* set of transitive info collections.
*/
- public static <T extends SkylarkClassObject> Iterable<T> getProviders(
+ public static <T extends SkylarkClassObject> Iterable<T> getProviders(
Iterable<? extends TransitiveInfoCollection> prerequisites,
- final ClassObjectConstructor.Key skylarkKey,
- Class<T> resultClass) {
+ final NativeClassObjectConstructor<T> skylarkKey) {
ImmutableList.Builder<T> result = ImmutableList.builder();
for (TransitiveInfoCollection prerequisite : prerequisites) {
- SkylarkClassObject prerequisiteProvider = prerequisite.get(skylarkKey);
+ T prerequisiteProvider = prerequisite.get(skylarkKey);
if (prerequisiteProvider != null) {
- result.add(resultClass.cast(prerequisiteProvider));
+ result.add(prerequisiteProvider);
}
}
return result.build();