Class UserDefinedProviderInfo
- java.lang.Object
-
- com.facebook.buck.core.rules.providers.impl.UserDefinedProviderInfo
-
- All Implemented Interfaces:
ProviderInfo<UserDefinedProviderInfo>
,SkylarkProviderInfo
,com.google.devtools.build.lib.skylarkinterface.SkylarkPrintable
,com.google.devtools.build.lib.skylarkinterface.SkylarkValue
,com.google.devtools.build.lib.syntax.ClassObject
public class UserDefinedProviderInfo extends Object implements ProviderInfo<UserDefinedProviderInfo>, com.google.devtools.build.lib.skylarkinterface.SkylarkValue, com.google.devtools.build.lib.syntax.ClassObject
ProviderInfo
that is created by aProvider
that is defined at runtime by a user. e.g.FooInfo = provider(fields=["foo"]); info = FooInfo(foo="bar")
in a build file
-
-
Constructor Summary
Constructors Constructor Description UserDefinedProviderInfo(Provider<UserDefinedProviderInfo> provider, com.google.common.collect.ImmutableMap<String,Object> fieldValues)
Create an instance ofUserDefinedProviderInfo
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getErrorMessageForUnknownField(String field)
com.google.common.collect.ImmutableCollection<String>
getFieldNames()
Provider<UserDefinedProviderInfo>
getProvider()
ProviderInfo<?>
getProviderInfo()
Object
getValue(String name)
boolean
isImmutable()
void
repr(com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter printer)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Constructor Detail
-
UserDefinedProviderInfo
public UserDefinedProviderInfo(Provider<UserDefinedProviderInfo> provider, com.google.common.collect.ImmutableMap<String,Object> fieldValues)
Create an instance ofUserDefinedProviderInfo
- Parameters:
provider
- The provider that created thisUserDefinedProviderInfo
objectfieldValues
- A mapping of field names to their values. Note that the names must be valid skylark identifiers as they are accessed viainfo_instance.<field>
. The values must be valid when used in the Skylark interpreter. That is, either primitives, or instances ofSkylarkValue
-
-
Method Detail
-
getProvider
public Provider<UserDefinedProviderInfo> getProvider()
- Specified by:
getProvider
in interfaceProviderInfo<UserDefinedProviderInfo>
- Returns:
- the
Provider
instance that constructs instances of this info.
-
getProviderInfo
public ProviderInfo<?> getProviderInfo()
- Specified by:
getProviderInfo
in interfaceSkylarkProviderInfo
- Returns:
- The original provider info
-
repr
public void repr(com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter printer)
- Specified by:
repr
in interfacecom.google.devtools.build.lib.skylarkinterface.SkylarkPrintable
-
getValue
@Nullable public Object getValue(String name)
- Specified by:
getValue
in interfacecom.google.devtools.build.lib.syntax.ClassObject
-
getFieldNames
public com.google.common.collect.ImmutableCollection<String> getFieldNames()
- Specified by:
getFieldNames
in interfacecom.google.devtools.build.lib.syntax.ClassObject
-
getErrorMessageForUnknownField
@Nullable public String getErrorMessageForUnknownField(String field)
- Specified by:
getErrorMessageForUnknownField
in interfacecom.google.devtools.build.lib.syntax.ClassObject
-
isImmutable
public boolean isImmutable()
- Specified by:
isImmutable
in interfacecom.google.devtools.build.lib.skylarkinterface.SkylarkValue
-
-