Class GenericSignatureParser


  • class GenericSignatureParser
    extends java.lang.Object
    A simple recursive decent generic signature parser.
    • Field Detail

      • UNBOUNDED_WILDCARD

        private static final WildcardType UNBOUNDED_WILDCARD
      • signature

        private java.lang.String signature
      • pos

        private int pos
      • typeParameters

        private java.util.Map<java.lang.String,​TypeVariable> typeParameters
      • elementTypeParameters

        private java.util.Map<java.lang.String,​TypeVariable> elementTypeParameters
      • classTypeParameters

        private java.util.Map<java.lang.String,​TypeVariable> classTypeParameters
      • currentClassName

        private DotName currentClassName
      • typeVariableStack

        private java.util.Deque<TypeVariable> typeVariableStack
    • Constructor Detail

      • GenericSignatureParser

        GenericSignatureParser​(NameTable names)
    • Method Detail

      • beforeNewClass

        void beforeNewClass​(DotName className)
      • beforeNewElement

        void beforeNewElement()
      • expect

        private void expect​(char c)
      • parseFieldSignature

        Type parseFieldSignature​(java.lang.String signature)
      • parseClassTypeSignature

        private Type parseClassTypeSignature()
      • parseTypeArguments

        private Type[] parseTypeArguments()
      • parseTypeParameters

        private Type[] parseTypeParameters()
      • parseTypeList

        private Type[] parseTypeList​(boolean argument)
      • parseTypeArgument

        private Type parseTypeArgument()
      • parseWildCard

        private Type parseWildCard​(boolean isExtends)
      • parseTypeParameter

        private Type parseTypeParameter()
      • parseReturnType

        private Type parseReturnType()
      • parseReferenceType

        private Type parseReferenceType()
      • parseArrayType

        private Type parseArrayType()
      • parseTypeVariable

        private Type parseTypeVariable()
      • resolveTypeList

        private void resolveTypeList​(java.util.ArrayList<Type> list)
      • findOnTypeVariableStack

        private TypeVariable findOnTypeVariableStack​(java.lang.String typeVariableIdentifier)
      • isRecursive

        private boolean isRecursive​(Type type)
      • resolveType

        private Type resolveType​(Type type,
                                 boolean isRecursive)
      • patchTypeVariableReferences

        private void patchTypeVariableReferences​(Type type)
      • resolveType

        private TypeVariable resolveType​(java.lang.String identifier)
      • parseJavaType

        private Type parseJavaType()
      • advancePast

        private int advancePast​(char c)
      • advanceNot

        private int advanceNot​(char c)
      • parseName

        private DotName parseName()
      • advanceNameEnd

        private int advanceNameEnd()
      • main

        public static void main​(java.lang.String[] args)
                         throws java.io.IOException
        Throws:
        java.io.IOException