Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.bcel.verifier.exc.* (14)org.apache.bcel.verifier.statics.* (9)
org.apache.bcel.verifier.structurals.* (14)

org.apache.bcel.verifier: Javadoc index of package org.apache.bcel.verifier.


Package Samples:

org.apache.bcel.verifier.structurals: BCEL's verifier JustIce is there to help you dump correct Java class files created or modified with BCEL.  
org.apache.bcel.verifier.exc
org.apache.bcel.verifier.statics

Classes:

ExecutionVisitor: This Visitor class may be used for a type-based Java Virtual Machine simulation. It does not check for correct types on the OperandStack or in the LocalVariables; nor does it check their sizes are sufficiently big. Thus, to use this Visitor for bytecode verifying, you have to make sure externally that the type constraints of the Java Virtual Machine instructions are satisfied. An InstConstraintVisitor may be used for this. Anyway, this Visitor does not mandate it. For example, when you visitIADD(IADD o), then there are two stack slots popped and one stack slot containing a Type.INT is pushed (where ...
PassVerifier: A PassVerifier actually verifies a class file; it is instantiated by a Verifier. The verification should conform with a certain pass as described in The Java Virtual Machine Specification, 2nd edition. This book describes four passes. Pass one means loading the class and verifying a few static constraints. Pass two actually verifies some other constraints that could enforce loading in referenced class files. Pass three is the first pass that actually checks constraints in the code array of a method in the class file; it has two parts with the first verifying static constraints and the second part ...
Subroutines: Instances of this class contain information about the subroutines found in a code array of a method. This implementation considers the top-level (the instructions reachable without a JSR or JSR_W starting off from the first instruction in a code array of a method) being a special subroutine; see getTopLevel() for that. Please note that the definition of subroutines in the Java Virtual Machine Specification, Second Edition is somewhat incomplete. Therefore, JustIce uses an own, more rigid notion. Basically, a subroutine is a piece of code that starts at the target of a JSR of JSR_W instruction and ...
LinkingConstraintException: 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). The Java Virtual Machine Specification, 2nd edition, states that certain constraints are usually verified at run-time for performance reasons (the verification of those constraints requires loading in and recursively verifying referenced classes) that conceptually belong to pass 3; to be precise, that conceptually belong to the data flow analysis of pass 3 (called pass ...
StringRepresentation: 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. When performing class file verification, it may be useful to output which entity (e.g. a Code instance) is not satisfying the verifier's constraints, but in this case it could be possible for the toString() method to throw a RuntimeException. A (new StringRepresentation(Node n)).toString() never throws any exception. Note that this class also serves as a placeholder for more sophisticated message handling in future versions ...
StructuralCodeConstraintException: 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. Note that the notion of a "structural" constraint is somewhat misleading. Structural constraints are constraints on relationships between Java virtual machine instructions. These are the constraints where data-flow analysis is needed to verify if they hold. The data flow analysis of pass 3 is called pass 3b in JustIce ...
StaticCodeInstructionOperandConstraintException: 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. The static constraints checking part of pass 3 is called pass 3a in JustIce. Static constraints on the operands of instructions in the code array are checked late in pass 3a and are described on page 134-137 in the Java Virtual Machine Specification, Second Edition.
StaticCodeInstructionConstraintException: 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. The static constraints checking part of pass 3 is called pass 3a in JustIce. Static constraints on the instructions in the code array are checked early in pass 3a and are described on page 134 in the Java Virtual Machine Specification, Second Edition.
VerificationException: 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. Note that the pass 3 used by "JustIce" involves verification that is usually delayed to pass 4. The name of this class is justified by the Java Virtual Machine Specification, 2nd edition, page 164, 5.4.1 where verification as a part of the linking process is defined to be the verification happening in passes 2 and 3.
Verifier: A Verifier instance is there to verify a class file according to The Java Virtual Machine Specification, 2nd Edition. Pass-3b-verification includes pass-3a-verification; pass-3a-verification includes pass-2-verification; pass-2-verification includes pass-1-verification. A Verifier creates PassVerifier instances to perform the actual verification. Verifier instances are usually generated by the VerifierFactory.
VerifyDialog: A class for simple graphical class file verification. Use the main(String []) method with fully qualified class names as arguments to use it as a stand-alone application. Use the VerifyDialog(String) constructor to use this class in your application. [This class was created using VisualAge for Java, but it does not work under VAJ itself (Version 3.02 JDK 1.2)]
StaticCodeConstraintException: 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. The static constraints checking part of pass 3 is called pass 3a in JustIce.
InstConstraintVisitor: A Visitor class testing for valid preconditions of JVM instructions. The instance of this class will throw a StructuralCodeConstraintException instance if an instruction is visitXXX()ed which has preconditions that are not satisfied. TODO: Currently, the JVM's behaviour concerning monitors (MONITORENTER, MONITOREXIT) is not modeled in JustIce.
VerifierConstraintViolatedException: 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. This is roughly equivalent to the VerifyError the JVM-internal verifiers throw.
NativeVerifier: 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 can be used for comparison runs between the JVM-internal verifier and JustIce.
VerifierFactory: This class produces instances of the Verifier class. Its purpose is to make sure that they are singleton instances with respect to the class name they operate on. That means, for every class (represented by a unique fully qualified class name) there is exactly one Verifier.
LocalVariableInfoInconsistentException: 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.
Pass3bVerifier: 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. More detailed information is to be found at the do_verify() method's documentation.
LoadingException: 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. edition.
CodeConstraintException: Instances of this class are thrown by BCEL's class file verifier "JustIce" when a class file does not pass the verification pass 3. Note that the pass 3 used by "JustIce" involves verification that is usually delayed to pass 4.
Pass3aVerifier: This PassVerifier verifies a class file according to pass 3, static part as described in The Java Virtual Machine Specification, 2nd edition. More detailed information is to be found at the do_verify() method's documentation.
TransitiveHull: This class has a main method implementing a demonstration program of how to use the VerifierFactoryObserver. It transitively verifies all class files encountered; this may take up a lot of time and, more notably, memory.
Pass2Verifier: 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.

Home | Contact Us | Privacy Policy | Terms of Service