Class Pass2Verifier
java.lang.Object
org.apache.bcel.verifier.PassVerifier
org.apache.bcel.verifier.statics.Pass2Verifier
- All Implemented Interfaces:
Constants
This PassVerifier verifies a class file according to pass 2 as described in The Java Virtual Machine Specification,
2nd edition. More detailed information is to be found at the do_verify() method's documentation.
- See Also:
-
Field Summary
Fields inherited from interface Constants
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACCESS_NAMES, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ANEWARRAY_QUICK, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, ATTR_ANNOTATION_DEFAULT, ATTR_CODE, ATTR_CONSTANT_VALUE, ATTR_DEPRECATED, ATTR_EXCEPTIONS, ATTR_INNER_CLASSES, ATTR_LINE_NUMBER_TABLE, ATTR_LOCAL_VARIABLE_TABLE, ATTR_PMG, ATTR_RUNTIMEINVISIBLE_ANNOTATIONS, ATTR_RUNTIMEINVISIBLE_PARAMETER_ANNOTATIONS, ATTR_RUNTIMEVISIBLE_ANNOTATIONS, ATTR_RUNTIMEVISIBLE_PARAMETER_ANNOTATIONS, ATTR_SIGNATURE, ATTR_SOURCE_FILE, ATTR_STACK_MAP, ATTR_SYNTHETIC, ATTR_UNKNOWN, ATTRIBUTE_NAMES, BALOAD, BASTORE, BIPUSH, BREAKPOINT, CALOAD, CASTORE, CHECKCAST, CHECKCAST_QUICK, CLASS_TYPE_NAMES, CONSTANT_Class, CONSTANT_Double, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_Long, CONSTANT_Methodref, CONSTANT_NameAndType, CONSTANT_NAMES, CONSTANT_String, CONSTANT_Utf8, CONSTRUCTOR_NAME, CONSUME_STACK, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETFIELD_QUICK, GETFIELD_QUICK_W, GETFIELD2_QUICK, GETSTATIC, GETSTATIC_QUICK, GETSTATIC2_QUICK, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILLEGAL_OPCODE, ILLEGAL_TYPE, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMPDEP1, IMPDEP2, IMUL, INEG, INSTANCEOF, INSTANCEOF_QUICK, INT2BYTE, INT2CHAR, INT2SHORT, INTERFACES_IMPLEMENTED_BY_ARRAYS, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKEINTERFACE_QUICK, INVOKENONVIRTUAL, INVOKENONVIRTUAL_QUICK, INVOKESPECIAL, INVOKESTATIC, INVOKESTATIC_QUICK, INVOKESUPER_QUICK, INVOKEVIRTUAL, INVOKEVIRTUAL_QUICK, INVOKEVIRTUAL_QUICK_W, INVOKEVIRTUALOBJECT_QUICK, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, ITEM_Bogus, ITEM_Double, ITEM_Float, ITEM_InitObject, ITEM_Integer, ITEM_Long, ITEM_NAMES, ITEM_NewObject, ITEM_Null, ITEM_Object, IUSHR, IXOR, JSR, JSR_W, KNOWN_ATTRIBUTES, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_QUICK, LDC_W, LDC_W_QUICK, LDC2_W, LDC2_W_QUICK, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MAJOR, MAJOR_1_1, MAJOR_1_2, MAJOR_1_3, MAJOR_1_4, MAJOR_1_5, MAX_ACC_FLAG, MAX_BYTE, MAX_CODE_SIZE, MAX_CP_ENTRIES, MAX_SHORT, MINOR, MINOR_1_1, MINOR_1_2, MINOR_1_3, MINOR_1_4, MINOR_1_5, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, MULTIANEWARRAY_QUICK, NEW, NEW_QUICK, NEWARRAY, NO_OF_OPERANDS, NOP, OPCODE_NAMES, POP, POP2, PRODUCE_STACK, PUSH, PUTFIELD, PUTFIELD_QUICK, PUTFIELD_QUICK_W, PUTFIELD2_QUICK, PUTSTATIC, PUTSTATIC_QUICK, PUTSTATIC2_QUICK, RESERVED, RET, RETURN, SALOAD, SASTORE, SHORT_TYPE_NAMES, SIPUSH, STATIC_INITIALIZER_NAME, SWAP, SWITCH, T_ADDRESS, T_ARRAY, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_OBJECT, T_REFERENCE, T_SHORT, T_UNKNOWN, T_VOID, TABLESWITCH, TYPE_NAMES, TYPE_OF_OPERANDS, UNDEFINED, UNPREDICTABLE, WIDEModifier and TypeFieldDescriptionstatic final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final String[]Deprecated.The names of the access flags.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final byteDeprecated.Attribute constant for annotation default.static final byteDeprecated.Attribute constant: Code.static final byteDeprecated.Attribute constant: ConstantValue.static final byteDeprecated.Attribute constant: Deprecated.static final byteDeprecated.Attribute constant: Exceptions.static final byteDeprecated.Attribute constant: InnerClasses.static final byteDeprecated.Attribute constant: LineNumberTable.static final byteDeprecated.Attribute constant: LocalVariableTable.static final byteDeprecated.Attribute constant: PMG.static final byteDeprecated.Attribute constant for runtime invisible annotations.static final byteDeprecated.Attribute constant for runtime invisible parameter annotations.static final byteDeprecated.Attribute constant for runtime visible annotations.static final byteDeprecated.Attribute constant for runtime visible parameter annotations.static final byteDeprecated.Attribute constant: Signature.static final byteDeprecated.Attribute constant: SourceFile.static final byteDeprecated.Attribute constant: StackMap.static final byteDeprecated.Attribute constant: Synthetic.static final byteDeprecated.Attribute constant: Unknown.static final String[]Deprecated.Array of attribute names.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final String[]Deprecated.The primitive class names corresponding to the T_XX constants, for example, CLASS_TYPE_NAMES[T_INT] = "java.lang.Integer"static final byteDeprecated.Marks a constant pool entry as a Class.static final byteDeprecated.Marks a constant pool entry as type Double.static final byteDeprecated.Marks a constant pool entry as a Field Reference.static final byteDeprecated.Marks a constant pool entry as type Float.static final byteDeprecated.Marks a constant pool entry as type Integer.static final byteDeprecated.Marks a constant pool entry as an Interface Method Reference.static final byteDeprecated.Marks a constant pool entry as type Long.static final byteDeprecated.Marks a constant pool entry as a Method Reference.static final byteDeprecated.Marks a constant pool entry as a name and type.static final String[]Deprecated.The names of the types of entries in a constant pool.static final byteDeprecated.Marks a constant pool entry as type String.static final byteDeprecated.Marks a constant pool entry as type UTF-8.static final StringDeprecated.The name of every constructor method in a class, also called "instance initialization method".static final int[]Deprecated.Number of words consumed on operand stack by instructions.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final StringDeprecated.Mnemonic for an illegal opcode.static final StringDeprecated.Mnemonic for an illegal type.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final String[]Deprecated.The names of the interfaces implemented by arraysstatic final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final byteDeprecated.Item type: Bogus.static final byteDeprecated.Item type: Double.static final byteDeprecated.Item type: Float.static final byteDeprecated.Item type: InitObject.static final byteDeprecated.Item type: Integer.static final byteDeprecated.Item type: Long.static final String[]Deprecated.Array of item type names.static final byteDeprecated.Item type: NewObject.static final byteDeprecated.Item type: Null.static final byteDeprecated.Item type: Object.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Count of known attributes.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Default major version number.static final shortDeprecated.Major version number of class files for Java 1.1.static final shortDeprecated.Major version number of class files for Java 1.2.static final shortDeprecated.Major version number of class files for Java 1.2.static final shortDeprecated.Major version number of class files for Java 1.3.static final shortDeprecated.Major version number of class files for Java 1.4.static final shortDeprecated.One of the access flags for fields, methods, or classes.static final intDeprecated.Maximum value for an unsigned byte.static final intDeprecated.One of the limitations of the Java Virtual Machine.static final intDeprecated.One of the limitations of the Java Virtual Machine.static final intDeprecated.Maximum value for an unsigned short.static final shortDeprecated.Default major version number.static final shortDeprecated.Minor version number of class files for Java 1.1.static final shortDeprecated.Minor version number of class files for Java 1.2.static final shortDeprecated.Minor version number of class files for Java 1.3.static final shortDeprecated.Minor version number of class files for Java 1.4.static final shortDeprecated.Minor version number of class files for Java 1.5.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final short[]Deprecated.Number of byte code operands for each opcode, that is, number of bytes after the tag byte itself.static final shortDeprecated.Java VM opcode.static final String[]Deprecated.Names of opcodes.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final int[]Deprecated.Number of words produced onto operand stack by instructions.static final shortDeprecated.BCEL virtual instruction for pushing an arbitrary data type onto the stack.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.JVM internal opcode.static final shortDeprecated.Illegal opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final shortDeprecated.Java VM opcode.static final String[]Deprecated.The signature characters corresponding to primitive types, for example, SHORT_TYPE_NAMES[T_INT] = "I"static final shortDeprecated.Java VM opcode.static final StringDeprecated.The name of the static initializer, also called "class initialization method" or "interface initialization method".static final shortDeprecated.Java VM opcode.static final shortDeprecated.BCEL virtual instruction for either LOOKUPSWITCH or TABLESWITCH.static final byteDeprecated.Address data type.static final byteDeprecated.Array data type.static final byteDeprecated.Boolean data type.static final byteDeprecated.Byte data type.static final byteDeprecated.Char data type.static final byteDeprecated.Double data type.static final byteDeprecated.Float data type.static final byteDeprecated.Int data type.static final byteDeprecated.Long data type.static final byteDeprecated.Object data type.static final byteDeprecated.Reference data type (deprecated).static final byteDeprecated.Short data type.static final byteDeprecated.Unknown data type.static final byteDeprecated.Void data type (non-standard).static final shortDeprecated.Java VM opcode.static final String[]Deprecated.The primitive type names corresponding to the T_XX constants, for example, TYPE_NAMES[T_INT] = "int"static final short[][]Deprecated.How the byte code operands are to be interpreted for each opcode.static final shortDeprecated.Illegal opcode.static final shortDeprecated.Illegal opcode.static final shortDeprecated.Java VM opcode. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionPass 2 is the pass where static properties of the class file are checked without looking into "Code" arrays of methods.getLocalVariablesInfo(int methodNr) Gets a LocalVariablesInfo object containing information about the usage of the local variables in the Code attribute of the said method ornullif the class file this Pass2Verifier operates on could not be pass-2-verified correctly.Methods inherited from class PassVerifier
addMessage, getMessages, getMessagesList, verifyModifier and TypeMethodDescriptionvoidaddMessage(String message) This method adds a (warning) message to the message pool of this PassVerifier.String[]Gets the (warning) messages that this PassVerifier accumulated during verification.Gets the (warning) messages that this PassVerifier accumulated during verification.verify()This method runs a verification pass conforming to the Java Virtual Machine Specification, 2nd edition, on a class file.
-
Constructor Details
-
Pass2Verifier
Should only be instantiated by a Verifier.- Parameters:
verifier- The verifier.- See Also:
-
-
Method Details
-
do_verify
Pass 2 is the pass where static properties of the class file are checked without looking into "Code" arrays of methods. This verification pass is usually invoked when a class is resolved; and it may be possible that this verification pass has to load in other classes such as superclasses or implemented interfaces. Therefore, Pass 1 is run on them.Note that most referenced classes are not loaded in for verification or for an existence check by this pass; only the syntactical correctness of their names and descriptors (a.k.a. signatures) is checked.
Very few checks that conceptually belong here are delayed until pass 3a in JustIce. JustIce does not only check for syntactical correctness but also for semantical sanity - therefore it needs access to the "Code" array of methods in a few cases. Please see the pass 3a documentation, too.
- Specified by:
do_verifyin classPassVerifier- Returns:
- The VerificationResult.
- See Also:
-
getLocalVariablesInfo
Gets a LocalVariablesInfo object containing information about the usage of the local variables in the Code attribute of the said method ornullif the class file this Pass2Verifier operates on could not be pass-2-verified correctly. The method number method_nr is the method you get usingRepository.lookupClass(myOwner.getClassname()).getMethods()[method_nr];. You should not add your own information. Leave that to JustIce.- Parameters:
methodNr- The method number.- Returns:
- The LocalVariablesInfo object or null.
-