Class TypeStringProvider

java.lang.Object
org.immutables.value.processor.meta.TypeStringProvider

class TypeStringProvider extends Object
Encapsulates routines and various hacks for get relevant strings for the raw types and type parameters, while attempting to resolve unresolved types using source imports.
  • Field Details

    • startType

      private final TypeMirror startType
    • element

      private final Element element
    • typeParameterStrings

      private final List<String> typeParameterStrings
    • buffer

      private StringBuilder buffer
    • unresolvedTypeHasOccured

      boolean unresolvedTypeHasOccured
    • hasMaybeUnresolvedYetAfter

      boolean hasMaybeUnresolvedYetAfter
    • hasTypeVariables

      boolean hasTypeVariables
    • rawTypeName

      private String rawTypeName
    • returnTypeName

      private String returnTypeName
    • ended

      private boolean ended
    • workaroundTypeParameters

      @Nullable private List<String> workaroundTypeParameters
    • workaroundTypeString

      @Nullable private String workaroundTypeString
    • reporter

      private final Reporter reporter
    • allowedTypevars

      private final String[] allowedTypevars
    • typevarArguments

      @Nullable private final String[] typevarArguments
    • importsResolver

      private final ImportsTypeStringResolver importsResolver
    • elementTypeAnnotations

      @Nullable String elementTypeAnnotations
    • secondaryElementTypeAnnotation

      @Nullable String secondaryElementTypeAnnotation
    • processNestedTypeUseAnnotations

      boolean processNestedTypeUseAnnotations
    • forAttribute

      boolean forAttribute
    • nullElements

    • nullableTypeAnnotation

      boolean nullableTypeAnnotation
    • sourceExtractionCache

    • unresolvedYetArguments

      private Set<String> unresolvedYetArguments
    • EPHEMERAL_ANNOTATION_NULLABLE

      static final String EPHEMERAL_ANNOTATION_NULLABLE
      See Also:
    • EPHEMERAL_ANNOTATION_ALLOW_NULLS

      static final String EPHEMERAL_ANNOTATION_ALLOW_NULLS
      See Also:
    • EPHEMERAL_ANNOTATION_SKIP_NULLS

      static final String EPHEMERAL_ANNOTATION_SKIP_NULLS
      See Also:
  • Constructor Details

  • Method Details

    • rawTypeName

      String rawTypeName()
    • returnTypeName

      String returnTypeName()
    • hasSomeUnresovedTypes

      boolean hasSomeUnresovedTypes()
    • typeParameters

      com.google.common.collect.ImmutableList<String> typeParameters()
    • process

      void process()
    • appendResolved

      private void appendResolved(DeclaredType type)
    • insertTypeAnnotationsIfPresent

      private void insertTypeAnnotationsIfPresent(TypeMirror type, int typeStart, int typeEnd)
    • typeAnnotationsToBuffer

      private StringBuilder typeAnnotationsToBuffer(List<? extends AnnotationMirror> annotations, boolean nestedTypeUse)
    • tryToUseSourceAsAWorkaround

      private boolean tryToUseSourceAsAWorkaround()
    • computePath

      private String computePath(ExecutableElement element)
    • resolveTypes

      private Map.Entry<String,List<String>> resolveTypes(Map.Entry<String,List<String>> sourceTypes)
    • caseType

      void caseType(TypeMirror type)
    • appendTypeArguments

      private void appendTypeArguments(TypeMirror type, DeclaredType declaredType)
    • typeAnnotationHandle

      private void typeAnnotationHandle(TypeMirror argument)
    • assignElementNullness

      private void assignElementNullness(String annotationString)
    • cutTypeArgument

      private void cutTypeArgument(TypeMirror type, int mark)
    • collectUnresolvedYetArgumentsTo

      void collectUnresolvedYetArgumentsTo(Set<String> unresolvedYetArguments)