diff options
author | 2017-07-05 14:30:32 -0400 | |
---|---|---|
committer | 2017-07-06 07:13:34 -0400 | |
commit | 948e519093eb82c217e842eec61a88725689d9dc (patch) | |
tree | b948f94c8f3b1a4c90528dc2b6957a7227a1f9bf /src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformProviderUtils.java | |
parent | a15d648410000cedbde9578c9ee22a023f1b96df (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.java | 10 |
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; + } } |