Package org.jboss.jandex
Class GenericSignatureParser
- java.lang.Object
-
- org.jboss.jandex.GenericSignatureParser
-
class GenericSignatureParser extends java.lang.Object
A simple recursive decent generic signature parser.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
GenericSignatureParser.ClassSignature
(package private) static class
GenericSignatureParser.MethodSignature
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,TypeVariable>
classTypeParameters
private DotName
currentClassName
private java.util.Map<java.lang.String,TypeVariable>
elementTypeParameters
private NameTable
names
private int
pos
private java.lang.String
signature
private java.util.Map<java.lang.String,TypeVariable>
typeParameters
private java.util.Deque<TypeVariable>
typeVariableStack
private static WildcardType
UNBOUNDED_WILDCARD
-
Constructor Summary
Constructors Constructor Description GenericSignatureParser(NameTable names)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private int
advanceNameEnd()
private int
advanceNot(char c)
private int
advancePast(char c)
(package private) void
beforeNewClass(DotName className)
(package private) void
beforeNewElement()
private void
expect(char c)
private TypeVariable
findOnTypeVariableStack(java.lang.String typeVariableIdentifier)
private boolean
isRecursive(Type type)
static void
main(java.lang.String[] args)
private Type
parseArrayType()
(package private) GenericSignatureParser.ClassSignature
parseClassSignature(java.lang.String signature, DotName className)
private Type
parseClassTypeSignature()
(package private) Type
parseFieldSignature(java.lang.String signature)
private Type
parseJavaType()
(package private) GenericSignatureParser.MethodSignature
parseMethodSignature(java.lang.String signature)
private DotName
parseName()
private Type
parseReferenceType()
private Type
parseReturnType()
private Type
parseTypeArgument()
private Type[]
parseTypeArguments()
private Type[]
parseTypeList(boolean argument)
private Type
parseTypeParameter()
private Type[]
parseTypeParameters()
private Type
parseTypeVariable()
private Type
parseWildCard(boolean isExtends)
private void
patchTypeVariableReferences(Type type)
private TypeVariable
resolveType(java.lang.String identifier)
private Type
resolveType(Type type, boolean isRecursive)
private void
resolveTypeList(java.util.ArrayList<Type> list)
-
-
-
Field Detail
-
UNBOUNDED_WILDCARD
private static final WildcardType UNBOUNDED_WILDCARD
-
signature
private java.lang.String signature
-
pos
private int pos
-
names
private NameTable names
-
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()
-
parseClassSignature
GenericSignatureParser.ClassSignature parseClassSignature(java.lang.String signature, DotName className)
-
expect
private void expect(char c)
-
parseFieldSignature
Type parseFieldSignature(java.lang.String signature)
-
parseMethodSignature
GenericSignatureParser.MethodSignature parseMethodSignature(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)
-
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
-
-