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