aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformProviderUtils.java
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-07-05 14:30:32 -0400
committerGravatar John Cater <jcater@google.com>2017-07-06 07:13:34 -0400
commit948e519093eb82c217e842eec61a88725689d9dc (patch)
treeb948f94c8f3b1a4c90528dc2b6957a7227a1f9bf /src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformProviderUtils.java
parenta15d648410000cedbde9578c9ee22a023f1b96df (diff)
Improve the ToolchainInfo provider and add more data.
Part of #2219. Change-Id: Ie235d0a75fc50746331b20a7f2060e6d49ae48cb PiperOrigin-RevId: 160982987
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformProviderUtils.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformProviderUtils.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformProviderUtils.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformProviderUtils.java
index 73664f7b04..56443af320 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformProviderUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformProviderUtils.java
@@ -68,4 +68,14 @@ public class PlatformProviderUtils {
Iterable<? extends SkylarkProviderCollection> targets) {
return Iterables.transform(targets, PlatformProviderUtils::constraintValue);
}
+
+ /** Retrieves and casts the {@link ToolchainInfo} provider from the given target. */
+ public static ToolchainInfo toolchain(SkylarkProviderCollection target) {
+ Object provider = target.get(ToolchainInfo.SKYLARK_IDENTIFIER);
+ if (provider == null) {
+ return null;
+ }
+ Preconditions.checkState(provider instanceof ToolchainInfo);
+ return (ToolchainInfo) provider;
+ }
}