Package harpoon.ClassFile

Representations of class hierarchy, object structure, and method code.

See:
          Description

Interface Summary
HClassMutator An HClassMutator allows you to change members and properties of an HClass.
HClassTypeVariable The HClassTypeVariable interface represents a type variable declared as a formal parameter to a generic class or interface.
HCodeEdge<HCE extends HCodeElement> An HCodeEdge connects two HCodeElements in a graph structure.
HCodeElement HCodeElement is an interface that all views of a particular method's executable instructions should implement.
HCodeFactory An HCodeFactory makes an HCode from an HMethod.
HConstructor An HConstructor provides information about a single constructor for a class.
HDataElement HDataElement is an interface that all views of the data items in an HData must implement.
HField A HField provides information about a single field of a class or an interface.
HFieldMutator HFieldMutator allows you to change properties of an HField.
HInitializer An HInitializer provides information about a class initializer method.
HMember HMember is an interface that reflects identifying information about a single member (a field or a method) or a constructor.
HMethod An HMethod provides information about, and access to, a single method on a class or interface.
HMethodMutator HMethodMutator allows you to change properties of an HMethod.
HMethodTypeVariable The HMethodTypeVariable interface represents a type variable declared as a formal parameter to a generic method.
HParameterizedType The HParameterizedType interface describes the behavior of parameterized types such as Collection<Applet> or HashMap<String, Class>.
HType The HType interface represents all compile time types.
HTypeVariable The HTypeVariable interface represents a type variable declared as a formal parameter to a generic class, interface, or method.
SerializableCodeFactory A SerializableCodeFactory is an HCodeFactory that implements java.io.Serializable.
 

Class Summary
CachingCodeFactory A CachingCodeFactory caches the conversions performed by a parent HCodeFactory; the cache can also be directly modified in order to add or replace method implementations.
HClass Instances of the class HClass represent classes and interfaces of a java program.
HCode<HCE extends HCodeElement> HCode is an abstract class that all views of a particular method's executable code should extend.
HCode.PrintCallback<HCE extends HCodeElement> Callback interface for annotating pretty-prints of HCodes.
HCodeAndMaps<HCE extends HCodeElement> HCodeAndMaps is a strongly-typed tuple representing all the derivation information for a cloned HCode.
HData HData is an interface that all views of a particular class's static data should extend.
HMember.MemberComparator Implementation of java.util.Comparator for objects implementing HMember, for consistency among implementations.
Linker A Linker object manages the association of symbolic names to code/data/object descriptions.
Loader Class file loader.
Relinker A Relinker object is a Linker where one can globally replace references to a certain class with references to another, different, class.
UniqueName UniqueName contains methods to create unique class, field, or method names.
 

Exception Summary
DuplicateClassException DuplicateClassException is thrown to indicate an attempt to create a class whose name conflicts with another class already known to the linker.
DuplicateMemberException DuplicateMemberException is thrown to indicate an attempt to add a member to a class already containing a member of the same name.
NoSuchClassException NoSuchClassException is thrown to indicate an attempt to remove a class from a list which does not contain it, or a failed attempt to look up a class by name or descriptor.
NoSuchMemberException NoSuchMemberException is thrown to indicate an attempt to remove a member from a class which does not contain it.
 

Package harpoon.ClassFile Description

Representations of class hierarchy, object structure, and method code.

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