Class TraceSignatureVisitor


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

      • EXTENDS_SEPARATOR

        private static final java.lang.String EXTENDS_SEPARATOR
        See Also:
        Constant Field Values
      • IMPLEMENTS_SEPARATOR

        private static final java.lang.String IMPLEMENTS_SEPARATOR
        See Also:
        Constant Field Values
      • BASE_TYPES

        private static final java.util.Map<java.lang.Character,​java.lang.String> BASE_TYPES
      • isInterface

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

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

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

        private java.lang.StringBuilder exceptions
        The Java generic exception types declaration corresponding to the visited signature.
      • 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 java.lang.String separator
        The separator to append before the next visited class or inner class type.
    • Constructor Detail

      • TraceSignatureVisitor

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

        private TraceSignatureVisitor​(java.lang.StringBuilder stringBuilder)
    • Method Detail

      • visitFormalTypeParameter

        public void visitFormalTypeParameter​(java.lang.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.
      • 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​(java.lang.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.
      • visitClassType

        public void visitClassType​(java.lang.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​(java.lang.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 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 java.lang.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 java.lang.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 java.lang.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()