Add a testing Skylark module that exposes an ExecutionInfoProvider constructor.
--
PiperOrigin-RevId: 141594768
MOS_MIGRATED_REVID=141594768
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 fad548a..879a1bb 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
@@ -71,6 +71,8 @@
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;
@@ -838,6 +840,15 @@
}
/**
+ * Returns all the declared providers (native and Skylark) for the specified constructor under the
+ * specified attribute of this target in the BUILD file.
+ */
+ public Iterable<SkylarkClassObject> getPrerequisites(
+ String attributeName, Mode mode, final SkylarkClassObjectConstructor.Key skylarkKey) {
+ return AnalysisUtils.getProviders(getPrerequisites(attributeName, mode), skylarkKey);
+ }
+
+ /**
* Returns all the providers of the specified type that are listed under the specified attribute
* of this target in the BUILD file, and that contain the specified provider.
*/