protected class TypePool.Default.TypeExtractor
extends org.objectweb.asm.ClassVisitor
Modifier and Type | Class and Description |
---|---|
protected class |
TypePool.Default.TypeExtractor.AnnotationExtractor
An annotation extractor reads an annotation found in a class field an collects data that
is relevant to creating a related annotation description.
|
protected class |
TypePool.Default.TypeExtractor.FieldExtractor
A field extractor reads a field within a class file and collects data that is relevant
to creating a related field description.
|
protected class |
TypePool.Default.TypeExtractor.MethodExtractor
A method extractor reads a method within a class file and collects data that is relevant
to creating a related method description.
|
Modifier and Type | Field and Description |
---|---|
private int |
actualModifiers
The actual modifiers found for this type.
|
private java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken> |
annotationTokens
A list of annotation tokens describing annotations that are found on the visited type.
|
private boolean |
anonymousType
true if this type was found to represent an anonymous type. |
private java.util.List<java.lang.String> |
declaredTypes
A list of descriptors representing the types that are declared by the parsed type.
|
private java.lang.String |
declaringTypeName
The binary name of this type's declaring type or
null if no such type exists. |
private java.util.List<TypePool.Default.LazyTypeDescription.FieldToken> |
fieldTokens
A list of field tokens describing fields that are found on the visited type.
|
private java.lang.String |
genericSignature
The generic signature of the type or
null if it is not generic. |
private java.lang.String[] |
interfaceName
A list of internal names of interfaces implemented by this type or
null if no interfaces
are implemented. |
private java.lang.String |
internalName
The internal name found for this type.
|
private java.util.List<TypePool.Default.LazyTypeDescription.MethodToken> |
methodTokens
A list of method tokens describing annotations that are found on the visited type.
|
private int |
modifiers
The modifiers found for this type.
|
private java.lang.String |
nestHost
The nest host that was found in the class file or
null if no nest host was specified. |
private java.util.List<java.lang.String> |
nestMembers
A list of nest members that were found in the class file.
|
private static int |
REAL_MODIFIER_MASK
A mask that cuts off pseudo flags beyond the second byte that are inserted by ASM.
|
private java.lang.String |
superClassName
The internal name of the super type found for this type or
null if no such type exists. |
private java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>> |
superTypeAnnotationTokens
A mapping of the super types' type annotation tokens by their indices.
|
private TypePool.Default.LazyTypeDescription.TypeContainment |
typeContainment
The declaration context found for this type.
|
private java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>> |
typeVariableAnnotationTokens
A mapping of the type variables' type annotation tokens by their indices.
|
private java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>>> |
typeVariableBoundsAnnotationTokens
A mapping of the type variables' bounds' type annotation tokens by their indices and each variables index.
|
Modifier | Constructor and Description |
---|---|
protected |
TypeExtractor()
Creates a new type extractor.
|
Modifier and Type | Method and Description |
---|---|
protected TypeDescription |
toTypeDescription()
Creates a type description from all data that is currently collected.
|
void |
visit(int classFileVersion,
int modifiers,
java.lang.String internalName,
java.lang.String genericSignature,
java.lang.String superClassName,
java.lang.String[] interfaceName) |
org.objectweb.asm.AnnotationVisitor |
visitAnnotation(java.lang.String descriptor,
boolean visible) |
org.objectweb.asm.FieldVisitor |
visitField(int modifiers,
java.lang.String internalName,
java.lang.String descriptor,
java.lang.String genericSignature,
java.lang.Object defaultValue) |
void |
visitInnerClass(java.lang.String internalName,
java.lang.String outerName,
java.lang.String innerName,
int modifiers) |
org.objectweb.asm.MethodVisitor |
visitMethod(int modifiers,
java.lang.String internalName,
java.lang.String descriptor,
java.lang.String genericSignature,
java.lang.String[] exceptionName) |
void |
visitNestHost(java.lang.String nestHost) |
void |
visitNestMember(java.lang.String nestMember) |
void |
visitOuterClass(java.lang.String typeName,
java.lang.String methodName,
java.lang.String methodDescriptor) |
org.objectweb.asm.AnnotationVisitor |
visitTypeAnnotation(int rawTypeReference,
org.objectweb.asm.TypePath typePath,
java.lang.String descriptor,
boolean visible) |
private static final int REAL_MODIFIER_MASK
private final java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>> superTypeAnnotationTokens
private final java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>> typeVariableAnnotationTokens
private final java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>>> typeVariableBoundsAnnotationTokens
private final java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken> annotationTokens
private final java.util.List<TypePool.Default.LazyTypeDescription.FieldToken> fieldTokens
private final java.util.List<TypePool.Default.LazyTypeDescription.MethodToken> methodTokens
private int actualModifiers
private int modifiers
private java.lang.String internalName
private java.lang.String superClassName
null
if no such type exists.private java.lang.String genericSignature
null
if it is not generic.private java.lang.String[] interfaceName
null
if no interfaces
are implemented.private boolean anonymousType
true
if this type was found to represent an anonymous type.private java.lang.String nestHost
null
if no nest host was specified.private final java.util.List<java.lang.String> nestMembers
private TypePool.Default.LazyTypeDescription.TypeContainment typeContainment
private java.lang.String declaringTypeName
null
if no such type exists.private final java.util.List<java.lang.String> declaredTypes
public void visit(int classFileVersion, int modifiers, java.lang.String internalName, java.lang.String genericSignature, java.lang.String superClassName, java.lang.String[] interfaceName)
visit
in class org.objectweb.asm.ClassVisitor
public void visitOuterClass(java.lang.String typeName, java.lang.String methodName, java.lang.String methodDescriptor)
visitOuterClass
in class org.objectweb.asm.ClassVisitor
public void visitInnerClass(java.lang.String internalName, java.lang.String outerName, java.lang.String innerName, int modifiers)
visitInnerClass
in class org.objectweb.asm.ClassVisitor
public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int rawTypeReference, org.objectweb.asm.TypePath typePath, java.lang.String descriptor, boolean visible)
visitTypeAnnotation
in class org.objectweb.asm.ClassVisitor
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String descriptor, boolean visible)
visitAnnotation
in class org.objectweb.asm.ClassVisitor
public org.objectweb.asm.FieldVisitor visitField(int modifiers, java.lang.String internalName, java.lang.String descriptor, java.lang.String genericSignature, java.lang.Object defaultValue)
visitField
in class org.objectweb.asm.ClassVisitor
public org.objectweb.asm.MethodVisitor visitMethod(int modifiers, java.lang.String internalName, java.lang.String descriptor, java.lang.String genericSignature, java.lang.String[] exceptionName)
visitMethod
in class org.objectweb.asm.ClassVisitor
public void visitNestHost(java.lang.String nestHost)
visitNestHost
in class org.objectweb.asm.ClassVisitor
public void visitNestMember(java.lang.String nestMember)
visitNestMember
in class org.objectweb.asm.ClassVisitor
protected TypeDescription toTypeDescription()