jodd.proxetta.asm
Class MethodSignatureVisitor

java.lang.Object
  extended by jodd.proxetta.asm.TraceSignatureVisitor
      extended by jodd.proxetta.asm.MethodSignatureVisitor
All Implemented Interfaces:
MethodSignature, org.objectweb.asm.signature.SignatureVisitor

public class MethodSignatureVisitor
extends TraceSignatureVisitor
implements MethodSignature

Resolves method signature and holds all information. Uses TraceSignatureVisitor from ASM library.

 MethodSignature = ( visitFormalTypeParameter visitClassBound? visitInterfaceBound* )* ( visitParameterType* visitReturnType visitExceptionType* )
 


Field Summary
protected  int access
           
protected  java.util.List<AnnotationData> annotations
           
protected  int argumentsCount
           
protected  jodd.util.collection.IntArrayList argumentsOffset
           
protected  jodd.util.collection.IntArrayList argumentsOpcodeType
           
protected  java.util.List<java.lang.String> argumentsTypeNames
           
protected  int argumentsWords
           
protected  java.lang.String classname
           
protected  java.lang.String declaredClassName
           
protected  java.lang.String description
           
protected  java.lang.String methodName
           
protected  jodd.mutable.MutableInteger returnOpcodeType
           
protected  java.lang.StringBuilder returnTypeName
           
protected  java.lang.String signature
           
protected  boolean visitingArgument
           
 
Fields inherited from class jodd.proxetta.asm.TraceSignatureVisitor
argumentStack, arrayStack, declaration, exceptions, isInterface, returnType, seenFormalParameter, seenInterface, seenInterfaceBound, seenParameter, separator
 
Fields inherited from interface jodd.proxetta.MethodSignature
ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, TYPE_ANNOTATION, TYPE_ARRAY, TYPE_BOOLEAN, TYPE_BYTE, TYPE_CHAR, TYPE_CLASS, TYPE_DOUBLE, TYPE_ENUM, TYPE_FLOAT, TYPE_INT, TYPE_LONG, TYPE_REFERENCE, TYPE_SHORT, TYPE_STRING, TYPE_VOID
 
Fields inherited from interface org.objectweb.asm.signature.SignatureVisitor
EXTENDS, INSTANCEOF, SUPER
 
Constructor Summary
MethodSignatureVisitor(java.lang.String description)
           
 
Method Summary
 int getAccessFlags()
           
protected  int getAllArgumentsSize()
           
 java.util.List<AnnotationData> getAnnotations()
           
protected  int getArgumentOffset(int i)
           
 int getArgumentOpcodeType(int i)
           
 int getArgumentsCount()
           
protected  java.lang.String getArgumentTypeName(int i)
           
 java.lang.String getClassname()
           
 java.lang.String getDeclaredClassName()
          Returns delcared class name or null for top-level methods.
 java.lang.String getDescription()
           
 java.lang.String getMethodName()
           
 int getReturnOpcodeType()
           
protected  java.lang.String getReturnTypeName()
           
 java.lang.String getSignature()
          Returns signature.
 boolean isTopLevelMethod()
          Returns true if method is declared in top-level class.
 void setDeclaredClassName(java.lang.String declaredClassName)
           
 java.lang.String toString()
           
 org.objectweb.asm.signature.SignatureVisitor visitArrayType()
          Visits a signature corresponding to an array type.
 void visitBaseType(char descriptor)
           
 void visitClassType(java.lang.String name)
          Starts the visit of a signature corresponding to a class or interface type.
 org.objectweb.asm.signature.SignatureVisitor visitExceptionType()
           
 org.objectweb.asm.signature.SignatureVisitor visitParameterType()
           
 org.objectweb.asm.signature.SignatureVisitor visitReturnType()
           
 void visitTypeVariable(java.lang.String name)
          Visits a signature corresponding to a type variable.
 
Methods inherited from class jodd.proxetta.asm.TraceSignatureVisitor
getDeclaration, getExceptions, getReturnType, visitClassBound, visitEnd, visitFormalTypeParameter, visitInnerClassType, visitInterface, visitInterfaceBound, visitSuperclass, visitTypeArgument, visitTypeArgument
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jodd.proxetta.MethodSignature
getDeclaration, getExceptions, getReturnType
 

Field Detail

access

protected int access

methodName

protected java.lang.String methodName

signature

protected java.lang.String signature

argumentsCount

protected int argumentsCount

argumentsWords

protected int argumentsWords

returnOpcodeType

protected jodd.mutable.MutableInteger returnOpcodeType

returnTypeName

protected java.lang.StringBuilder returnTypeName

classname

protected java.lang.String classname

description

protected java.lang.String description

annotations

protected java.util.List<AnnotationData> annotations

visitingArgument

protected boolean visitingArgument

argumentsOpcodeType

protected jodd.util.collection.IntArrayList argumentsOpcodeType

argumentsOffset

protected jodd.util.collection.IntArrayList argumentsOffset

argumentsTypeNames

protected java.util.List<java.lang.String> argumentsTypeNames

declaredClassName

protected java.lang.String declaredClassName
Constructor Detail

MethodSignatureVisitor

public MethodSignatureVisitor(java.lang.String description)
Method Detail

visitParameterType

public org.objectweb.asm.signature.SignatureVisitor visitParameterType()
Specified by:
visitParameterType in interface org.objectweb.asm.signature.SignatureVisitor
Overrides:
visitParameterType in class TraceSignatureVisitor

visitReturnType

public org.objectweb.asm.signature.SignatureVisitor visitReturnType()
Specified by:
visitReturnType in interface org.objectweb.asm.signature.SignatureVisitor
Overrides:
visitReturnType in class TraceSignatureVisitor

visitExceptionType

public org.objectweb.asm.signature.SignatureVisitor visitExceptionType()
Specified by:
visitExceptionType in interface org.objectweb.asm.signature.SignatureVisitor
Overrides:
visitExceptionType in class TraceSignatureVisitor

visitBaseType

public void visitBaseType(char descriptor)
Specified by:
visitBaseType in interface org.objectweb.asm.signature.SignatureVisitor
Overrides:
visitBaseType in class TraceSignatureVisitor

visitTypeVariable

public void visitTypeVariable(java.lang.String name)
Visits a signature corresponding to a type variable.

Specified by:
visitTypeVariable in interface org.objectweb.asm.signature.SignatureVisitor
Overrides:
visitTypeVariable in class TraceSignatureVisitor

visitArrayType

public org.objectweb.asm.signature.SignatureVisitor visitArrayType()
Visits a signature corresponding to an array type.

Specified by:
visitArrayType in interface org.objectweb.asm.signature.SignatureVisitor
Overrides:
visitArrayType in class TraceSignatureVisitor

visitClassType

public void visitClassType(java.lang.String name)
Starts the visit of a signature corresponding to a class or interface type.

Specified by:
visitClassType in interface org.objectweb.asm.signature.SignatureVisitor
Overrides:
visitClassType in class TraceSignatureVisitor

getSignature

public java.lang.String getSignature()
Returns signature.

Specified by:
getSignature in interface MethodSignature

getMethodName

public java.lang.String getMethodName()
Specified by:
getMethodName in interface MethodSignature

getArgumentsCount

public int getArgumentsCount()
Specified by:
getArgumentsCount in interface MethodSignature

getArgumentOpcodeType

public int getArgumentOpcodeType(int i)
Specified by:
getArgumentOpcodeType in interface MethodSignature
Parameters:
i - 1-base index

getArgumentTypeName

protected java.lang.String getArgumentTypeName(int i)

getArgumentOffset

protected int getArgumentOffset(int i)

getAllArgumentsSize

protected int getAllArgumentsSize()

getReturnOpcodeType

public int getReturnOpcodeType()
Specified by:
getReturnOpcodeType in interface MethodSignature

getReturnTypeName

protected java.lang.String getReturnTypeName()

getAccessFlags

public int getAccessFlags()
Specified by:
getAccessFlags in interface MethodSignature

getClassname

public java.lang.String getClassname()
Specified by:
getClassname in interface MethodSignature

getDescription

public java.lang.String getDescription()
Specified by:
getDescription in interface MethodSignature

getAnnotations

public java.util.List<AnnotationData> getAnnotations()
Specified by:
getAnnotations in interface MethodSignature

getDeclaredClassName

public java.lang.String getDeclaredClassName()
Returns delcared class name or null for top-level methods.


setDeclaredClassName

public void setDeclaredClassName(java.lang.String declaredClassName)

isTopLevelMethod

public boolean isTopLevelMethod()
Returns true if method is declared in top-level class.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright ©2008 Jodd Team