Package harpoon.IR.RawClass

A representation of the on-disk format of a bytecode file.

See:
          Description

Class Summary
AccessFlags Represents a set of method or field access flags, containing permissions and properties of a field or method.
Attribute Attributes are used in the ClassFile, field_info, method_info, and Code_attribute structures of the class file format.
AttributeCode The Code attribute is a variable-length attribute used in the attributes table of method_info structures.
AttributeConstantValue The ConstantValue attribute is a fixed-length attribute used in the attributes table of the field_info structures.
AttributeExceptions The Exceptions attribute is a variable-length attribute used in the attributes table of a method_info structure.
AttributeInnerClasses InnerClasses attributes define the encodings of bytecode names of inner classes.
AttributeLineNumberTable The LineNumberTable attribute is an optional variable-length attribute in the attributes table of a Code attribute.
AttributeLocalVariableTable The LocalVariableTable attribute is an optional variable-length attribute of a Code attribute.
AttributeSignature Classfiles need to carry generic type information in a backwards-compatible way.
AttributeSourceFile The SourceFile attribute is an optional fixed-length attribute in the attributes table of the ClassFile structure.
AttributeSynthetic Java 1.1 compilers are required, when producing bytecodes, to mark any field or member not directly defined in the source code with an attribute names Synthetic.
AttributeUnknown An attribute of unknown format.
ClassDataInputStream A specialized input stream reader for java bytecode files.
ClassDataOutputStream A specialized output stream writer for java bytecode files.
ClassFile Represents a java bytecode class file.
Constant The Constant class represents a single item in the constant pool of a class file.
ConstantClass The CONSTANT_Class_info structure is used to represent a class or an interface.
ConstantDouble The CONSTANT_Double_info structure represents eight-byte floating-point numeric constants.
ConstantFieldref The CONSTANT_Fieldref structure represents a field.
ConstantFloat The CONSTANT_Float_info structure represents four-byte floating-point numeric constants.
ConstantInteger The CONSTANT_Integer_info structure represents four-byte integer numeric constants.
ConstantInterfaceMethodref The CONSTANT_InterfaceMethodref structure represents an interface method.
ConstantLong The CONSTANT_Long_info structure represents eight-byte integer numeric constants.
ConstantMethodref The CONSTANT_Methodref structure represents a method.
ConstantNameAndType The CONSTANT_NameAndType_info structure is used to represent a field or method, without indicating which class or interface type it belongs to.
ConstantString The CONSTANT_String_info structure is used to represent constant objects of the type java.lang.String.
ConstantUtf8 The CONSTANT_Utf8_info structure is used to represent constant string values.
ConstantValue The ConstantValue interface provides a standard way for constants to return a wrapped version of their values.
ExceptionTable Each ExceptionTable object describes one exception handler in the code array of an AttributeCode.
FieldInfo Each field is described by a variable-length field_info structure.
InnerClass Each InnerClass object describes one encoded inner class name, its defining scope, its simple name, and a bitmask of the originally declared, untransformed access flags.
LineNumberTable Each object indicates that the line number in the original Java source file changes at a given point in the code array.
LocalVariableTable Each object indicates a range of code array offsets within which a local variable has a value.
MethodInfo Each method, and each instance initialization method <init>, is described by a variable-length method_info structure.
 

Exception Summary
ClassDataException Specialized IOException class to handle malformed class files.
 

Package harpoon.IR.RawClass Description

A representation of the on-disk format of a bytecode file. Contains methods to read and write .class files at a very low-level. Rather awkward to manipulate. No method code representation except a byte-array of java bytecodes.

Use harpoon.IR.Bytecode for analysis at the bytecode level.

Author:
C. Scott Ananian <cananian@alumni.princeton.edu>