diff options
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.java | 39 |
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. |