harpoon.IR.Quads
Class QuadFactory

java.lang.Object
  extended by harpoon.IR.Quads.QuadFactory
Direct Known Subclasses:
LowQuadFactory

public abstract class QuadFactory
extends Object

A QuadFactory is responsible for assigning unique numbers to the Quads in a method, and for maintaining some method-wide information (such as a pointer to the parent HCode).

Version:
$Id: QuadFactory.java,v 1.2 2002/02/25 21:05:12 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>

Constructor Summary
QuadFactory()
           
 
Method Summary
 Linker getLinker()
          Returns the Linker used to resolve class names for all Quads.
 HMethod getMethod()
          Returns the HMethod for which all Quads correspond.
abstract  Code getParent()
          Returns the HCode to which all Quads generated by this QuadFactory belong.
abstract  int getUniqueID()
          Returns a unique number for a Quad within this QuadFactory.
abstract  TempFactory tempFactory()
          Returns the TempFactory to use for Temp arguments to Quads generated by this factory.
 String toString()
          Returns a human-readable representation for this QuadFactory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

QuadFactory

public QuadFactory()
Method Detail

tempFactory

public abstract TempFactory tempFactory()
Returns the TempFactory to use for Temp arguments to Quads generated by this factory.


getParent

public abstract Code getParent()
Returns the HCode to which all Quads generated by this QuadFactory belong.


getMethod

public HMethod getMethod()
Returns the HMethod for which all Quads correspond.


getLinker

public Linker getLinker()
Returns the Linker used to resolve class names for all Quads.


getUniqueID

public abstract int getUniqueID()
Returns a unique number for a Quad within this QuadFactory.


toString

public String toString()
Returns a human-readable representation for this QuadFactory.

Overrides:
toString in class Object