aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMap.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMap.java39
1 files changed, 20 insertions, 19 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMap.java b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMap.java
index d8fa9ae4ae..9d83702a6a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMap.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoProviderMap.java
@@ -14,26 +14,26 @@
package com.google.devtools.build.lib.analysis;
-import com.google.devtools.build.lib.packages.ClassObjectConstructor;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
+import com.google.devtools.build.lib.packages.Info;
+import com.google.devtools.build.lib.packages.Provider;
import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
/**
- * Provides a mapping between an identifier for transitive information and its instance.
- * (between provider identifier and provider instance)
+ * Provides a mapping between an identifier for transitive information and its instance. (between
+ * provider identifier and provider instance)
+ *
+ * <p>We have three kinds of provider identifiers:
*
- * We have three kinds of provider identifiers:
* <ul>
- * <li>Declared providers. They are exposed to Skylark and identified by
- * {@link ClassObjectConstructor.Key}. Provider instances are {@link SkylarkClassObject}s.</li>
- * <li>Native providers. They are identified by their {@link Class} and their instances
- * are instances of that class. They should implement {@link TransitiveInfoProvider} marker
- * interface.
- * </li>
- * <li>Legacy Skylark providers (deprecated). They are identified by simple strings,
- * and their instances are more-less random objects.</li>
+ * <li>Declared providers. They are exposed to Skylark and identified by {@link Provider.Key}.
+ * Provider instances are {@link Info}s.
+ * <li>Native providers. They are identified by their {@link Class} and their instances are
+ * instances of that class. They should implement {@link TransitiveInfoProvider} marker
+ * interface.
+ * <li>Legacy Skylark providers (deprecated). They are identified by simple strings, and their
+ * instances are more-less random objects.
* </ul>
*/
@Immutable
@@ -43,11 +43,11 @@ public interface TransitiveInfoProviderMap {
<P extends TransitiveInfoProvider> P getProvider(Class<P> providerClass);
/**
- * Returns the instance of declared provider with the given {@code key},
- * or {@code null} if not present.
+ * Returns the instance of declared provider with the given {@code key}, or {@code null} if not
+ * present.
*/
@Nullable
- SkylarkClassObject getProvider(ClassObjectConstructor.Key key);
+ Info getProvider(Provider.Key key);
/**
* Returns the instance of a legacy Skylark with the given name, or {@code null} if not present.
@@ -80,10 +80,11 @@ public interface TransitiveInfoProviderMap {
/**
* Return value is one of:
+ *
* <ul>
- * <li>{@code Class<? extends TransitiveInfoProvider>}</li>
- * <li>String</li>
- * <li>{@link ClassObjectConstructor.Key}</li>
+ * <li>{@code Class<? extends TransitiveInfoProvider>}
+ * <li>String
+ * <li>{@link Provider.Key}
* </ul>
*
* Low-level method, use with care.