Package org.objectweb.asm.util
Class CheckSignatureAdapter
- java.lang.Object
-
- org.objectweb.asm.signature.SignatureVisitor
-
- org.objectweb.asm.util.CheckSignatureAdapter
-
public class CheckSignatureAdapter extends SignatureVisitor
ASignatureVisitor
that checks that its methods are properly used.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
CheckSignatureAdapter.State
The possible states of the automaton used to check the order of method calls.
-
Field Summary
Fields Modifier and Type Field Description private boolean
canBeVoid
Whether the visited signature can be 'V'.static int
CLASS_SIGNATURE
Type to be used to check class signatures.private static java.lang.String
INVALID
static int
METHOD_SIGNATURE
Type to be used to check method signatures.private SignatureVisitor
signatureVisitor
The visitor to which this adapter must delegate calls.private CheckSignatureAdapter.State
state
The current state of the automaton used to check the order of method calls.private int
type
The type of the visited signature.static int
TYPE_SIGNATURE
Type to be used to check type signatures.SeeCheckSignatureAdapter(int, SignatureVisitor)
.private static java.util.EnumSet<CheckSignatureAdapter.State>
VISIT_CLASS_BOUND_STATES
The valid automaton states for avisitClassBound()
method call.private static java.util.EnumSet<CheckSignatureAdapter.State>
VISIT_EXCEPTION_TYPE_STATES
The valid automaton states for avisitExceptionType()
method call.private static java.util.EnumSet<CheckSignatureAdapter.State>
VISIT_FORMAL_TYPE_PARAMETER_STATES
The valid automaton states for avisitFormalTypeParameter(java.lang.String)
method call.private static java.util.EnumSet<CheckSignatureAdapter.State>
VISIT_INTERFACE_BOUND_STATES
The valid automaton states for avisitInterfaceBound()
method call.private static java.util.EnumSet<CheckSignatureAdapter.State>
VISIT_INTERFACE_STATES
The valid automaton states for avisitInterface()
method call.private static java.util.EnumSet<CheckSignatureAdapter.State>
VISIT_PARAMETER_TYPE_STATES
The valid automaton states for avisitParameterType()
method call.private static java.util.EnumSet<CheckSignatureAdapter.State>
VISIT_RETURN_TYPE_STATES
The valid automaton states for avisitReturnType()
method call.private static java.util.EnumSet<CheckSignatureAdapter.State>
VISIT_SUPER_CLASS_STATES
The valid automaton states for avisitSuperclass()
method call.-
Fields inherited from class org.objectweb.asm.signature.SignatureVisitor
api, EXTENDS, INSTANCEOF, SUPER
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CheckSignatureAdapter(int api, int type, SignatureVisitor signatureVisitor)
Constructs a newCheckSignatureAdapter
.CheckSignatureAdapter(int type, SignatureVisitor signatureVisitor)
Constructs a newCheckSignatureAdapter
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkClassName(java.lang.String name, java.lang.String message)
private void
checkIdentifier(java.lang.String name, java.lang.String message)
SignatureVisitor
visitArrayType()
Visits a signature corresponding to an array type.void
visitBaseType(char descriptor)
Visits a signature corresponding to a primitive type.SignatureVisitor
visitClassBound()
Visits the class bound of the last visited formal type parameter.void
visitClassType(java.lang.String name)
Starts the visit of a signature corresponding to a class or interface type.void
visitEnd()
Ends the visit of a signature corresponding to a class or interface type.SignatureVisitor
visitExceptionType()
Visits the type of a method exception.void
visitFormalTypeParameter(java.lang.String name)
Visits a formal type parameter.void
visitInnerClassType(java.lang.String name)
Visits an inner class.SignatureVisitor
visitInterface()
Visits the type of an interface implemented by the class.SignatureVisitor
visitInterfaceBound()
Visits an interface bound of the last visited formal type parameter.SignatureVisitor
visitParameterType()
Visits the type of a method parameter.SignatureVisitor
visitReturnType()
Visits the return type of the method.SignatureVisitor
visitSuperclass()
Visits the type of the super class.void
visitTypeArgument()
Visits an unbounded type argument of the last visited class or inner class type.SignatureVisitor
visitTypeArgument(char wildcard)
Visits a type argument of the last visited class or inner class type.void
visitTypeVariable(java.lang.String name)
Visits a signature corresponding to a type variable.
-
-
-
Field Detail
-
CLASS_SIGNATURE
public static final int CLASS_SIGNATURE
Type to be used to check class signatures. SeeCheckSignatureAdapter(int, SignatureVisitor)
.- See Also:
- Constant Field Values
-
METHOD_SIGNATURE
public static final int METHOD_SIGNATURE
Type to be used to check method signatures. SeeCheckSignatureAdapter(int, SignatureVisitor)
.- See Also:
- Constant Field Values
-
TYPE_SIGNATURE
public static final int TYPE_SIGNATURE
Type to be used to check type signatures.SeeCheckSignatureAdapter(int, SignatureVisitor)
.- See Also:
- Constant Field Values
-
VISIT_FORMAL_TYPE_PARAMETER_STATES
private static final java.util.EnumSet<CheckSignatureAdapter.State> VISIT_FORMAL_TYPE_PARAMETER_STATES
The valid automaton states for avisitFormalTypeParameter(java.lang.String)
method call.
-
VISIT_CLASS_BOUND_STATES
private static final java.util.EnumSet<CheckSignatureAdapter.State> VISIT_CLASS_BOUND_STATES
The valid automaton states for avisitClassBound()
method call.
-
VISIT_INTERFACE_BOUND_STATES
private static final java.util.EnumSet<CheckSignatureAdapter.State> VISIT_INTERFACE_BOUND_STATES
The valid automaton states for avisitInterfaceBound()
method call.
-
VISIT_SUPER_CLASS_STATES
private static final java.util.EnumSet<CheckSignatureAdapter.State> VISIT_SUPER_CLASS_STATES
The valid automaton states for avisitSuperclass()
method call.
-
VISIT_INTERFACE_STATES
private static final java.util.EnumSet<CheckSignatureAdapter.State> VISIT_INTERFACE_STATES
The valid automaton states for avisitInterface()
method call.
-
VISIT_PARAMETER_TYPE_STATES
private static final java.util.EnumSet<CheckSignatureAdapter.State> VISIT_PARAMETER_TYPE_STATES
The valid automaton states for avisitParameterType()
method call.
-
VISIT_RETURN_TYPE_STATES
private static final java.util.EnumSet<CheckSignatureAdapter.State> VISIT_RETURN_TYPE_STATES
The valid automaton states for avisitReturnType()
method call.
-
VISIT_EXCEPTION_TYPE_STATES
private static final java.util.EnumSet<CheckSignatureAdapter.State> VISIT_EXCEPTION_TYPE_STATES
The valid automaton states for avisitExceptionType()
method call.
-
INVALID
private static final java.lang.String INVALID
- See Also:
- Constant Field Values
-
type
private final int type
The type of the visited signature.
-
state
private CheckSignatureAdapter.State state
The current state of the automaton used to check the order of method calls.
-
canBeVoid
private boolean canBeVoid
Whether the visited signature can be 'V'.
-
signatureVisitor
private final SignatureVisitor signatureVisitor
The visitor to which this adapter must delegate calls. May be null.
-
-
Constructor Detail
-
CheckSignatureAdapter
public CheckSignatureAdapter(int type, SignatureVisitor signatureVisitor)
Constructs a newCheckSignatureAdapter
. Subclasses must not use this constructor. Instead, they must use theCheckSignatureAdapter(int, int, SignatureVisitor)
version.- Parameters:
type
- the type of signature to be checked. SeeCLASS_SIGNATURE
,METHOD_SIGNATURE
andTYPE_SIGNATURE
.signatureVisitor
- the visitor to which this adapter must delegate calls. May be null.
-
CheckSignatureAdapter
protected CheckSignatureAdapter(int api, int type, SignatureVisitor signatureVisitor)
Constructs a newCheckSignatureAdapter
.- Parameters:
api
- the ASM API version implemented by this visitor. Must be one ofOpcodes.ASM4
,Opcodes.ASM5
,Opcodes.ASM6
orOpcodes.ASM7
.type
- the type of signature to be checked. SeeCLASS_SIGNATURE
,METHOD_SIGNATURE
andTYPE_SIGNATURE
.signatureVisitor
- the visitor to which this adapter must delegate calls. May be null.
-
-
Method Detail
-
visitFormalTypeParameter
public void visitFormalTypeParameter(java.lang.String name)
Description copied from class:SignatureVisitor
Visits a formal type parameter.- Overrides:
visitFormalTypeParameter
in classSignatureVisitor
- 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 classSignatureVisitor
- 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 classSignatureVisitor
- 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 classSignatureVisitor
- 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 classSignatureVisitor
- 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 classSignatureVisitor
- 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 classSignatureVisitor
- 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 classSignatureVisitor
- 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 classSignatureVisitor
- Parameters:
descriptor
- the descriptor of the primitive type, or 'V' forvoid
.
-
visitTypeVariable
public void visitTypeVariable(java.lang.String name)
Description copied from class:SignatureVisitor
Visits a signature corresponding to a type variable.- Overrides:
visitTypeVariable
in classSignatureVisitor
- 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 classSignatureVisitor
- Returns:
- a non null visitor to visit the signature of the array element type.
-
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 classSignatureVisitor
- 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 classSignatureVisitor
- 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 classSignatureVisitor
-
visitTypeArgument
public SignatureVisitor visitTypeArgument(char wildcard)
Description copied from class:SignatureVisitor
Visits a type argument of the last visited class or inner class type.- Overrides:
visitTypeArgument
in classSignatureVisitor
- Parameters:
wildcard
- '+', '-' 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 classSignatureVisitor
-
checkClassName
private void checkClassName(java.lang.String name, java.lang.String message)
-
checkIdentifier
private void checkIdentifier(java.lang.String name, java.lang.String message)
-
-