JML

Package org.multijava.util.classfile

Provides an editor for classfiles used by MultiJava and the Java Modeling Language.

See:
          Description

Interface Summary
AccessorContainer Classes implement this interface to indicate that they contain instruction accessors.
AccessorTransformer Convert a generic instruction accessor to a specific type
AttributeParser This interface is implemented by all classes which can participate in the chain-of-responsibility for parsing Attributes from bytecode.
Constants Constants used in JVM class files
InstructionAccessor A generic accessor to an instruction
PushLiteralInstruction.Operand  
 

Class Summary
AbstractInstructionAccessor This class provides default implementations for the InstructionAccessor interface: the resolution of the accessor is left to the transformer, which must in turn have knowledge of and access to the accessor to be transformed.
AnchorAttribute This attribute flags a class as an external generic function anchor class.
Annotation This class represents an annotation structure in a classfile.
AnnotBooleanElementValue A class representing a boolean value in an element-value pair of an annotation structure.
AnnotByteElementValue A class representing a byte value in an element-value pair of an annotation structure.
AnnotCharElementValue A class representing a char value in an element-value pair of an annotation structure
AnnotDoubleElementValue A class representing a double value in an element-value pair of an annotation structure.
AnnotElementValue A class representing a value in an element-value pair of an annotation structure.
AnnotFloatElementValue A class representing a float value in an element-value pair of an annotation structure.
AnnotIntegerElementValue A class representing a char value in an element-value pair of an annotation structure.
AnnotLongElementValue A class representing a long value in an element-value pair of an annotation structure.
AnnotShortElementValue A class representing a short value in an element-value pair of an annotation structure.
AnnotStringElementValue A class representing a String value in an element-value pair of an annotation structure.
AsciiConstant This is a class to create Ascii Constant entries.
Attribute This is the root class of every attribute
AttributeList This class represents a list of attributes within a ClassInfo structure (see JVM2, 4.7).
AttributeList.ParserIterator This nested class implements a specialized iterator that returns successive parsers from the chain-of-responsibility and keeps clients from having to perform casts.
BaseAttributeParser This class implements a parser for regular Java bytecode attributes as defined in the JVM specification.
ClassConstant This is used to create a Class constant pool item
ClassDirectory This class represents a conceptual directory which may hold files.
ClassfileMessages  
ClassfileOptions This class is automatically generated from ClassfileOptions.opt and contains member fields corresponding to command-line options.
ClassInfo VMS 4.1 Class File This is the place where all information about the class defined by this class file resides.
ClassInfoCreator A factory class to create class info objects.
ClassPath This class implements the conceptual directory structure for .class files
ClassPath.ClassDescription A File value used to indicate an undefined result.
ClassPath.ClassPath$1  
ClassPath.Data This class mimics a DataInput, but optimizes the reading of the supplied InputStream.
ClassPath.FileClassDescription  
ClassRefInstruction Instructions that refers to class: opc_anewarray, opc_checkcast, opc_instanceof, opc_new
CodeEnv This class represent the code environement during control flow This allow to compute the amount of stack consumed, to check if instructions are reached and so on
CodeInfo This class represents the Java virtual machine instructions and auxiliary information for a single method.
CodePosition This class represent the code position of each instruction during analyse of control flow.
ConstantPool The constant pool, in this object are stored all the constant of the classfile
ConstantValueAttribute VMS 4.7.3: Constant Value Attribute A ConstantValue attribute represents the value of a constant field that must be (explicitly or implicitly) static
DeprecatedAttribute ICS: Member Attribute Deprecated This attribute marks superseded classes, fields and methods.
DirClassDirectory  
DispatcherAttribute This attribute flags a member as a compiler-generated dispatcher.
DoubleConstant Wrap an Double constant reference with this CPE.
ExceptionsAttribute VMS 4.7.5: Exceptions Attribute This attribute indicates which checked exceptions a method may throw.
FieldInfo VMS 4.5: Fields Each field is described by this structure.
FieldRefConstant  
FieldRefInstruction Instructions thar refers to class fields opc_getstatic, opc_putstatic, opc_getfield, opc_putfield
FloatConstant Wrap an Float constant reference with this CPE.
GenericAttribute This is an opaque attribute that lets you add an uninterpreted stream of bytes into an attribute in a class file.
GenericFunctionInfo This data structure groups a set of multimethods all declared in the same class or generic function anchor and all belonging to the same generic function.
GenericFunctionsAttribute This attribute represents the entire set of generic functions declared in or overridden in a single class or generic function anchor.
HandleCreator This class replaces all references to instructions by their associated handle.
HandlerInfo This class represents a protected ("try") portion of block with an handler (catch) for a specified type of exception
Hashtables  
IincInstruction Some instructions are perniticky enough that its simpler to write them separately instead of smushing them with all the rest.
InnerClassInfo This class represents a single entry in the array of classes stored inside an InnerClasses attribute.
InnerClassTable This represents an InnerClasses attribute.
Instruction Root class for instructions.
InstructionHandle  
InstructionIO An utility class that read the instructions from a stream
InstructionIO.ForwardReference  
IntegerConstant Wrap an integer constant reference with this CPE.
InterfaceConstant  
InvokeinterfaceInstruction Some instructions are perniticky enough that its simpler to write them separately instead of smushing them with all the rest.
JumpInstruction This class represents instructions that take a label as argument.
LineNumberInfo VMS 4.7.6: Line Number Table Attribute This attribute represents a mapping between he Java Virtual Machine code array and the line number in the original Java source file
LineNumberTable VMS 4.7.6: Line Number Table Attribute This attribute represents a mapping between he Java Virtual Machine code array and the line number in the original Java source file
LocalVariableInfo VMS 4.7.6: Line Number Table Attribute This attribute represents a mapping between he Java Virtual Machine code array and the line number in the original Java source file
LocalVariableTable VMS 4.7.6: Line Number Table Attribute This attribute represents a mapping between he Java Virtual Machine code array and the line number in the original Java source file
LocalVarInstruction This class represents instructions that take a local variable as argument.
LongConstant Wrap an Long constant reference with this CPE.
Main This class allow to test the classfile reader / writer system by reading / writing every class given as parameters.
Member VMS 4.5: Members Root class for class members (fields, methods, inner classes and interfaces)
MethodInfo VMS 4.6: Methods Each method, and each (class or instance) initialization method is described by this structure.
MethodRefConstant  
MethodRefInstruction Instruction that references method opc_invokevirtual,_invokespecial, opc_invokestatic
MJAttributeParser This class implements a parser for the additional bytecode attributes defined in the MultiJava language specification.
MultiarrayInstruction Some instructions are perniticky enough that its simpler to write them separately instead of smushing them with all the rest.
MultimethodBodyAttribute This attribute flags a method as a compiler-generated multimethod body.
MultimethodInfo An instance of this data structure describes each multimethod in a class.
NameAndTypeConstant This constant represent a name and a type in the contant pool
NewarrayInstruction This class represents instructions that take a local variable as argument.
NoArgInstruction This class represents instructions that take no arguments.
OpcodeNames The human-readable name of this opcodes
PooledArray  
PooledConstant this is an abstraction to contain all the constant items that can be created.
PushLiteralInstruction This class encapsulates the instructions pushing a literal on the stack: bipush, sipush, ldc, ldc_w, ldc2_w, dconst_<d>, fconst_<f>, iconst_<i>, lconst_<l>
RedirectorAttribute This attribute flags a member as a compiler-generated pleomorphic method redirector.
ReferenceConstant VMS 4.4.2: This class implements field/method/interface method reference constants.
RMJAttribute This attribute corresponds to a sequence of RMJ annotations.
RuntimeVisibleAnnotationsAttribute A class representing a RuntimeVisibleAnnotations attribute.
RuntimeVisibleParameterAnnotationsAttribute A class representing a RuntimeVisibleParameterAnnotations attribute.
SignatureAttribute  
SkippedCodeInfo The code info, but without the instructions (only the interface)
SourceFileAttribute VMS 4.7.2: Source File Attribute This attribute represents the name of the source file from which this class file was compiled.
StringConstant Wrap an String constant reference with this CPE.
SwitchInstruction Some instructions are persnickety enough that its simpler to write them separately instead of smushing them with all the rest.
SyntheticAttribute ICS: Member Attribute Synthetic This attribute marks fields and methods synthesized by the compiler in order to implement the scoping of names.
UniverseAttributeParser This class implements an attribute parser that recognizes the JUTS attributes.
UniverseByteConstants This class contains static helper functions that work on the byte constants used to represent universe annotations in attributes.
UniverseClassAttribute This class implements a JUTS class attribute.
UniverseFieldAttribute This class implements a JUTS field attribute.
UniverseMethodAttribute This class implements a JUTS method attribute.
UnresolvedConstant Wrap an Unresolved constant reference with this CPE.
ZipClassDescription  
ZipClassDirectory  
 

Exception Summary
BadAccessorException This exception is to report unresolvable instruction accessors.
ClassFileFormatException Error thrown on problems encountered.
ClassFileReadException This exception is used to communicate a problem reading a classfile to client packages.
 

Package org.multijava.util.classfile Description

Provides an editor for classfiles used by MultiJava and the Java Modeling Language.

Package Specification

Classfile allows the editing of Java classfiles from within a Java program.

Credits

The code for Classfile originated from the Kopi project. This code was adapted for the Multijava project by Curtis Clifton, Yoonsik Cheon, Craig Chambers, and Gary T. Leavens.

Thanks also to any contributors whose names we have failed to mention. If we've left you off this list, it is a mistake on our part and we apologize. Please let us know so the mistake can be rectified.


JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.