proguard.classfile.attribute.preverification
Class VerificationType

java.lang.Object
  extended by proguard.classfile.attribute.preverification.VerificationType
All Implemented Interfaces:
VisitorAccepter
Direct Known Subclasses:
DoubleType, FloatType, IntegerType, LongType, NullType, ObjectType, TopType, UninitializedThisType, UninitializedType

public abstract class VerificationType
extends java.lang.Object
implements VisitorAccepter

This abstract class represents a verification type of a local variable or a stack element. Specific verification types are subclassed from it.


Field Summary
static int DOUBLE_TYPE
           
static int FLOAT_TYPE
           
static int INTEGER_TYPE
           
static int LONG_TYPE
           
static int NULL_TYPE
           
static int OBJECT_TYPE
           
static int TOP_TYPE
           
static int UNINITIALIZED_THIS_TYPE
           
static int UNINITIALIZED_TYPE
           
 java.lang.Object visitorInfo
          An extra field in which visitors can store information.
 
Constructor Summary
VerificationType()
           
 
Method Summary
abstract  void accept(Clazz clazz, Method method, CodeAttribute codeAttribute, int instructionOffset, VerificationTypeVisitor verificationTypeVisitor)
          Accepts the given visitor in the context of a method's code, either on a stack or as a variable.
 boolean equals(java.lang.Object object)
           
abstract  int getTag()
          Returns the tag of the verification type.
 java.lang.Object getVisitorInfo()
          Gets the visitor information of the visitor accepter.
 int hashCode()
           
 void setVisitorInfo(java.lang.Object visitorInfo)
          Sets the visitor information of the visitor accepter.
abstract  void stackAccept(Clazz clazz, Method method, CodeAttribute codeAttribute, int instructionOffset, int stackIndex, VerificationTypeVisitor verificationTypeVisitor)
          Accepts the given visitor in the context of a stack in a method's code .
abstract  void variablesAccept(Clazz clazz, Method method, CodeAttribute codeAttribute, int instructionOffset, int variableIndex, VerificationTypeVisitor verificationTypeVisitor)
          Accepts the given visitor in the context of a variable in a method's code.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TOP_TYPE

public static final int TOP_TYPE
See Also:
Constant Field Values

INTEGER_TYPE

public static final int INTEGER_TYPE
See Also:
Constant Field Values

FLOAT_TYPE

public static final int FLOAT_TYPE
See Also:
Constant Field Values

DOUBLE_TYPE

public static final int DOUBLE_TYPE
See Also:
Constant Field Values

LONG_TYPE

public static final int LONG_TYPE
See Also:
Constant Field Values

NULL_TYPE

public static final int NULL_TYPE
See Also:
Constant Field Values

UNINITIALIZED_THIS_TYPE

public static final int UNINITIALIZED_THIS_TYPE
See Also:
Constant Field Values

OBJECT_TYPE

public static final int OBJECT_TYPE
See Also:
Constant Field Values

UNINITIALIZED_TYPE

public static final int UNINITIALIZED_TYPE
See Also:
Constant Field Values

visitorInfo

public java.lang.Object visitorInfo
An extra field in which visitors can store information.

Constructor Detail

VerificationType

public VerificationType()
Method Detail

getTag

public abstract int getTag()
Returns the tag of the verification type.


accept

public abstract void accept(Clazz clazz,
                            Method method,
                            CodeAttribute codeAttribute,
                            int instructionOffset,
                            VerificationTypeVisitor verificationTypeVisitor)
Accepts the given visitor in the context of a method's code, either on a stack or as a variable.


stackAccept

public abstract void stackAccept(Clazz clazz,
                                 Method method,
                                 CodeAttribute codeAttribute,
                                 int instructionOffset,
                                 int stackIndex,
                                 VerificationTypeVisitor verificationTypeVisitor)
Accepts the given visitor in the context of a stack in a method's code .


variablesAccept

public abstract void variablesAccept(Clazz clazz,
                                     Method method,
                                     CodeAttribute codeAttribute,
                                     int instructionOffset,
                                     int variableIndex,
                                     VerificationTypeVisitor verificationTypeVisitor)
Accepts the given visitor in the context of a variable in a method's code.


getVisitorInfo

public java.lang.Object getVisitorInfo()
Description copied from interface: VisitorAccepter
Gets the visitor information of the visitor accepter.

Specified by:
getVisitorInfo in interface VisitorAccepter

setVisitorInfo

public void setVisitorInfo(java.lang.Object visitorInfo)
Description copied from interface: VisitorAccepter
Sets the visitor information of the visitor accepter.

Specified by:
setVisitorInfo in interface VisitorAccepter

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object