Package EDU.purdue.cs.bloat.editor
Allows classes, methods, and fields to be edited. In addition, the representation of bytecodes (JVM instructions) is refined. Types, opcodes, local variables, and special instrcution operands are introduced.
-
Interface Summary Interface Description EditorContext An EditorContext supplies a means of loading and editing classes.EditorVisitor EditorVisitor "visits" the "nodes" in a class.InstructionVisitor The visitor pattern allows functionality to be added to a number of classes (or in this case one class, Instruction, that can vary in behavior) without modifying the classes themselves.Opcode Opcode is an interface containing constants defining the opcodes of instructions and related constants. -
Class Summary Class Description ClassEditor A ClassEditor provides finer-grain access to a class than a CLassInfo object does.ClassHierarchy ClassHierarchy maintains a graph of the subclass relationships of the classes loaded by the ClassInfoLoader.CodeArray CodeArray converts an array of Instructions into an array of bytes suitable for saving to a MethodInfo with setCode.ConstantPool ConstantPool models constants in the constant pool.FieldEditor FieldEditor provides a means to edit a field of a class.IncOperand IncOperand encapsulates the operands to the iinc instruction.Instruction Instruction represents a single instruction in the JVM.InstructionAdapter This adapter provides a default implementation for every method in InstructionVisitor.Label Label is used to label an instruction.LocalVariable LocalVariable represents a local variable index operand to various instructions.MemberRef MemberRef represents a method or field (as a NameAndType) and the class (as a Type) in which it is declared.MethodEditor MethodEditor provides a means to edit a method of a class.MultiArrayOperand MultiArrayOperand encapsulates the operands to the multianewarray instruction.NameAndType Methods and fields are described by their name and type descriptor.SerialVersionUID This class computes the serial version UID of a class modeled by aClassEditor.Switch Switch is used to hold the lookup values and branch targets of a tableswitch or lookup switch instruction.TryCatch TryCatch holds the labels for the start and end of a protected block and the beginning of a catch block and the type of the exception to catch.Type Type represents a type descriptor in a classes constant pool.TypeComparator A TypeComparator orders Types such that a subclass preceededs its superclass.UseMap