Package org.objectweb.asm.util
Class CheckSignatureAdapter
java.lang.Object
org.objectweb.asm.signature.SignatureVisitor
org.objectweb.asm.util.CheckSignatureAdapter
A
SignatureVisitor that checks that its methods are properly used.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static enumThe possible states of the automaton used to check the order of method calls. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanWhether the visited signature can be 'V'.static final intType to be used to check class signatures.private static final Stringstatic final intType to be used to check method signatures.private final SignatureVisitorThe visitor to which this adapter must delegate calls.private CheckSignatureAdapter.StateThe current state of the automaton used to check the order of method calls.private final intThe type of the visited signature.static final intType to be used to check type signatures.SeeCheckSignatureAdapter(int, SignatureVisitor).private static final EnumSet<CheckSignatureAdapter.State> The valid automaton states for avisitClassBound()method call.private static final EnumSet<CheckSignatureAdapter.State> The valid automaton states for avisitExceptionType()method call.private static final EnumSet<CheckSignatureAdapter.State> The valid automaton states for avisitFormalTypeParameter(java.lang.String)method call.private static final EnumSet<CheckSignatureAdapter.State> The valid automaton states for avisitInterfaceBound()method call.private static final EnumSet<CheckSignatureAdapter.State> The valid automaton states for avisitInterface()method call.private static final EnumSet<CheckSignatureAdapter.State> The valid automaton states for avisitParameterType()method call.private static final EnumSet<CheckSignatureAdapter.State> The valid automaton states for avisitReturnType()method call.private static final EnumSet<CheckSignatureAdapter.State> The valid automaton states for avisitSuperclass()method call.Fields inherited from class org.objectweb.asm.signature.SignatureVisitor
api, EXTENDS, INSTANCEOF, SUPER -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCheckSignatureAdapter(int api, int type, SignatureVisitor signatureVisitor) Constructs a newCheckSignatureAdapter.CheckSignatureAdapter(int type, SignatureVisitor signatureVisitor) Constructs a newCheckSignatureAdapter. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcheckClassName(String name, String message) private voidcheckIdentifier(String name, String message) Visits a signature corresponding to an array type.voidvisitBaseType(char descriptor) Visits a signature corresponding to a primitive type.Visits the class bound of the last visited formal type parameter.voidvisitClassType(String name) Starts the visit of a signature corresponding to a class or interface type.voidvisitEnd()Ends the visit of a signature corresponding to a class or interface type.Visits the type of a method exception.voidVisits a formal type parameter.voidvisitInnerClassType(String name) Visits an inner class.Visits the type of an interface implemented by the class.Visits an interface bound of the last visited formal type parameter.Visits the type of a method parameter.Visits the return type of the method.Visits the type of the super class.voidVisits an unbounded type argument of the last visited class or inner class type.visitTypeArgument(char wildcard) Visits a type argument of the last visited class or inner class type.voidvisitTypeVariable(String name) Visits a signature corresponding to a type variable.
-
Field Details
-
CLASS_SIGNATURE
public static final int CLASS_SIGNATUREType to be used to check class signatures. SeeCheckSignatureAdapter(int, SignatureVisitor).- See Also:
-
METHOD_SIGNATURE
public static final int METHOD_SIGNATUREType to be used to check method signatures. SeeCheckSignatureAdapter(int, SignatureVisitor).- See Also:
-
TYPE_SIGNATURE
public static final int TYPE_SIGNATUREType to be used to check type signatures.SeeCheckSignatureAdapter(int, SignatureVisitor).- See Also:
-
VISIT_FORMAL_TYPE_PARAMETER_STATES
The valid automaton states for avisitFormalTypeParameter(java.lang.String)method call. -
VISIT_CLASS_BOUND_STATES
The valid automaton states for avisitClassBound()method call. -
VISIT_INTERFACE_BOUND_STATES
The valid automaton states for avisitInterfaceBound()method call. -
VISIT_SUPER_CLASS_STATES
The valid automaton states for avisitSuperclass()method call. -
VISIT_INTERFACE_STATES
The valid automaton states for avisitInterface()method call. -
VISIT_PARAMETER_TYPE_STATES
The valid automaton states for avisitParameterType()method call. -
VISIT_RETURN_TYPE_STATES
The valid automaton states for avisitReturnType()method call. -
VISIT_EXCEPTION_TYPE_STATES
The valid automaton states for avisitExceptionType()method call. -
INVALID
- See Also:
-
type
private final int typeThe type of the visited signature. -
state
The current state of the automaton used to check the order of method calls. -
canBeVoid
private boolean canBeVoidWhether the visited signature can be 'V'. -
signatureVisitor
The visitor to which this adapter must delegate calls. May be null.
-
-
Constructor Details
-
CheckSignatureAdapter
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_SIGNATUREandTYPE_SIGNATURE.signatureVisitor- the visitor to which this adapter must delegate calls. May be null.
-
CheckSignatureAdapter
Constructs a newCheckSignatureAdapter.- Parameters:
api- the ASM API version implemented by this visitor. Must be one of theASMx values inOpcodes.type- the type of signature to be checked. SeeCLASS_SIGNATURE,METHOD_SIGNATUREandTYPE_SIGNATURE.signatureVisitor- the visitor to which this adapter must delegate calls. May be null.
-
-
Method Details
-
visitFormalTypeParameter
Description copied from class:SignatureVisitorVisits a formal type parameter.- Overrides:
visitFormalTypeParameterin classSignatureVisitor- Parameters:
name- the name of the formal parameter.
-
visitClassBound
Description copied from class:SignatureVisitorVisits the class bound of the last visited formal type parameter.- Overrides:
visitClassBoundin classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the class bound.
-
visitInterfaceBound
Description copied from class:SignatureVisitorVisits an interface bound of the last visited formal type parameter.- Overrides:
visitInterfaceBoundin classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the interface bound.
-
visitSuperclass
Description copied from class:SignatureVisitorVisits the type of the super class.- Overrides:
visitSuperclassin classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the super class type.
-
visitInterface
Description copied from class:SignatureVisitorVisits the type of an interface implemented by the class.- Overrides:
visitInterfacein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the interface type.
-
visitParameterType
Description copied from class:SignatureVisitorVisits the type of a method parameter.- Overrides:
visitParameterTypein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the parameter type.
-
visitReturnType
Description copied from class:SignatureVisitorVisits the return type of the method.- Overrides:
visitReturnTypein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the return type.
-
visitExceptionType
Description copied from class:SignatureVisitorVisits the type of a method exception.- Overrides:
visitExceptionTypein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the exception type.
-
visitBaseType
public void visitBaseType(char descriptor) Description copied from class:SignatureVisitorVisits a signature corresponding to a primitive type.- Overrides:
visitBaseTypein classSignatureVisitor- Parameters:
descriptor- the descriptor of the primitive type, or 'V' forvoid.
-
visitTypeVariable
Description copied from class:SignatureVisitorVisits a signature corresponding to a type variable.- Overrides:
visitTypeVariablein classSignatureVisitor- Parameters:
name- the name of the type variable.
-
visitArrayType
Description copied from class:SignatureVisitorVisits a signature corresponding to an array type.- Overrides:
visitArrayTypein classSignatureVisitor- Returns:
- a non null visitor to visit the signature of the array element type.
-
visitClassType
Description copied from class:SignatureVisitorStarts the visit of a signature corresponding to a class or interface type.- Overrides:
visitClassTypein classSignatureVisitor- Parameters:
name- the internal name of the class or interface (seeType.getInternalName()).
-
visitInnerClassType
Description copied from class:SignatureVisitorVisits an inner class.- Overrides:
visitInnerClassTypein classSignatureVisitor- Parameters:
name- the local name of the inner class in its enclosing class.
-
visitTypeArgument
public void visitTypeArgument()Description copied from class:SignatureVisitorVisits an unbounded type argument of the last visited class or inner class type.- Overrides:
visitTypeArgumentin classSignatureVisitor
-
visitTypeArgument
Description copied from class:SignatureVisitorVisits a type argument of the last visited class or inner class type.- Overrides:
visitTypeArgumentin 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:SignatureVisitorEnds the visit of a signature corresponding to a class or interface type.- Overrides:
visitEndin classSignatureVisitor
-
checkClassName
-
checkIdentifier
-