Package jodd.asm9.signature
Class SignatureVisitor
- java.lang.Object
-
- jodd.asm9.signature.SignatureVisitor
-
- Direct Known Subclasses:
TraceSignatureVisitor
public abstract class SignatureVisitor extends java.lang.Object
A visitor to visit a generic signature. The methods of this interface must be called in one of the three following orders (the last one is the only valid order for aSignatureVisitor
that is returned by a method of this interface):- ClassSignature = (
visitFormalTypeParameter
visitClassBound
?visitInterfaceBound
* )* (visitSuperclass
visitInterface
* ) - MethodSignature = (
visitFormalTypeParameter
visitClassBound
?visitInterfaceBound
* )* (visitParameterType
*visitReturnType
visitExceptionType
* ) - TypeSignature =
visitBaseType
|visitTypeVariable
|visitArrayType
| (visitClassType
visitTypeArgument
* (visitInnerClassType
visitTypeArgument
* )*visitEnd
) )
-
-
Field Summary
Fields Modifier and Type Field Description protected int
api
The ASM API version implemented by this visitor.static char
EXTENDS
Wildcard for an "extends" type argument.static char
INSTANCEOF
Wildcard for a normal type argument.static char
SUPER
Wildcard for a "super" type argument.
-
Constructor Summary
Constructors Constructor Description SignatureVisitor(int api)
Constructs a newSignatureVisitor
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SignatureVisitor
visitArrayType()
Visits a signature corresponding to an array type.void
visitBaseType(char descriptor)
Visits a signature corresponding to a primitive type.SignatureVisitor
visitClassBound()
Visits the class bound of the last visited formal type parameter.void
visitClassType(java.lang.String name)
Starts the visit of a signature corresponding to a class or interface type.void
visitEnd()
Ends the visit of a signature corresponding to a class or interface type.SignatureVisitor
visitExceptionType()
Visits the type of a method exception.void
visitFormalTypeParameter(java.lang.String name)
Visits a formal type parameter.void
visitInnerClassType(java.lang.String name)
Visits an inner class.SignatureVisitor
visitInterface()
Visits the type of an interface implemented by the class.SignatureVisitor
visitInterfaceBound()
Visits an interface bound of the last visited formal type parameter.SignatureVisitor
visitParameterType()
Visits the type of a method parameter.SignatureVisitor
visitReturnType()
Visits the return type of the method.SignatureVisitor
visitSuperclass()
Visits the type of the super class.void
visitTypeArgument()
Visits an unbounded type argument of the last visited class or inner class type.SignatureVisitor
visitTypeArgument(char wildcard)
Visits a type argument of the last visited class or inner class type.void
visitTypeVariable(java.lang.String name)
Visits a signature corresponding to a type variable.
-
-
-
Field Detail
-
EXTENDS
public static final char EXTENDS
Wildcard for an "extends" type argument.- See Also:
- Constant Field Values
-
SUPER
public static final char SUPER
Wildcard for a "super" type argument.- See Also:
- Constant Field Values
-
INSTANCEOF
public static final char INSTANCEOF
Wildcard for a normal type argument.- See Also:
- Constant Field Values
-
api
protected final int api
The ASM API version implemented by this visitor. The value of this field must be one ofOpcodes.ASM4
,Opcodes.ASM5
,Opcodes.ASM6
orOpcodes.ASM7
.
-
-
Constructor Detail
-
SignatureVisitor
public SignatureVisitor(int api)
Constructs a newSignatureVisitor
.- Parameters:
api
- the ASM API version implemented by this visitor. Must be one ofOpcodes.ASM4
,Opcodes.ASM5
,Opcodes.ASM6
orOpcodes.ASM7
.
-
-
Method Detail
-
visitFormalTypeParameter
public void visitFormalTypeParameter(java.lang.String name)
Visits a formal type parameter.- Parameters:
name
- the name of the formal parameter.
-
visitClassBound
public SignatureVisitor visitClassBound()
Visits the class bound of the last visited formal type parameter.- Returns:
- a non null visitor to visit the signature of the class bound.
-
visitInterfaceBound
public SignatureVisitor visitInterfaceBound()
Visits an interface bound of the last visited formal type parameter.- Returns:
- a non null visitor to visit the signature of the interface bound.
-
visitSuperclass
public SignatureVisitor visitSuperclass()
Visits the type of the super class.- Returns:
- a non null visitor to visit the signature of the super class type.
-
visitInterface
public SignatureVisitor visitInterface()
Visits the type of an interface implemented by the class.- Returns:
- a non null visitor to visit the signature of the interface type.
-
visitParameterType
public SignatureVisitor visitParameterType()
Visits the type of a method parameter.- Returns:
- a non null visitor to visit the signature of the parameter type.
-
visitReturnType
public SignatureVisitor visitReturnType()
Visits the return type of the method.- Returns:
- a non null visitor to visit the signature of the return type.
-
visitExceptionType
public SignatureVisitor visitExceptionType()
Visits the type of a method exception.- Returns:
- a non null visitor to visit the signature of the exception type.
-
visitBaseType
public void visitBaseType(char descriptor)
Visits a signature corresponding to a primitive type.- Parameters:
descriptor
- the descriptor of the primitive type, or 'V' forvoid
.
-
visitTypeVariable
public void visitTypeVariable(java.lang.String name)
Visits a signature corresponding to a type variable.- Parameters:
name
- the name of the type variable.
-
visitArrayType
public SignatureVisitor visitArrayType()
Visits a signature corresponding to an array type.- Returns:
- a non null visitor to visit the signature of the array element type.
-
visitClassType
public void visitClassType(java.lang.String name)
Starts the visit of a signature corresponding to a class or interface type.- Parameters:
name
- the internal name of the class or interface.
-
visitInnerClassType
public void visitInnerClassType(java.lang.String name)
Visits an inner class.- Parameters:
name
- the local name of the inner class in its enclosing class.
-
visitTypeArgument
public void visitTypeArgument()
Visits an unbounded type argument of the last visited class or inner class type.
-
visitTypeArgument
public SignatureVisitor visitTypeArgument(char wildcard)
Visits a type argument of the last visited class or inner class type.- Parameters:
wildcard
- '+', '-' or '='.- Returns:
- a non null visitor to visit the signature of the type argument.
-
visitEnd
public void visitEnd()
Ends the visit of a signature corresponding to a class or interface type.
-
-