Class SignatureVisitor

java.lang.Object
org.objectweb.asm.signature.SignatureVisitor
Direct Known Subclasses:
CheckSignatureAdapter, SignatureRemapper, SignatureWriter, TraceSignatureVisitor

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 a SignatureVisitor 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 Details

    • EXTENDS

      public static final char EXTENDS
      Wildcard for an "extends" type argument.
      See Also:
    • SUPER

      public static final char SUPER
      Wildcard for a "super" type argument.
      See Also:
    • INSTANCEOF

      public static final char INSTANCEOF
      Wildcard for a normal type argument.
      See Also:
    • api

      protected final int api
      The ASM API version implemented by this visitor. The value of this field must be one of the ASMx values in Opcodes.
  • Constructor Details

    • SignatureVisitor

      protected SignatureVisitor(int api)
      Constructs a new SignatureVisitor.
      Parameters:
      api - the ASM API version implemented by this visitor. Must be one of the ASMx values in Opcodes.
  • Method Details

    • 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' for void .
    • 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 (see Type.getInternalName()).
    • 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.