Instances of this class are thrown by BCEL's class file verifier "JustIce"
when a class file to verify does not pass the verification pass 2 as described
in the Java Virtual Machine specification, 2nd edition.
Create conversion operation for two stack operands, this may be an I2C, instruction, e.g.,
if the operands are basic types and CHECKCAST if they are reference types.
This class represents an exception handler; that is, an ObjectType
representing a subclass of java.lang.Throwable and the instruction
the handler starts off (represented by an InstructionContext).
Returns an int[] containing the indices of the local variable slots
accessed by this Subroutine (read-accessed, write-accessed or both);
local variables referenced by subroutines of this subroutine are
not included.
Deprecated.If the instruction references an array class,
this method will return "java.lang.Object".
For code generated by Java 1.5, this answer is
sometimes wrong (e.g., if the "clone()" method is
called on an array). A better idea is to use
the getReferenceType() method, which correctly distinguishes
between class types and array types.
Get CodeException object.
This relies on that the instruction list has already been dumped
to byte code or or that the `setPositions' methods has been
called for the instruction list.
Returns an InstructionContext[] with all the InstructionContext instances
for the method whose control flow is represented by this ControlFlowGraph
(NOT ORDERED!).
Returns a LocalVariablesInfo object containing information
about the usage of the local variables in the Code attribute
of the said method or null if the class file this
Pass2Verifier operates on could not be pass-2-verified correctly.
Returns an int[] containing the indices of the local variable slots
accessed by this Subroutine (read-accessed, write-accessed or both);
local variables referenced by subroutines of this subroutine are
included.
InstructionFinder is a tool to search for given instructions patterns, i.e.,
match sequences of instructions in an instruction list via regular
expressions.
Instances of this class are thrown by BCEL's class file verifier "JustIce" when
a class file to verify does not pass the verification pass 3 because of a violation
of a constraint that is usually only verified at run-time (pass 4).
When loading a class file, BCEL will throw an instance of LoadingException if
the class file is malformed; so it is not conforming to the "Pass 1" verification
process as described in the Java Virtual Machine specification, 2nd.
A LocalVariableInfoInconsistentException instance is thrown by
the LocalVariableInfo class when it detects that the information
it holds is inconsistent; this is normally due to inconsistent
LocalVariableTable entries in the Code attribute of a certain
Method object.
The NativeVerifier class implements a main(String[] args) method that's
roughly compatible to the one in the Verifier class, but that uses the
JVM's internal verifier for its class file verification.
This package contains the "generic" part of the
Byte Code Engineering
Library, i.e., classes to dynamically modify class objects and
byte code instructions.
This PassVerifier verifies a method of class file according to pass 3,
so-called structural verification as described in The Java Virtual Machine
Specification, 2nd edition.
Remove all NOPs from the instruction list (if possible) and update every
object refering to them, i.e., branch instructions, local variables and
exception handlers.
Instances of this class are thrown by BCEL's class file verifier "JustIce" when
a class file to verify does not pass the verification pass 3 because of a violation
of a static constraint as described in the Java Virtual Machine Specification,
2nd edition, 4.8.1, pages 133-137.
Instances of this class are thrown by BCEL's class file verifier "JustIce" when
a class file to verify does not pass the verification pass 3 because of a violation
of a static constraint as described in the Java Virtual Machine Specification,
Second edition, 4.8.1, pages 133-137.
Instances of this class are thrown by BCEL's class file verifier "JustIce" when
a class file to verify does not pass the verification pass 3 because of a violation
of a static constraint as described in the Java Virtual Machine Specification,
Second edition, 4.8.1, pages 133-137.
BCEL's Node classes (those from the classfile API that accept() Visitor
instances) have toString() methods that were not designed to be robust,
this gap is closed by this class.
Instances of this class are thrown by BCEL's class file verifier "JustIce" when
a class file to verify does not pass the verification pass 3 because of a violation
of a structural constraint as described in the Java Virtual Machine Specification,
2nd edition, 4.8.2, pages 137-139.
SWITCH - Branch depending on int value, generates either LOOKUPSWITCH or
TABLESWITCH instruction, depending on whether the match values (int[]) can be
sorted with no gaps between the numbers.
Long output format:
<position in byte code>
<name of opcode> "["<opcode number>"]"
"("<length of instruction>")"
"<"<target instruction>">" "@"<branch target offset>
Instances of this class are thrown by BCEL's class file verifier "JustIce" when a
class file to verify does not pass one of the verification passes 2 or 3.
Instances of this class are thrown by BCEL's class file verifier "JustIce"
whenever
verification proves that some constraint of a class file (as stated in the
Java Virtual Machine Specification, Edition 2) is violated.