at.dms.kjc.sir
Class SIRRecursiveStub

java.lang.Object
  extended by at.dms.kjc.sir.SIROperator
      extended by at.dms.kjc.sir.SIRStream
          extended by at.dms.kjc.sir.SIRRecursiveStub
All Implemented Interfaces:
DeepCloneable, Finalizable, SIRCodeUnit, Serializable, Cloneable

public class SIRRecursiveStub
extends SIRStream
implements Cloneable

This class represents a stub for something that was found to be recursive in the front-end, and needs to be expanded within the IR. All instances should be eliminated in the expansion of the stream graph, and it should never be instantiated during normal IR manipulation.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class at.dms.kjc.sir.SIRStream
fields, ident, init, methods, work
 
Constructor Summary
protected SIRRecursiveStub()
          No argument constructor, FOR AUTOMATIC CLONING ONLY.
  SIRRecursiveStub(String className, FEIRToSIR feir2sir)
           
  SIRRecursiveStub(String className, Kopi2SIR kopi2SIR)
           
 
Method Summary
 Object accept(AttributeStreamVisitor v)
          Shouldn't be calling this.
 Object deepClone()
          Returns a deep clone of this object.
protected  void deepCloneInto(SIRRecursiveStub other)
          Clones all fields of this into
 SIRStream expand()
          Returns the expanded version of this stub, which is obtained by parsing the original class definition one level deeper.
 CType getInputType()
          Shouldn't be calling this.
 CType getOutputType()
          Shouldn't be calling this.
 int getPopForSchedule(HashMap[] counts)
          Shouldn't be calling this.
 int getPushForSchedule(HashMap[] counts)
          Shouldn't be calling this.
 LIRStreamType getStreamType()
          Shouldn't be calling this.
 
Methods inherited from class at.dms.kjc.sir.SIRStream
addField, addField, addFields, addFields, addMethod, addMethods, addReplacementMethod, deepCloneInto, getFields, getIdent, getInit, getMethods, getParams, getStreamWithNumber, getTypeNameInC, getWork, hasMethod, insideFeedbackLoop, makeEmptyInit, makeEmptyInitWork, makeEmptyWork, needsInit, needsWork, setFields, setIdent, setInit, setInitWithoutReplacement, setMethods, setWork, toString
 
Methods inherited from class at.dms.kjc.sir.SIROperator
assertMutable, deepCloneInto, getAncestors, getName, getNumber, getParent, getParents, getParentStructureAccess, getRelativeName, getShortIdent, hashCode, readResolve, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SIRRecursiveStub

protected SIRRecursiveStub()
No argument constructor, FOR AUTOMATIC CLONING ONLY.


SIRRecursiveStub

public SIRRecursiveStub(String className,
                        Kopi2SIR kopi2SIR)

SIRRecursiveStub

public SIRRecursiveStub(String className,
                        FEIRToSIR feir2sir)
Method Detail

expand

public SIRStream expand()
Returns the expanded version of this stub, which is obtained by parsing the original class definition one level deeper.


getOutputType

public CType getOutputType()
Shouldn't be calling this.

Specified by:
getOutputType in class SIRStream

getInputType

public CType getInputType()
Shouldn't be calling this.

Specified by:
getInputType in class SIRStream

getPushForSchedule

public int getPushForSchedule(HashMap[] counts)
Shouldn't be calling this.

Specified by:
getPushForSchedule in class SIRStream

getPopForSchedule

public int getPopForSchedule(HashMap[] counts)
Shouldn't be calling this.

Specified by:
getPopForSchedule in class SIRStream

getStreamType

public LIRStreamType getStreamType()
Shouldn't be calling this.

Specified by:
getStreamType in class SIRStream

accept

public Object accept(AttributeStreamVisitor v)
Shouldn't be calling this.

Specified by:
accept in class SIROperator

deepClone

public Object deepClone()
Returns a deep clone of this object.

Specified by:
deepClone in interface DeepCloneable
Overrides:
deepClone in class SIRStream

deepCloneInto

protected void deepCloneInto(SIRRecursiveStub other)
Clones all fields of this into
other