Class TypeStringProvider
- java.lang.Object
-
- org.immutables.value.processor.meta.TypeStringProvider
-
class TypeStringProvider extends java.lang.ObjectEncapsulates routines and various hacks for get relevant strings for the raw types and type parameters, while attempting to resolve unresolved types using source imports.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interfaceTypeStringProvider.SourceExtractionCache
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String[]allowedTypevarsprivate java.lang.StringBuilderbufferprivate javax.lang.model.element.Elementelement(package private) java.lang.StringelementTypeAnnotationsprivate booleanended(package private) static java.lang.StringEPHEMERAL_ANNOTATION_ALLOW_NULLS(package private) static java.lang.StringEPHEMERAL_ANNOTATION_NULLABLE(package private) static java.lang.StringEPHEMERAL_ANNOTATION_SKIP_NULLS(package private) booleanforAttribute(package private) booleanhasMaybeUnresolvedYetAfter(package private) booleanhasTypeVariablesprivate ImportsTypeStringResolverimportsResolver(package private) booleannullableTypeAnnotation(package private) ValueAttribute.NullElementsnullElements(package private) booleanprocessNestedTypeUseAnnotationsprivate java.lang.StringrawTypeNameprivate Reporterreporterprivate java.lang.StringreturnTypeName(package private) java.lang.StringsecondaryElementTypeAnnotation(package private) TypeStringProvider.SourceExtractionCachesourceExtractionCacheprivate javax.lang.model.type.TypeMirrorstartTypeprivate java.util.List<java.lang.String>typeParameterStringsprivate java.lang.String[]typevarArguments(package private) booleanunresolvedTypeHasOccuredprivate java.util.Set<java.lang.String>unresolvedYetArgumentsprivate java.util.List<java.lang.String>workaroundTypeParametersprivate java.lang.StringworkaroundTypeString
-
Constructor Summary
Constructors Constructor Description TypeStringProvider(Reporter reporter, javax.lang.model.element.Element element, javax.lang.model.type.TypeMirror startType, ImportsTypeStringResolver importsResolver, java.lang.String[] allowedTypevars, java.lang.String[] typevarArguments)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidappendResolved(javax.lang.model.type.DeclaredType type)private voidappendTypeArguments(javax.lang.model.type.TypeMirror type, javax.lang.model.type.DeclaredType declaredType)private voidassignElementNullness(java.lang.String annotationString)(package private) voidcaseType(javax.lang.model.type.TypeMirror type)(package private) voidcollectUnresolvedYetArgumentsTo(java.util.Set<java.lang.String> unresolvedYetArguments)private java.lang.StringcomputePath(javax.lang.model.element.ExecutableElement element)private voidcutTypeArgument(javax.lang.model.type.TypeMirror type, int mark)(package private) booleanhasSomeUnresovedTypes()private voidinsertTypeAnnotationsIfPresent(javax.lang.model.type.TypeMirror type, int typeStart, int typeEnd)(package private) voidprocess()(package private) java.lang.StringrawTypeName()private java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>resolveTypes(java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>> sourceTypes)(package private) java.lang.StringreturnTypeName()private booleantryToUseSourceAsAWorkaround()private voidtypeAnnotationHandle(javax.lang.model.type.TypeMirror argument)private java.lang.StringBuildertypeAnnotationsToBuffer(java.util.List<? extends javax.lang.model.element.AnnotationMirror> annotations, boolean nestedTypeUse)(package private) com.google.common.collect.ImmutableList<java.lang.String>typeParameters()
-
-
-
Field Detail
-
startType
private final javax.lang.model.type.TypeMirror startType
-
element
private final javax.lang.model.element.Element element
-
typeParameterStrings
private final java.util.List<java.lang.String> typeParameterStrings
-
buffer
private java.lang.StringBuilder buffer
-
unresolvedTypeHasOccured
boolean unresolvedTypeHasOccured
-
hasMaybeUnresolvedYetAfter
boolean hasMaybeUnresolvedYetAfter
-
hasTypeVariables
boolean hasTypeVariables
-
rawTypeName
private java.lang.String rawTypeName
-
returnTypeName
private java.lang.String returnTypeName
-
ended
private boolean ended
-
workaroundTypeParameters
@Nullable private java.util.List<java.lang.String> workaroundTypeParameters
-
workaroundTypeString
@Nullable private java.lang.String workaroundTypeString
-
reporter
private final Reporter reporter
-
allowedTypevars
private final java.lang.String[] allowedTypevars
-
typevarArguments
@Nullable private final java.lang.String[] typevarArguments
-
importsResolver
private final ImportsTypeStringResolver importsResolver
-
elementTypeAnnotations
@Nullable java.lang.String elementTypeAnnotations
-
secondaryElementTypeAnnotation
@Nullable java.lang.String secondaryElementTypeAnnotation
-
processNestedTypeUseAnnotations
boolean processNestedTypeUseAnnotations
-
forAttribute
boolean forAttribute
-
nullElements
ValueAttribute.NullElements nullElements
-
nullableTypeAnnotation
boolean nullableTypeAnnotation
-
sourceExtractionCache
@Nullable TypeStringProvider.SourceExtractionCache sourceExtractionCache
-
unresolvedYetArguments
private java.util.Set<java.lang.String> unresolvedYetArguments
-
EPHEMERAL_ANNOTATION_NULLABLE
static final java.lang.String EPHEMERAL_ANNOTATION_NULLABLE
- See Also:
- Constant Field Values
-
EPHEMERAL_ANNOTATION_ALLOW_NULLS
static final java.lang.String EPHEMERAL_ANNOTATION_ALLOW_NULLS
- See Also:
- Constant Field Values
-
EPHEMERAL_ANNOTATION_SKIP_NULLS
static final java.lang.String EPHEMERAL_ANNOTATION_SKIP_NULLS
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TypeStringProvider
TypeStringProvider(Reporter reporter, javax.lang.model.element.Element element, javax.lang.model.type.TypeMirror startType, ImportsTypeStringResolver importsResolver, java.lang.String[] allowedTypevars, @Nullable java.lang.String[] typevarArguments)
-
-
Method Detail
-
rawTypeName
java.lang.String rawTypeName()
-
returnTypeName
java.lang.String returnTypeName()
-
hasSomeUnresovedTypes
boolean hasSomeUnresovedTypes()
-
typeParameters
com.google.common.collect.ImmutableList<java.lang.String> typeParameters()
-
process
void process()
-
appendResolved
private void appendResolved(javax.lang.model.type.DeclaredType type)
-
insertTypeAnnotationsIfPresent
private void insertTypeAnnotationsIfPresent(javax.lang.model.type.TypeMirror type, int typeStart, int typeEnd)
-
typeAnnotationsToBuffer
private java.lang.StringBuilder typeAnnotationsToBuffer(java.util.List<? extends javax.lang.model.element.AnnotationMirror> annotations, boolean nestedTypeUse)
-
tryToUseSourceAsAWorkaround
private boolean tryToUseSourceAsAWorkaround()
-
computePath
private java.lang.String computePath(javax.lang.model.element.ExecutableElement element)
-
resolveTypes
private java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>> resolveTypes(java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>> sourceTypes)
-
caseType
void caseType(javax.lang.model.type.TypeMirror type)
-
appendTypeArguments
private void appendTypeArguments(javax.lang.model.type.TypeMirror type, javax.lang.model.type.DeclaredType declaredType)
-
typeAnnotationHandle
private void typeAnnotationHandle(javax.lang.model.type.TypeMirror argument)
-
assignElementNullness
private void assignElementNullness(java.lang.String annotationString)
-
cutTypeArgument
private void cutTypeArgument(javax.lang.model.type.TypeMirror type, int mark)
-
collectUnresolvedYetArgumentsTo
void collectUnresolvedYetArgumentsTo(java.util.Set<java.lang.String> unresolvedYetArguments)
-
-