Package org.objectweb.asm.util
Class TraceSignatureVisitor
java.lang.Object
org.objectweb.asm.signature.SignatureVisitor
org.objectweb.asm.util.TraceSignatureVisitor
A
SignatureVisitor that builds the Java generic type declaration corresponding to the
signature it visits.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intThe stack used to keep track of class types that have arguments.private intThe stack used to keep track of array class types.private static final Stringprivate final StringBuilderThe Java generic type declaration corresponding to the visited signature.private StringBuilderThe Java generic exception types declaration corresponding to the visited signature.private static final Stringprivate booleanWhethervisitFormalTypeParameter(java.lang.String)has been called.private static final Stringprivate booleanWhethervisitInterfaceBound()has been called.private booleanWhethervisitInterface()has been called.private final booleanWhether the visited signature is a class signature of a Java interface.private booleanWhethervisitParameterType()has been called.private StringBuilderThe Java generic method return type declaration corresponding to the visited signature.private StringThe separator to append before the next visited class or inner class type.Fields inherited from class org.objectweb.asm.signature.SignatureVisitor
api, EXTENDS, INSTANCEOF, SUPER -
Constructor Summary
ConstructorsModifierConstructorDescriptionTraceSignatureVisitor(int accessFlags) Constructs a newTraceSignatureVisitor.privateTraceSignatureVisitor(StringBuilder stringBuilder) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidprivate voidendType()Returns the Java generic type declaration corresponding to the visited signature.Returns the Java generic exception types declaration corresponding to the visited signature.Returns the Java generic method return type declaration corresponding to the visited signature.private voidVisits a signature corresponding to an array type.voidvisitBaseType(char descriptor) Visits a signature corresponding to a primitive type.Visits the class bound of the last visited formal type parameter.voidvisitClassType(String name) Starts the visit of a signature corresponding to a class or interface type.voidvisitEnd()Ends the visit of a signature corresponding to a class or interface type.Visits the type of a method exception.voidVisits a formal type parameter.voidvisitInnerClassType(String name) Visits an inner class.Visits the type of an interface implemented by the class.Visits an interface bound of the last visited formal type parameter.Visits the type of a method parameter.Visits the return type of the method.Visits the type of the super class.voidVisits an unbounded type argument of the last visited class or inner class type.visitTypeArgument(char tag) Visits a type argument of the last visited class or inner class type.voidvisitTypeVariable(String name) Visits a signature corresponding to a type variable.
-
Field Details
-
COMMA_SEPARATOR
- See Also:
-
EXTENDS_SEPARATOR
- See Also:
-
IMPLEMENTS_SEPARATOR
- See Also:
-
BASE_TYPES
-
isInterface
private final boolean isInterfaceWhether the visited signature is a class signature of a Java interface. -
declaration
The Java generic type declaration corresponding to the visited signature. -
returnType
The Java generic method return type declaration corresponding to the visited signature. -
exceptions
The Java generic exception types declaration corresponding to the visited signature. -
formalTypeParameterVisited
private boolean formalTypeParameterVisitedWhethervisitFormalTypeParameter(java.lang.String)has been called. -
interfaceBoundVisited
private boolean interfaceBoundVisitedWhethervisitInterfaceBound()has been called. -
parameterTypeVisited
private boolean parameterTypeVisitedWhethervisitParameterType()has been called. -
interfaceVisited
private boolean interfaceVisitedWhethervisitInterface()has been called. -
argumentStack
private int argumentStackThe stack used to keep track of class types that have arguments. Each element of this stack is a boolean encoded in one bit. The top of the stack is the least significant bit. Pushing false = *2, pushing true = *2+1, popping = /2. -
arrayStack
private int arrayStackThe stack used to keep track of array class types. Each element of this stack is a boolean encoded in one bit. The top of the stack is the lowest order bit. Pushing false = *2, pushing true = *2+1, popping = /2. -
separator
The separator to append before the next visited class or inner class type.
-
-
Constructor Details
-
TraceSignatureVisitor
public TraceSignatureVisitor(int accessFlags) Constructs a newTraceSignatureVisitor.- Parameters:
accessFlags- for class type signatures, the access flags of the class.
-
TraceSignatureVisitor
-
-
Method Details
-
visitFormalTypeParameter
Description copied from class:SignatureVisitorVisits a formal type parameter.- Overrides:
visitFormalTypeParameterin classSignatureVisitor- Parameters:
name- the name of the formal parameter.
-
visitClassBound
Description copied from class:SignatureVisitorVisits the class bound of the last visited formal type parameter.- Overrides:
visitClassBoundin classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the class bound.
-
visitInterfaceBound
Description copied from class:SignatureVisitorVisits an interface bound of the last visited formal type parameter.- Overrides:
visitInterfaceBoundin classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the interface bound.
-
visitSuperclass
Description copied from class:SignatureVisitorVisits the type of the super class.- Overrides:
visitSuperclassin classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the super class type.
-
visitInterface
Description copied from class:SignatureVisitorVisits the type of an interface implemented by the class.- Overrides:
visitInterfacein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the interface type.
-
visitParameterType
Description copied from class:SignatureVisitorVisits the type of a method parameter.- Overrides:
visitParameterTypein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the parameter type.
-
visitReturnType
Description copied from class:SignatureVisitorVisits the return type of the method.- Overrides:
visitReturnTypein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the return type.
-
visitExceptionType
Description copied from class:SignatureVisitorVisits the type of a method exception.- Overrides:
visitExceptionTypein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the exception type.
-
visitBaseType
public void visitBaseType(char descriptor) Description copied from class:SignatureVisitorVisits a signature corresponding to a primitive type.- Overrides:
visitBaseTypein classSignatureVisitor- Parameters:
descriptor- the descriptor of the primitive type, or 'V' forvoid.
-
visitTypeVariable
Description copied from class:SignatureVisitorVisits a signature corresponding to a type variable.- Overrides:
visitTypeVariablein classSignatureVisitor- Parameters:
name- the name of the type variable.
-
visitArrayType
Description copied from class:SignatureVisitorVisits a signature corresponding to an array type.- Overrides:
visitArrayTypein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the array element type.
-
visitClassType
Description copied from class:SignatureVisitorStarts the visit of a signature corresponding to a class or interface type.- Overrides:
visitClassTypein classSignatureVisitor- Parameters:
name- the internal name of the class or interface (seeType.getInternalName()).
-
visitInnerClassType
Description copied from class:SignatureVisitorVisits an inner class.- Overrides:
visitInnerClassTypein classSignatureVisitor- Parameters:
name- the local name of the inner class in its enclosing class.
-
visitTypeArgument
public void visitTypeArgument()Description copied from class:SignatureVisitorVisits an unbounded type argument of the last visited class or inner class type.- Overrides:
visitTypeArgumentin classSignatureVisitor
-
visitTypeArgument
Description copied from class:SignatureVisitorVisits a type argument of the last visited class or inner class type.- Overrides:
visitTypeArgumentin classSignatureVisitor- Parameters:
tag- '+', '-' or '='.- Returns:
- a non null visitor to visit the signature of the type argument.
-
visitEnd
public void visitEnd()Description copied from class:SignatureVisitorEnds the visit of a signature corresponding to a class or interface type.- Overrides:
visitEndin classSignatureVisitor
-
getDeclaration
Returns the Java generic type declaration corresponding to the visited signature.- Returns:
- the Java generic type declaration corresponding to the visited signature.
-
getReturnType
Returns the Java generic method return type declaration corresponding to the visited signature.- Returns:
- the Java generic method return type declaration corresponding to the visited signature.
-
getExceptions
Returns the Java generic exception types declaration corresponding to the visited signature.- Returns:
- the Java generic exception types declaration corresponding to the visited signature.
-
endFormals
private void endFormals() -
startType
private void startType() -
endType
private void endType()
-