Package org.mvel2.asm.signature
Class SignatureVisitor
- java.lang.Object
-
- org.mvel2.asm.signature.SignatureVisitor
-
- Direct Known Subclasses:
SignatureWriter
public abstract class SignatureVisitor extends 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 aSignatureVisitorthat is returned by a method of this interface):- ClassSignature = (
visitFormalTypeParametervisitClassBound?visitInterfaceBound* )* (visitSuperclassvisitInterface* ) - MethodSignature = (
visitFormalTypeParametervisitClassBound?visitInterfaceBound* )* (visitParameterType*visitReturnTypevisitExceptionType* ) - TypeSignature =
visitBaseType|visitTypeVariable|visitArrayType| (visitClassTypevisitTypeArgument* (visitInnerClassTypevisitTypeArgument* )*visitEnd) )
- Author:
- Thomas Hallgren, Eric Bruneton
-
-
Field Summary
Fields Modifier and Type Field Description protected intapiThe ASM API version implemented by this visitor.static charEXTENDSWildcard for an "extends" type argument.static charINSTANCEOFWildcard for a normal type argument.static charSUPERWildcard 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 SignatureVisitorvisitArrayType()Visits a signature corresponding to an array type.voidvisitBaseType(char descriptor)Visits a signature corresponding to a primitive type.SignatureVisitorvisitClassBound()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.SignatureVisitorvisitExceptionType()Visits the type of a method exception.voidvisitFormalTypeParameter(String name)Visits a formal type parameter.voidvisitInnerClassType(String name)Visits an inner class.SignatureVisitorvisitInterface()Visits the type of an interface implemented by the class.SignatureVisitorvisitInterfaceBound()Visits an interface bound of the last visited formal type parameter.SignatureVisitorvisitParameterType()Visits the type of a method parameter.SignatureVisitorvisitReturnType()Visits the return type of the method.SignatureVisitorvisitSuperclass()Visits the type of the super class.voidvisitTypeArgument()Visits an unbounded type argument of the last visited class or inner class type.SignatureVisitorvisitTypeArgument(char wildcard)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 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.ASM6orOpcodes.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.ASM6orOpcodes.ASM7.
-
-
Method Detail
-
visitFormalTypeParameter
public void visitFormalTypeParameter(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(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(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(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.
-
-