diff options
author | 2017-03-02 14:39:52 +0000 | |
---|---|---|
committer | 2017-03-03 10:35:22 +0000 | |
commit | 654717f6f2e9e626b60debc657d3a8723f057b97 (patch) | |
tree | 007f6f91cf0c67098be1900cc97550c5c7d912f0 /src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java | |
parent | 83514648f2e4e63dcd039e976f3b5d47552e0383 (diff) |
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
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java | 6 |
1 files changed, 3 insertions, 3 deletions
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<SkylarkClassObject> 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); } |