harpoon.Backend.Runtime1
Class DataReflection1

java.lang.Object
  extended by harpoon.ClassFile.HData
      extended by harpoon.IR.Tree.Data
          extended by harpoon.Backend.Runtime1.Data
              extended by harpoon.Backend.Runtime1.DataReflection1

public class DataReflection1
extends Data

DataReflection1 creates tables which the JNI interface will use. This includes:

  1. a table to map class names to java.lang.Class objects, sorted in order of the UTF-8 encodings of the class names. (begins at name2class_start, ends at name2class_end)
  2. a table to map java.lang.Class objects to class information structures, sorted in order of the (non-relocatable) Class object address. (begins at class2info_start, ends at class2info_end)
  3. UTF-8 encoded class name strings, used by the first table as well as by the class information structures.
  4. Static java.lang.Class objects. As the JDK dictates, these contain no actual class data; however, table #2 above can be keyed by the object address to fetch the actual class information structures.

Version:
$Id: DataReflection1.java,v 1.8 2004/07/02 00:08:56 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>

Nested Class Summary
 
Nested classes/interfaces inherited from class harpoon.IR.Tree.Data
Data.TreeFactory
 
Field Summary
 
Fields inherited from class harpoon.Backend.Runtime1.Data
root
 
Fields inherited from class harpoon.IR.Tree.Data
desc, frame, modCount, tf
 
Constructor Summary
DataReflection1(Frame f, HClass hc, ClassHierarchy ch)
          Creates a DataReflection1.
 
Method Summary
 
Methods inherited from class harpoon.Backend.Runtime1.Data
_DATUM, _DATUM, emitUtf8String, getHClass, getRootElement, hashCode, toUTF8
 
Methods inherited from class harpoon.IR.Tree.Data
getDesc, print
 
Methods inherited from class harpoon.ClassFile.HData
clone, getElementsI, getElementsL, print
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataReflection1

public DataReflection1(Frame f,
                       HClass hc,
                       ClassHierarchy ch)
Creates a DataReflection1.