at.dms.kjc.sir
Interface AttributeStreamVisitor
- All Known Implementing Classes:
- ConvertFileFilters, EmptyAttributeStreamVisitor, LinearDot, LinearDot, LinearDotSimple, LinearDotSimple, NumberDot, PartitionDot, ReplacingStreamVisitor, SimpleDot, SIRToStreamIt, StatelessDot, StreamItDot
public interface AttributeStreamVisitor
This visitor is for visiting stream structures in the SIR. It
allows each visit to return an object for the caller to see. It
does not visit statement-level constructs like SIRInitStatement,
SIRPushStatement, etc, nor (UNLIKE StreamVisitor) does it do the
recursing to component streams automatically.
The differences between this and StreamVisitor is that:
1. Each method returns an object that can be used by the caller.
2. As a result of this, recursion is not automatic; you call the
sub-visit methods if you want to visit one of them.
3. The recursion is done through the stream classes instead of
through iterators. Consequently, you don't get a reference
to the parent in the visitor.
4. This visits splitters/joiners, whereas StreamVisitor only visits
streams.
Method Summary |
Object |
visitFeedbackLoop(SIRFeedbackLoop self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init,
JMethodDeclaration initPath)
|
Object |
visitFilter(SIRFilter self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init,
JMethodDeclaration work,
CType inputType,
CType outputType)
|
Object |
visitJoiner(SIRJoiner self,
SIRJoinType type,
JExpression[] weights)
|
Object |
visitPhasedFilter(SIRPhasedFilter self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init,
JMethodDeclaration work,
JMethodDeclaration[] initPhases,
JMethodDeclaration[] phases,
CType inputType,
CType outputType)
|
Object |
visitPipeline(SIRPipeline self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init)
|
Object |
visitSplitJoin(SIRSplitJoin self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init,
SIRSplitter splitter,
SIRJoiner joiner)
|
Object |
visitSplitter(SIRSplitter self,
SIRSplitType type,
JExpression[] weights)
|
Object |
visitStructure(SIRStructure self,
JFieldDeclaration[] fields)
|
visitStructure
Object visitStructure(SIRStructure self,
JFieldDeclaration[] fields)
visitFilter
Object visitFilter(SIRFilter self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init,
JMethodDeclaration work,
CType inputType,
CType outputType)
visitPhasedFilter
Object visitPhasedFilter(SIRPhasedFilter self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init,
JMethodDeclaration work,
JMethodDeclaration[] initPhases,
JMethodDeclaration[] phases,
CType inputType,
CType outputType)
visitSplitter
Object visitSplitter(SIRSplitter self,
SIRSplitType type,
JExpression[] weights)
visitJoiner
Object visitJoiner(SIRJoiner self,
SIRJoinType type,
JExpression[] weights)
visitPipeline
Object visitPipeline(SIRPipeline self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init)
visitSplitJoin
Object visitSplitJoin(SIRSplitJoin self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init,
SIRSplitter splitter,
SIRJoiner joiner)
visitFeedbackLoop
Object visitFeedbackLoop(SIRFeedbackLoop self,
JFieldDeclaration[] fields,
JMethodDeclaration[] methods,
JMethodDeclaration init,
JMethodDeclaration initPath)