at.dms.kjc.backendSupport
Class DelegatingChannel
java.lang.Object
at.dms.kjc.backendSupport.Channel
at.dms.kjc.backendSupport.DelegatingChannel
public class DelegatingChannel
- extends Channel
A Channel that delegates all useful work to another channel.
This is used to maintain one Channel per Edge in the case where
a SliceNode does not generate any code. In such a case the
Channel for an intra-slice edge will delagate to the Channel
for the InterSliceEdge.
A DelegatingChannel has its own source and destination
but all other operations are delegated.
It does not produce any method (or other) declarations since
these would be redundant with the channel delegated to.
- Author:
- dimock
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
getChannel
public static DelegatingChannel getChannel(Edge edge,
Channel other)
- Make a new Channel or return an already-made channel.
- Parameters:
edge - The edge that this channel implements.other - The channel that this delegates to.
- Returns:
- A channel for this edge, that
assignFromPeekMethod
public JMethodDeclaration assignFromPeekMethod()
- Overrides:
assignFromPeekMethod in class Channel
assignFromPeekMethodName
public String assignFromPeekMethodName()
- Overrides:
assignFromPeekMethodName in class Channel
assignFromPopMethod
public JMethodDeclaration assignFromPopMethod()
- Overrides:
assignFromPopMethod in class Channel
assignFromPopMethodName
public String assignFromPopMethodName()
- Overrides:
assignFromPopMethodName in class Channel
beginInitRead
public List<JStatement> beginInitRead()
- Overrides:
beginInitRead in class Channel
beginInitWrite
public List<JStatement> beginInitWrite()
- Overrides:
beginInitWrite in class Channel
beginSteadyRead
public List<JStatement> beginSteadyRead()
- Overrides:
beginSteadyRead in class Channel
beginSteadyWrite
public List<JStatement> beginSteadyWrite()
- Overrides:
beginSteadyWrite in class Channel
dataDecls
public List<JStatement> dataDecls()
- Overrides:
dataDecls in class Channel
dataDeclsH
public List<JStatement> dataDeclsH()
- Overrides:
dataDeclsH in class Channel
endInitRead
public List<JStatement> endInitRead()
- Overrides:
endInitRead in class Channel
endInitWrite
public List<JStatement> endInitWrite()
- Overrides:
endInitWrite in class Channel
endSteadyRead
public List<JStatement> endSteadyRead()
- Overrides:
endSteadyRead in class Channel
endSteadyWrite
public List<JStatement> endSteadyWrite()
- Overrides:
endSteadyWrite in class Channel
getExtraCount
public int getExtraCount()
- Overrides:
getExtraCount in class Channel
getIdent
public String getIdent()
- Overrides:
getIdent in class Channel
getDelegatedIdent
public String getDelegatedIdent()
getDest
public SliceNode getDest()
- Overrides:
getDest in class Channel
getSource
public SliceNode getSource()
- Overrides:
getSource in class Channel
getType
public CType getType()
- Overrides:
getType in class Channel
peekMethod
public JMethodDeclaration peekMethod()
- Overrides:
peekMethod in class Channel
peekMethodName
public String peekMethodName()
- Overrides:
peekMethodName in class Channel
popManyMethod
public JMethodDeclaration popManyMethod()
- Description copied from class:
Channel
- Pop many items at once ignoring them.
Default method generated here to call popMethod() repeatedly.
- Overrides:
popManyMethod in class Channel
popManyMethodName
public String popManyMethodName()
- Overrides:
popManyMethodName in class Channel
popMethod
public JMethodDeclaration popMethod()
- Overrides:
popMethod in class Channel
popMethodName
public String popMethodName()
- Overrides:
popMethodName in class Channel
postPreworkInitRead
public List<JStatement> postPreworkInitRead()
- Overrides:
postPreworkInitRead in class Channel
pushMethod
public JMethodDeclaration pushMethod()
- Overrides:
pushMethod in class Channel
pushMethodName
public String pushMethodName()
- Overrides:
pushMethodName in class Channel
readDecls
public List<JStatement> readDecls()
- Overrides:
readDecls in class Channel
readDeclsExtern
public List<JStatement> readDeclsExtern()
- Overrides:
readDeclsExtern in class Channel
setExtralength
public void setExtralength(int extracount)
- Overrides:
setExtralength in class Channel
topOfWorkSteadyRead
public List<JStatement> topOfWorkSteadyRead()
- Overrides:
topOfWorkSteadyRead in class Channel
topOfWorkSteadyWrite
public List<JStatement> topOfWorkSteadyWrite()
- Overrides:
topOfWorkSteadyWrite in class Channel
writeDecls
public List<JStatement> writeDecls()
- Overrides:
writeDecls in class Channel
writeDeclsExtern
public List<JStatement> writeDeclsExtern()
- Overrides:
writeDeclsExtern in class Channel