From 654717f6f2e9e626b60debc657d3a8723f057b97 Mon Sep 17 00:00:00 2001 From: Dmitry Lomov Date: Thu, 2 Mar 2017 14:39:52 +0000 Subject: Refactor implementation of native and Skylark declared providers. 1) Instead of having a single class for both, split them into {Skylark,Native}ClassObjectConstructors 2) Allow NativeClassObjectConstructors to customize their instantiation logic. 3) Prepare ClassObjectConstructor.Key to be serializable. -- PiperOrigin-RevId: 148997553 MOS_MIGRATED_REVID=148997553 --- .../java/com/google/devtools/build/lib/analysis/RuleContext.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java') diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java index 76f6aa2f56..ca00f10ebb 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java @@ -59,6 +59,7 @@ import com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition; import com.google.devtools.build.lib.packages.Attribute.SplitTransition; import com.google.devtools.build.lib.packages.AttributeMap; import com.google.devtools.build.lib.packages.BuildType; +import com.google.devtools.build.lib.packages.ClassObjectConstructor; import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy; import com.google.devtools.build.lib.packages.FileTarget; import com.google.devtools.build.lib.packages.FilesetEntry; @@ -72,7 +73,6 @@ import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; import com.google.devtools.build.lib.packages.RuleErrorConsumer; import com.google.devtools.build.lib.packages.SkylarkClassObject; -import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor; import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier; import com.google.devtools.build.lib.packages.Target; import com.google.devtools.build.lib.packages.TargetUtils; @@ -848,7 +848,7 @@ public final class RuleContext extends TargetContext * specified attribute of this target in the BUILD file. */ public Iterable getPrerequisites( - String attributeName, Mode mode, final SkylarkClassObjectConstructor.Key skylarkKey) { + String attributeName, Mode mode, final ClassObjectConstructor.Key skylarkKey) { return AnalysisUtils.getProviders(getPrerequisites(attributeName, mode), skylarkKey); } @@ -859,7 +859,7 @@ public final class RuleContext extends TargetContext */ @Nullable public SkylarkClassObject getPrerequisite( - String attributeName, Mode mode, final SkylarkClassObjectConstructor.Key skylarkKey) { + String attributeName, Mode mode, final ClassObjectConstructor.Key skylarkKey) { TransitiveInfoCollection prerequisite = getPrerequisite(attributeName, mode); return prerequisite == null ? null : prerequisite.get(skylarkKey); } -- cgit v1.2.3