org.apache.bcel.verifier.statics

Class Pass2Verifier.CPESSC_Visitor

private class Pass2Verifier.CPESSC_Visitor extends EmptyVisitor implements Visitor

A Visitor class that ensures the constant pool satisfies the static constraints. The visitXXX() methods throw ClassConstraintException instances otherwise.

See Also: CPESSC_Visitor

Field Summary
DescendingVisitorcarrier
ConstantPoolcp
intcplen
ClassCONST_Class
ClassCONST_Double
ClassCONST_Float
ClassCONST_Integer
ClassCONST_Long
ClassCONST_NameAndType
ClassCONST_String
ClassCONST_Utf8
Setfield_names
Setfield_names_and_desc
JavaClassjc
Setmethod_names_and_desc
Constructor Summary
CPESSC_Visitor(JavaClass _jc)
Method Summary
voidcheckIndex(Node referrer, int index, Class shouldbe)
voidvisitCode(Code obj)
voidvisitCodeException(CodeException obj)
voidvisitConstantClass(ConstantClass obj)
voidvisitConstantDouble(ConstantDouble obj)
voidvisitConstantFieldref(ConstantFieldref obj)
voidvisitConstantFloat(ConstantFloat obj)
voidvisitConstantInteger(ConstantInteger obj)
voidvisitConstantInterfaceMethodref(ConstantInterfaceMethodref obj)
voidvisitConstantLong(ConstantLong obj)
voidvisitConstantMethodref(ConstantMethodref obj)
voidvisitConstantNameAndType(ConstantNameAndType obj)
voidvisitConstantPool(ConstantPool obj)
voidvisitConstantString(ConstantString obj)
voidvisitConstantUtf8(ConstantUtf8 obj)
voidvisitConstantValue(ConstantValue obj)
voidvisitDeprecated(Deprecated obj)
voidvisitExceptionTable(ExceptionTable obj)
voidvisitField(Field obj)
voidvisitInnerClass(InnerClass obj)
voidvisitInnerClasses(InnerClasses obj)
voidvisitJavaClass(JavaClass obj)
voidvisitLineNumber(LineNumber obj)
voidvisitLineNumberTable(LineNumberTable obj)
voidvisitLocalVariable(LocalVariable obj)
voidvisitLocalVariableTable(LocalVariableTable obj)
voidvisitMethod(Method obj)
voidvisitSourceFile(SourceFile obj)
voidvisitSynthetic(Synthetic obj)
voidvisitUnknown(Unknown obj)

Field Detail

carrier

private DescendingVisitor carrier

cp

private final ConstantPool cp

cplen

private final int cplen

CONST_Class

private Class CONST_Class

CONST_Double

private Class CONST_Double

CONST_Float

private Class CONST_Float

CONST_Integer

private Class CONST_Integer

CONST_Long

private Class CONST_Long

CONST_NameAndType

private Class CONST_NameAndType

CONST_String

private Class CONST_String

CONST_Utf8

private Class CONST_Utf8

field_names

private Set field_names

field_names_and_desc

private Set field_names_and_desc

jc

private final JavaClass jc

method_names_and_desc

private Set method_names_and_desc

Constructor Detail

CPESSC_Visitor

private CPESSC_Visitor(JavaClass _jc)

Method Detail

checkIndex

private void checkIndex(Node referrer, int index, Class shouldbe)

visitCode

public void visitCode(Code obj)

visitCodeException

public void visitCodeException(CodeException obj)

visitConstantClass

public void visitConstantClass(ConstantClass obj)

visitConstantDouble

public void visitConstantDouble(ConstantDouble obj)

visitConstantFieldref

public void visitConstantFieldref(ConstantFieldref obj)

visitConstantFloat

public void visitConstantFloat(ConstantFloat obj)

visitConstantInteger

public void visitConstantInteger(ConstantInteger obj)

visitConstantInterfaceMethodref

public void visitConstantInterfaceMethodref(ConstantInterfaceMethodref obj)

visitConstantLong

public void visitConstantLong(ConstantLong obj)

visitConstantMethodref

public void visitConstantMethodref(ConstantMethodref obj)

visitConstantNameAndType

public void visitConstantNameAndType(ConstantNameAndType obj)

visitConstantPool

public void visitConstantPool(ConstantPool obj)

visitConstantString

public void visitConstantString(ConstantString obj)

visitConstantUtf8

public void visitConstantUtf8(ConstantUtf8 obj)

visitConstantValue

public void visitConstantValue(ConstantValue obj)

visitDeprecated

public void visitDeprecated(Deprecated obj)

visitExceptionTable

public void visitExceptionTable(ExceptionTable obj)

visitField

public void visitField(Field obj)

visitInnerClass

public void visitInnerClass(InnerClass obj)

visitInnerClasses

public void visitInnerClasses(InnerClasses obj)

visitJavaClass

public void visitJavaClass(JavaClass obj)

visitLineNumber

public void visitLineNumber(LineNumber obj)

visitLineNumberTable

public void visitLineNumberTable(LineNumberTable obj)

visitLocalVariable

public void visitLocalVariable(LocalVariable obj)

visitLocalVariableTable

public void visitLocalVariableTable(LocalVariableTable obj)

visitMethod

public void visitMethod(Method obj)

visitSourceFile

public void visitSourceFile(SourceFile obj)

visitSynthetic

public void visitSynthetic(Synthetic obj)

visitUnknown

public void visitUnknown(Unknown obj)