aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2018-06-18 11:42:41 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-18 11:44:13 -0700
commit236fdeb46034fb58f6f39084e9d81e41a4693e01 (patch)
tree05a9f7cbffd90e5653d61670fa7f54be7e5a529e /src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
parent7c49bd9c73385db84e678469aa7e6a5bb801c28a (diff)
Clean up uses of SkylarkList<String> and ast in toolchains parameters.
Change-Id: I3655868d34dd98f5cde084a61995dfae8e4b94c0 Closes #5374. Change-Id: I3655868d34dd98f5cde084a61995dfae8e4b94c0 PiperOrigin-RevId: 201032126
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
index 2de684f82c..3b1afa019a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
@@ -313,7 +313,7 @@ public class SkylarkRuleClassFunctions implements SkylarkRuleFunctionsApi<Artifa
SkylarkList<?> fragments,
SkylarkList<?> hostFragments,
Boolean skylarkTestable,
- SkylarkList<String> toolchains,
+ SkylarkList<?> toolchains,
String doc,
SkylarkList<?> providesArg,
Boolean executionPlatformConstraintsAllowed,
@@ -380,7 +380,9 @@ public class SkylarkRuleClassFunctions implements SkylarkRuleFunctionsApi<Artifa
builder.setRuleDefinitionEnvironmentLabelAndHashCode(
funcallEnv.getGlobals().getTransitiveLabel(),
funcallEnv.getTransitiveContentHashCode());
- builder.addRequiredToolchains(collectToolchainLabels(toolchains, ast));
+ builder.addRequiredToolchains(
+ collectToolchainLabels(
+ toolchains.getContents(String.class, "toolchains"), ast.getLocation()));
for (Object o : providesArg) {
if (!SkylarkAttr.isProvider(o)) {
@@ -436,7 +438,7 @@ public class SkylarkRuleClassFunctions implements SkylarkRuleFunctionsApi<Artifa
}
private static ImmutableList<Label> collectToolchainLabels(
- Iterable<String> rawLabels, FuncallExpression ast) throws EvalException {
+ Iterable<String> rawLabels, Location loc) throws EvalException {
ImmutableList.Builder<Label> requiredToolchains = new ImmutableList.Builder<>();
for (String rawLabel : rawLabels) {
try {
@@ -444,9 +446,7 @@ public class SkylarkRuleClassFunctions implements SkylarkRuleFunctionsApi<Artifa
requiredToolchains.add(toolchainLabel);
} catch (LabelSyntaxException e) {
throw new EvalException(
- ast.getLocation(),
- String.format("Unable to parse toolchain %s: %s", rawLabel, e.getMessage()),
- e);
+ loc, String.format("Unable to parse toolchain %s: %s", rawLabel, e.getMessage()), e);
}
}
@@ -478,7 +478,7 @@ public class SkylarkRuleClassFunctions implements SkylarkRuleFunctionsApi<Artifa
SkylarkList providesArg,
SkylarkList fragments,
SkylarkList hostFragments,
- SkylarkList<String> toolchains,
+ SkylarkList<?> toolchains,
String doc,
FuncallExpression ast,
Environment funcallEnv)
@@ -569,7 +569,8 @@ public class SkylarkRuleClassFunctions implements SkylarkRuleFunctionsApi<Artifa
ImmutableSet.copyOf(fragments.getContents(String.class, "fragments")),
HostTransition.INSTANCE,
ImmutableSet.copyOf(hostFragments.getContents(String.class, "host_fragments")),
- collectToolchainLabels(toolchains, ast));
+ collectToolchainLabels(
+ toolchains.getContents(String.class, "toolchains"), ast.getLocation()));
}
/**