Class TraceSignatureVisitor

java.lang.Object
org.objectweb.asm.signature.SignatureVisitor
org.objectweb.asm.util.TraceSignatureVisitor

public final class TraceSignatureVisitor extends SignatureVisitor
A SignatureVisitor that builds the Java generic type declaration corresponding to the signature it visits.
  • Field Details

    • COMMA_SEPARATOR

      private static final String COMMA_SEPARATOR
      See Also:
    • EXTENDS_SEPARATOR

      private static final String EXTENDS_SEPARATOR
      See Also:
    • IMPLEMENTS_SEPARATOR

      private static final String IMPLEMENTS_SEPARATOR
      See Also:
    • BASE_TYPES

      private static final Map<Character,String> BASE_TYPES
    • isInterface

      private final boolean isInterface
      Whether the visited signature is a class signature of a Java interface.
    • declaration

      private final StringBuilder declaration
      The Java generic type declaration corresponding to the visited signature.
    • returnType

      private StringBuilder returnType
      The Java generic method return type declaration corresponding to the visited signature.
    • exceptions

      private StringBuilder exceptions
      The Java generic exception types declaration corresponding to the visited signature.
    • formalTypeParameterVisited

      private boolean formalTypeParameterVisited
    • interfaceBoundVisited

      private boolean interfaceBoundVisited
      Whether visitInterfaceBound() has been called.
    • parameterTypeVisited

      private boolean parameterTypeVisited
      Whether visitParameterType() has been called.
    • interfaceVisited

      private boolean interfaceVisited
      Whether visitInterface() has been called.
    • argumentStack

      private int argumentStack
      The 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 arrayStack
      The 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

      private String separator
      The separator to append before the next visited class or inner class type.
  • Constructor Details

    • TraceSignatureVisitor

      public TraceSignatureVisitor(int accessFlags)
      Constructs a new TraceSignatureVisitor.
      Parameters:
      accessFlags - for class type signatures, the access flags of the class.
    • TraceSignatureVisitor

      private TraceSignatureVisitor(StringBuilder stringBuilder)
  • Method Details

    • visitFormalTypeParameter

      public void visitFormalTypeParameter(String name)
      Description copied from class: SignatureVisitor
      Visits a formal type parameter.
      Overrides:
      visitFormalTypeParameter in class SignatureVisitor
      Parameters:
      name - the name of the formal parameter.
    • visitClassBound

      public SignatureVisitor visitClassBound()
      Description copied from class: SignatureVisitor
      Visits the class bound of the last visited formal type parameter.
      Overrides:
      visitClassBound in class SignatureVisitor
      Returns:
      a non null visitor to visit the signature of the class bound.
    • visitInterfaceBound

      public SignatureVisitor visitInterfaceBound()
      Description copied from class: SignatureVisitor
      Visits an interface bound of the last visited formal type parameter.
      Overrides:
      visitInterfaceBound in class SignatureVisitor
      Returns:
      a non null visitor to visit the signature of the interface bound.
    • visitSuperclass

      public SignatureVisitor visitSuperclass()
      Description copied from class: SignatureVisitor
      Visits the type of the super class.
      Overrides:
      visitSuperclass in class SignatureVisitor
      Returns:
      a non null visitor to visit the signature of the super class type.
    • visitInterface

      public SignatureVisitor visitInterface()
      Description copied from class: SignatureVisitor
      Visits the type of an interface implemented by the class.
      Overrides:
      visitInterface in class SignatureVisitor
      Returns:
      a non null visitor to visit the signature of the interface type.
    • visitParameterType

      public SignatureVisitor visitParameterType()
      Description copied from class: SignatureVisitor
      Visits the type of a method parameter.
      Overrides:
      visitParameterType in class SignatureVisitor
      Returns:
      a non null visitor to visit the signature of the parameter type.
    • visitReturnType

      public SignatureVisitor visitReturnType()
      Description copied from class: SignatureVisitor
      Visits the return type of the method.
      Overrides:
      visitReturnType in class SignatureVisitor
      Returns:
      a non null visitor to visit the signature of the return type.
    • visitExceptionType

      public SignatureVisitor visitExceptionType()
      Description copied from class: SignatureVisitor
      Visits the type of a method exception.
      Overrides:
      visitExceptionType in class SignatureVisitor
      Returns:
      a non null visitor to visit the signature of the exception type.
    • visitBaseType

      public void visitBaseType(char descriptor)
      Description copied from class: SignatureVisitor
      Visits a signature corresponding to a primitive type.
      Overrides:
      visitBaseType in class SignatureVisitor
      Parameters:
      descriptor - the descriptor of the primitive type, or 'V' for void .
    • visitTypeVariable

      public void visitTypeVariable(String name)
      Description copied from class: SignatureVisitor
      Visits a signature corresponding to a type variable.
      Overrides:
      visitTypeVariable in class SignatureVisitor
      Parameters:
      name - the name of the type variable.
    • visitArrayType

      public SignatureVisitor visitArrayType()
      Description copied from class: SignatureVisitor
      Visits a signature corresponding to an array type.
      Overrides:
      visitArrayType in class SignatureVisitor
      Returns:
      a non null visitor to visit the signature of the array element type.
    • visitClassType

      public void visitClassType(String name)
      Description copied from class: SignatureVisitor
      Starts the visit of a signature corresponding to a class or interface type.
      Overrides:
      visitClassType in class SignatureVisitor
      Parameters:
      name - the internal name of the class or interface.
    • visitInnerClassType

      public void visitInnerClassType(String name)
      Description copied from class: SignatureVisitor
      Visits an inner class.
      Overrides:
      visitInnerClassType in class SignatureVisitor
      Parameters:
      name - the local name of the inner class in its enclosing class.
    • visitTypeArgument

      public void visitTypeArgument()
      Description copied from class: SignatureVisitor
      Visits an unbounded type argument of the last visited class or inner class type.
      Overrides:
      visitTypeArgument in class SignatureVisitor
    • visitTypeArgument

      public SignatureVisitor visitTypeArgument(char tag)
      Description copied from class: SignatureVisitor
      Visits a type argument of the last visited class or inner class type.
      Overrides:
      visitTypeArgument in class SignatureVisitor
      Parameters:
      tag - '+', '-' or '='.
      Returns:
      a non null visitor to visit the signature of the type argument.
    • visitEnd

      public void visitEnd()
      Description copied from class: SignatureVisitor
      Ends the visit of a signature corresponding to a class or interface type.
      Overrides:
      visitEnd in class SignatureVisitor
    • getDeclaration

      public String getDeclaration()
      Returns the Java generic type declaration corresponding to the visited signature.
      Returns:
      the Java generic type declaration corresponding to the visited signature.
    • getReturnType

      public String 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

      public String 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()