org.apache.bcel.verifier.statics
Class Pass2Verifier.CPESSC_Visitor

java.lang.Object
  extended by org.apache.bcel.classfile.EmptyVisitor
      extended by org.apache.bcel.verifier.statics.Pass2Verifier.CPESSC_Visitor
All Implemented Interfaces:
Visitor
Enclosing class:
Pass2Verifier

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:
Pass2Verifier.constant_pool_entries_satisfy_static_constraints()

Field Summary
private  DescendingVisitor carrier
           
private  java.lang.Class CONST_Class
           
private  java.lang.Class CONST_Double
           
private  java.lang.Class CONST_Float
           
private  java.lang.Class CONST_Integer
           
private  java.lang.Class CONST_Long
           
private  java.lang.Class CONST_NameAndType
           
private  java.lang.Class CONST_String
           
private  java.lang.Class CONST_Utf8
           
private  ConstantPool cp
           
private  int cplen
           
private  java.util.Set field_names
           
private  java.util.Set field_names_and_desc
           
private  JavaClass jc
           
private  java.util.Set method_names_and_desc
           
 
Constructor Summary
private Pass2Verifier.CPESSC_Visitor(JavaClass _jc)
           
 
Method Summary
private  void checkIndex(Node referrer, int index, java.lang.Class shouldbe)
           
 void visitCode(Code obj)
           
 void visitCodeException(CodeException obj)
           
 void visitConstantClass(ConstantClass obj)
           
 void visitConstantDouble(ConstantDouble obj)
           
 void visitConstantFieldref(ConstantFieldref obj)
           
 void visitConstantFloat(ConstantFloat obj)
           
 void visitConstantInteger(ConstantInteger obj)
           
 void visitConstantInterfaceMethodref(ConstantInterfaceMethodref obj)
           
 void visitConstantLong(ConstantLong obj)
           
 void visitConstantMethodref(ConstantMethodref obj)
           
 void visitConstantNameAndType(ConstantNameAndType obj)
           
 void visitConstantPool(ConstantPool obj)
           
 void visitConstantString(ConstantString obj)
           
 void visitConstantUtf8(ConstantUtf8 obj)
           
 void visitConstantValue(ConstantValue obj)
           
 void visitDeprecated(Deprecated obj)
           
 void visitExceptionTable(ExceptionTable obj)
           
 void visitField(Field obj)
           
 void visitInnerClass(InnerClass obj)
           
 void visitInnerClasses(InnerClasses obj)
           
 void visitJavaClass(JavaClass obj)
           
 void visitLineNumber(LineNumber obj)
           
 void visitLineNumberTable(LineNumberTable obj)
           
 void visitLocalVariable(LocalVariable obj)
           
 void visitLocalVariableTable(LocalVariableTable obj)
           
 void visitMethod(Method obj)
           
 void visitSourceFile(SourceFile obj)
           
 void visitSynthetic(Synthetic obj)
           
 void visitUnknown(Unknown obj)
           
 
Methods inherited from class org.apache.bcel.classfile.EmptyVisitor
visitSignature, visitStackMap, visitStackMapEntry
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.bcel.classfile.Visitor
visitSignature, visitStackMap, visitStackMapEntry
 

Field Detail

CONST_Class

private java.lang.Class CONST_Class

CONST_String

private java.lang.Class CONST_String

CONST_Integer

private java.lang.Class CONST_Integer

CONST_Float

private java.lang.Class CONST_Float

CONST_Long

private java.lang.Class CONST_Long

CONST_Double

private java.lang.Class CONST_Double

CONST_NameAndType

private java.lang.Class CONST_NameAndType

CONST_Utf8

private java.lang.Class CONST_Utf8

jc

private final JavaClass jc

cp

private final ConstantPool cp

cplen

private final int cplen

carrier

private DescendingVisitor carrier

field_names

private java.util.Set field_names

field_names_and_desc

private java.util.Set field_names_and_desc

method_names_and_desc

private java.util.Set method_names_and_desc
Constructor Detail

Pass2Verifier.CPESSC_Visitor

private Pass2Verifier.CPESSC_Visitor(JavaClass _jc)
Method Detail

checkIndex

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

visitJavaClass

public void visitJavaClass(JavaClass obj)
Specified by:
visitJavaClass in interface Visitor
Overrides:
visitJavaClass in class EmptyVisitor

visitConstantClass

public void visitConstantClass(ConstantClass obj)
Specified by:
visitConstantClass in interface Visitor
Overrides:
visitConstantClass in class EmptyVisitor

visitConstantFieldref

public void visitConstantFieldref(ConstantFieldref obj)
Specified by:
visitConstantFieldref in interface Visitor
Overrides:
visitConstantFieldref in class EmptyVisitor

visitConstantMethodref

public void visitConstantMethodref(ConstantMethodref obj)
Specified by:
visitConstantMethodref in interface Visitor
Overrides:
visitConstantMethodref in class EmptyVisitor

visitConstantInterfaceMethodref

public void visitConstantInterfaceMethodref(ConstantInterfaceMethodref obj)
Specified by:
visitConstantInterfaceMethodref in interface Visitor
Overrides:
visitConstantInterfaceMethodref in class EmptyVisitor

visitConstantString

public void visitConstantString(ConstantString obj)
Specified by:
visitConstantString in interface Visitor
Overrides:
visitConstantString in class EmptyVisitor

visitConstantInteger

public void visitConstantInteger(ConstantInteger obj)
Specified by:
visitConstantInteger in interface Visitor
Overrides:
visitConstantInteger in class EmptyVisitor

visitConstantFloat

public void visitConstantFloat(ConstantFloat obj)
Specified by:
visitConstantFloat in interface Visitor
Overrides:
visitConstantFloat in class EmptyVisitor

visitConstantLong

public void visitConstantLong(ConstantLong obj)
Specified by:
visitConstantLong in interface Visitor
Overrides:
visitConstantLong in class EmptyVisitor

visitConstantDouble

public void visitConstantDouble(ConstantDouble obj)
Specified by:
visitConstantDouble in interface Visitor
Overrides:
visitConstantDouble in class EmptyVisitor

visitConstantNameAndType

public void visitConstantNameAndType(ConstantNameAndType obj)
Specified by:
visitConstantNameAndType in interface Visitor
Overrides:
visitConstantNameAndType in class EmptyVisitor

visitConstantUtf8

public void visitConstantUtf8(ConstantUtf8 obj)
Specified by:
visitConstantUtf8 in interface Visitor
Overrides:
visitConstantUtf8 in class EmptyVisitor

visitField

public void visitField(Field obj)
Specified by:
visitField in interface Visitor
Overrides:
visitField in class EmptyVisitor

visitMethod

public void visitMethod(Method obj)
Specified by:
visitMethod in interface Visitor
Overrides:
visitMethod in class EmptyVisitor

visitSourceFile

public void visitSourceFile(SourceFile obj)
Specified by:
visitSourceFile in interface Visitor
Overrides:
visitSourceFile in class EmptyVisitor

visitDeprecated

public void visitDeprecated(Deprecated obj)
Specified by:
visitDeprecated in interface Visitor
Overrides:
visitDeprecated in class EmptyVisitor

visitSynthetic

public void visitSynthetic(Synthetic obj)
Specified by:
visitSynthetic in interface Visitor
Overrides:
visitSynthetic in class EmptyVisitor

visitInnerClasses

public void visitInnerClasses(InnerClasses obj)
Specified by:
visitInnerClasses in interface Visitor
Overrides:
visitInnerClasses in class EmptyVisitor

visitConstantValue

public void visitConstantValue(ConstantValue obj)
Specified by:
visitConstantValue in interface Visitor
Overrides:
visitConstantValue in class EmptyVisitor

visitCode

public void visitCode(Code obj)
Specified by:
visitCode in interface Visitor
Overrides:
visitCode in class EmptyVisitor

visitExceptionTable

public void visitExceptionTable(ExceptionTable obj)
Specified by:
visitExceptionTable in interface Visitor
Overrides:
visitExceptionTable in class EmptyVisitor

visitLineNumberTable

public void visitLineNumberTable(LineNumberTable obj)
Specified by:
visitLineNumberTable in interface Visitor
Overrides:
visitLineNumberTable in class EmptyVisitor

visitLocalVariableTable

public void visitLocalVariableTable(LocalVariableTable obj)
Specified by:
visitLocalVariableTable in interface Visitor
Overrides:
visitLocalVariableTable in class EmptyVisitor

visitUnknown

public void visitUnknown(Unknown obj)
Specified by:
visitUnknown in interface Visitor
Overrides:
visitUnknown in class EmptyVisitor

visitLocalVariable

public void visitLocalVariable(LocalVariable obj)
Specified by:
visitLocalVariable in interface Visitor
Overrides:
visitLocalVariable in class EmptyVisitor

visitCodeException

public void visitCodeException(CodeException obj)
Specified by:
visitCodeException in interface Visitor
Overrides:
visitCodeException in class EmptyVisitor

visitConstantPool

public void visitConstantPool(ConstantPool obj)
Specified by:
visitConstantPool in interface Visitor
Overrides:
visitConstantPool in class EmptyVisitor

visitInnerClass

public void visitInnerClass(InnerClass obj)
Specified by:
visitInnerClass in interface Visitor
Overrides:
visitInnerClass in class EmptyVisitor

visitLineNumber

public void visitLineNumber(LineNumber obj)
Specified by:
visitLineNumber in interface Visitor
Overrides:
visitLineNumber in class EmptyVisitor