Annotation Type ImmutableInfo
-
@Target({TYPE,PACKAGE,ANNOTATION_TYPE}) @Retention(RUNTIME) public @interface ImmutableInfo
Annotation marking a class as an immutable built in implementation ofProviderInfo
.This uses the immutable library to generate an implementation class that conforms to the requirements of providers declared in java.
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description String[]
defaultSkylarkValues
String[]
noneable
-
-
-
Element Detail
-
args
String[] args
TODO this is here because java reflection doesn't expose parameter names, and methods can't be retrieved in order of declaration. We should just have some custom annotation processor to generate this.- Returns:
- an array of Strings that represent the names of the constructor parameters in order of declared methods. This should be in the lower underscore naming convention for python.
-
-
-
defaultSkylarkValues
String[] defaultSkylarkValues
- Returns:
- an array of string representations of default values to use in the Starlark interpreter if a kwarg is not provided.
- Default:
- {}
-
-
-
noneable
String[] noneable
- Returns:
- an array of fields that should be noneable
- Default:
- {}
-
-