aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/skylark
diff options
context:
space:
mode:
authorGravatar brandjon <brandjon@google.com>2017-10-06 06:07:13 +0200
committerGravatar Klaus Aehlig <aehlig@google.com>2017-10-06 19:48:49 +0200
commit617f8ff0f502e911bba61d0c33390413bef9250c (patch)
treefbb7e2481dc85609f13ca8be207d01e6fa7a38fd /src/main/java/com/google/devtools/build/lib/analysis/skylark
parentb4d87b54ec6d4aa95d3b77f23aed2ad75619e968 (diff)
Pass SkylarkSemantics through Skyframe instead of the options class
Also remove the use of the @UsesOnlyCoreTypes annotation on SkylarkSemanticsOptions. It was only there to help mark that the options class was safe to put in Skyframe. RELNOTES: None PiperOrigin-RevId: 171248504
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/skylark')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java9
2 files changed, 5 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java
index 077b499795..d993620ff8 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java
@@ -47,7 +47,7 @@ import com.google.devtools.build.lib.syntax.Mutability;
import com.google.devtools.build.lib.syntax.Runtime;
import com.google.devtools.build.lib.syntax.SkylarkList;
import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
-import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
+import com.google.devtools.build.lib.syntax.SkylarkSemantics;
import com.google.devtools.build.lib.syntax.SkylarkType;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.util.FileType;
@@ -75,7 +75,7 @@ public final class SkylarkRuleConfiguredTargetUtil {
public static ConfiguredTarget buildRule(
RuleContext ruleContext,
BaseFunction ruleImplementation,
- SkylarkSemanticsOptions skylarkSemantics)
+ SkylarkSemantics skylarkSemantics)
throws InterruptedException {
String expectFailure = ruleContext.attributes().get("expect_failure", Type.STRING);
SkylarkRuleContext skylarkRuleContext = null;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
index e242d46b67..13dd231759 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
@@ -69,7 +69,6 @@ import com.google.devtools.build.lib.syntax.SkylarkDict;
import com.google.devtools.build.lib.syntax.SkylarkIndexable;
import com.google.devtools.build.lib.syntax.SkylarkList;
import com.google.devtools.build.lib.syntax.SkylarkSemantics;
-import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.syntax.SkylarkType;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.syntax.Type.LabelClass;
@@ -199,19 +198,17 @@ public final class SkylarkRuleContext implements SkylarkValue {
* if it is for a rule.
* @throws InterruptedException
*/
- // TODO(brandjon): Take in SkylarkSemantics instead of SkylarkSemanticsOptions.
public SkylarkRuleContext(RuleContext ruleContext,
@Nullable AspectDescriptor aspectDescriptor,
- SkylarkSemanticsOptions skylarkSemantics)
+ SkylarkSemantics skylarkSemantics)
throws EvalException, InterruptedException {
- this.actionFactory = new SkylarkActionFactory(
- this, skylarkSemantics.toSkylarkSemantics(), ruleContext);
+ this.actionFactory = new SkylarkActionFactory(this, skylarkSemantics, ruleContext);
this.ruleContext = Preconditions.checkNotNull(ruleContext);
this.ruleLabelCanonicalName = ruleContext.getLabel().getCanonicalForm();
this.fragments = new FragmentCollection(ruleContext, ConfigurationTransition.NONE);
this.hostFragments = new FragmentCollection(ruleContext, ConfigurationTransition.HOST);
this.aspectDescriptor = aspectDescriptor;
- this.skylarkSemantics = skylarkSemantics.toSkylarkSemantics();
+ this.skylarkSemantics = skylarkSemantics;
if (aspectDescriptor == null) {
this.isForAspect = false;