diff options
author | Francois-Rene Rideau <tunes@google.com> | 2015-04-22 16:52:13 +0000 |
---|---|---|
committer | Laszlo Csomor <laszlocsomor@google.com> | 2015-04-23 09:11:04 +0000 |
commit | 95b0d0cc209fbff23938910c12f84bdbef73eb68 (patch) | |
tree | 6697e7e1bf0fdcd25bd931b69804aa315e551b2d /src/main/java/com/google/devtools/build/lib/rules | |
parent | c857853cb0c0e4f13fd7890dec0d4d734c947932 (diff) |
Remove old Skylark Function hierarchy
Last step in refactoring of Skylark builtin functions.
--
MOS_MIGRATED_REVID=91796746
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java | 11 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java | 16 |
2 files changed, 13 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java index 14bdcd7bbc..10a567467a 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java +++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java @@ -63,7 +63,6 @@ import com.google.devtools.build.lib.syntax.Environment.NoSuchVariableException; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.EvalUtils; import com.google.devtools.build.lib.syntax.FuncallExpression; -import com.google.devtools.build.lib.syntax.Function; import com.google.devtools.build.lib.syntax.FunctionSignature; import com.google.devtools.build.lib.syntax.Label; import com.google.devtools.build.lib.syntax.SkylarkCallbackFunction; @@ -180,9 +179,9 @@ public class SkylarkRuleClassFunctions { "Creates a new rule. Store it in a global value, so that it can be loaded and called " + "from BUILD files.", onlyLoadingPhase = true, - returnType = Function.class, + returnType = BaseFunction.class, mandatoryPositionals = { - @Param(name = "implementation", type = Function.class, + @Param(name = "implementation", type = BaseFunction.class, doc = "the function implementing this rule, has to have exactly one parameter: " + "<code>ctx</code>. The function is called during analysis phase for each " + "instance of the rule. It can access the attributes provided by the user. " @@ -215,7 +214,7 @@ public class SkylarkRuleClassFunctions { private static final BuiltinFunction rule = new BuiltinFunction("rule") { @SuppressWarnings({"rawtypes", "unchecked"}) // castMap produces // an Attribute.Builder instead of a Attribute.Builder<?> but it's OK. - public Function invoke(Function implementation, Boolean test, + public BaseFunction invoke(BaseFunction implementation, Boolean test, Object attrs, Object implicitOutputs, Boolean executable, Boolean outputToGenfiles, FuncallExpression ast, Environment funcallEnv) throws EvalException, ConversionException { @@ -250,8 +249,8 @@ public class SkylarkRuleClassFunctions { } if (implicitOutputs != Environment.NONE) { - if (implicitOutputs instanceof Function) { - Function func = (Function) implicitOutputs; + if (implicitOutputs instanceof BaseFunction) { + BaseFunction func = (BaseFunction) implicitOutputs; final SkylarkCallbackFunction callback = new SkylarkCallbackFunction(func, ast, (SkylarkEnvironment) funcallEnv); builder.setImplicitOutputsFunction( diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java index f848f91c2e..08d313a8c4 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java @@ -13,6 +13,7 @@ // limitations under the License. package com.google.devtools.build.lib.rules; +import com.google.common.base.Function; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -29,12 +30,12 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.packages.TargetUtils; import com.google.devtools.build.lib.packages.Type; +import com.google.devtools.build.lib.syntax.BaseFunction; import com.google.devtools.build.lib.syntax.ClassObject; import com.google.devtools.build.lib.syntax.ClassObject.SkylarkClassObject; import com.google.devtools.build.lib.syntax.Environment; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.EvalUtils; -import com.google.devtools.build.lib.syntax.Function; import com.google.devtools.build.lib.syntax.SkylarkEnvironment; import com.google.devtools.build.lib.syntax.SkylarkNestedSet; import com.google.devtools.build.lib.syntax.SkylarkType; @@ -49,7 +50,7 @@ public final class SkylarkRuleConfiguredTargetBuilder { * Create a Rule Configured Target from the ruleContext and the ruleImplementation. */ public static ConfiguredTarget buildRule(RuleContext ruleContext, - Function ruleImplementation) { + BaseFunction ruleImplementation) { String expectError = ruleContext.attributes().get("expect_failure", Type.STRING); try { SkylarkRuleContext skylarkRuleContext = new SkylarkRuleContext(ruleContext); @@ -96,12 +97,11 @@ public final class SkylarkRuleConfiguredTargetBuilder { if (!orphanArtifacts.isEmpty()) { throw new EvalException(null, "The following files have no generating action:\n" + Joiner.on("\n").join(Iterables.transform(orphanArtifacts, - new com.google.common.base.Function<Artifact, String>() { - @Override - public String apply(Artifact artifact) { - return artifact.getRootRelativePathString(); - } - }))); + new Function<Artifact, String>() { + @Override + public String apply(Artifact artifact) { + return artifact.getRootRelativePathString(); + }}))); } } |