at.dms.kjc
Class SLIREmptyAttributeVisitor

java.lang.Object
  extended by at.dms.kjc.EmptyAttributeVisitor
      extended by at.dms.kjc.SLIREmptyAttributeVisitor
All Implemented Interfaces:
Constants, AttributeVisitor<Object>, SLIRAttributeVisitor<Object>

public class SLIREmptyAttributeVisitor
extends EmptyAttributeVisitor
implements SLIRAttributeVisitor<Object>

This is a visitor that just recurses into children at every node and returns that node. It can be extended to do some mutation at a given node.


Field Summary
 
Fields inherited from class at.dms.kjc.EmptyAttributeVisitor
forwards
 
Fields inherited from interface at.dms.kjc.Constants
CMP_VERSION, JAV_CLASS, JAV_CLONE, JAV_CLONEABLE, JAV_CONSTRUCTOR, JAV_ERROR, JAV_EXCEPTION, JAV_INIT, JAV_LENGTH, JAV_NAME_SEPARATOR, JAV_OBJECT, JAV_OUTER_THIS, JAV_RUNTIME, JAV_RUNTIME_EXCEPTION, JAV_STATIC_INIT, JAV_STRING, JAV_STRINGBUFFER, JAV_THIS, JAV_THROWABLE, OPE_BAND, OPE_BNOT, OPE_BOR, OPE_BSR, OPE_BXOR, OPE_EQ, OPE_GE, OPE_GT, OPE_LE, OPE_LNOT, OPE_LT, OPE_MINUS, OPE_NE, OPE_PERCENT, OPE_PLUS, OPE_POSTDEC, OPE_POSTINC, OPE_PREDEC, OPE_PREINC, OPE_SIMPLE, OPE_SL, OPE_SLASH, OPE_SR, OPE_STAR, TID_ARRAY, TID_BIT, TID_BOOLEAN, TID_BYTE, TID_CHAR, TID_CLASS, TID_DOUBLE, TID_FLOAT, TID_INT, TID_LONG, TID_SHORT, TID_VECTOR, TID_VOID, VECTOR_EMPTY
 
Fields inherited from interface at.dms.classfile.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INLINE, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, ATT_CODE, ATT_CONSTANTVALUE, ATT_DEPRECATED, ATT_EXCEPTIONS, ATT_GENERIC, ATT_INNERCLASSES, ATT_LINENUMBERTABLE, ATT_LOCALVARIABLETABLE, ATT_SOURCEFILE, ATT_SYNTHETIC, CST_CLASS, CST_DOUBLE, CST_FIELD, CST_FLOAT, CST_INTEGER, CST_INTERFACEMETHOD, CST_LONG, CST_METHOD, CST_NAMEANDTYPE, CST_STRING, CST_UTF8, ENV_DEBUG_MODE, ENV_USE_CACHE, JAVA_MAGIC, JAVA_MAJOR, JAVA_MINOR, MAX_CODE_PER_METHOD, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, POO_ASCII_CONSTANT, POO_CLASS_CONSTANT, POO_DOUBLE_CONSTANT, POO_FLOAT_CONSTANT, POO_INTEGER_CONSTANT, POO_LONG_CONSTANT, POO_NAT_CONSTANT, POO_REF_CONSTANT, POO_STRING_CONSTANT, TYP_ADDRESS, TYP_DOUBLE, TYP_FLOAT, TYP_INT, TYP_LONG, TYP_REFERENCE, TYP_VOID
 
Constructor Summary
SLIREmptyAttributeVisitor()
           
 
Method Summary
 Object visitCreatePortalExpression(SIRCreatePortal self)
           
 Object visitDynamicToken(SIRDynamicToken self)
          Visits a dynamic token.
 Object visitFileReader(LIRFileReader self)
          Visits a file reader.
 Object visitFileWriter(LIRFileWriter self)
          Visits a file writer.
 Object visitFunctionPointer(LIRFunctionPointer self, String name)
          Visits a function pointer.
 Object visitInitStatement(SIRInitStatement self, SIRStream target)
          Visits an init statement.
 Object visitInterfaceTable(SIRInterfaceTable self)
          Visits an interface table.
 Object visitLatency(SIRLatency self)
          Visits a latency.
 Object visitLatencyMax(SIRLatencyMax self)
          Visits a max latency.
 Object visitLatencyRange(SIRLatencyRange self)
          Visits a latency range.
 Object visitLatencySet(SIRLatencySet self)
          Visits a latency set.
 Object visitMainFunction(LIRMainFunction self, String typeName, LIRFunctionPointer init, List<JStatement> initStatements)
          Visits a main function contents.
 Object visitMarker(SIRMarker self)
          Visit SIRMarker.
 Object visitMessageStatement(SIRMessageStatement self, JExpression portal, String iname, String ident, JExpression[] args, SIRLatency latency)
          Visits a message statement.
 Object visitNode(LIRNode self)
          Visits an LIR node.
 Object visitPeekExpression(SIRPeekExpression self, CType tapeType, JExpression arg)
          Visits a peek expression.
 Object visitPopExpression(SIRPopExpression self, CType tapeType)
          Visits a pop expression.
 Object visitPortal(SIRPortal self)
          Visits a message-receiving portal.
 Object visitPrintStatement(SIRPrintStatement self, JExpression arg)
          Visits a print statement.
 Object visitPushExpression(SIRPushExpression self, CType tapeType, JExpression arg)
          Visits a push expression.
 Object visitRangeExpression(SIRRangeExpression self)
          Visits a range expression.
 Object visitRegReceiverStatement(SIRRegReceiverStatement self, JExpression portal, SIRStream receiver, JMethodDeclaration[] methods)
          Visits a register-receiver statement.
 Object visitRegSenderStatement(SIRRegSenderStatement self, String portal, SIRLatency latency)
          Visits a register-sender statement.
 Object visitSetBodyOfFeedback(LIRSetBodyOfFeedback self, JExpression streamContext, JExpression childContext, CType inputType, CType outputType, int inputSize, int outputSize)
          Visits a set body of feedback loop.
 Object visitSetChild(LIRSetChild self, JExpression streamContext, String childType, String childName)
          Visits a child registration node.
 Object visitSetDecode(LIRSetDecode self, JExpression streamContext, LIRFunctionPointer fp)
          Visits a decoder registration node.
 Object visitSetDelay(LIRSetDelay self, JExpression data, JExpression streamContext, int delay, CType type, LIRFunctionPointer fp)
          Visits a feedback loop delay node.
 Object visitSetEncode(LIRSetEncode self, JExpression streamContext, LIRFunctionPointer fp)
          Visits an encoder registration node.
 Object visitSetJoiner(LIRSetJoiner self, JExpression streamContext, SIRJoinType type, int ways, int[] weights)
          Visits a joiner-setting node.
 Object visitSetLoopOfFeedback(LIRSetLoopOfFeedback self, JExpression streamContext, JExpression childContext, CType inputType, CType outputType, int inputSize, int outputSize)
          Visits a set loop of feedback loop.
 Object visitSetParallelStream(LIRSetParallelStream self, JExpression streamContext, JExpression childContext, int position, CType inputType, CType outputType, int inputSize, int outputSize)
          Visits a set a parallel stream.
 Object visitSetPeek(LIRSetPeek self, JExpression streamContext, int peek)
          Visits a peek-rate-setting node.
 Object visitSetPop(LIRSetPop self, JExpression streamContext, int pop)
          Visits a pop-rate-setting node.
 Object visitSetPush(LIRSetPush self, JExpression streamContext, int push)
          Visits a push-rate-setting node.
 Object visitSetSplitter(LIRSetSplitter self, JExpression streamContext, SIRSplitType type, int ways, int[] weights)
          Visits a splitter-setting node.
 Object visitSetStreamType(LIRSetStreamType self, JExpression streamContext, LIRStreamType streamType)
          Visits a stream-type-setting node.
 Object visitSetTape(LIRSetTape self, JExpression streamContext, JExpression srcStruct, JExpression dstStruct, CType type, int size)
          Visits a tape registerer.
 Object visitSetWork(LIRSetWork self, JExpression streamContext, LIRFunctionPointer fn)
          Visits a work-function-setting node.
 Object visitVectorLiteral(JVectorLiteral self, JLiteral scalar)
          Visits a vector literal
 
Methods inherited from class at.dms.kjc.EmptyAttributeVisitor
visitArgs, visitArrayAccessExpression, visitArrayInitializer, visitArrayLengthExpression, visitAssignmentExpression, visitBinaryExpression, visitBitwiseComplementExpression, visitBitwiseExpression, visitBlockStatement, visitBooleanLiteral, visitBreakStatement, visitByteLiteral, visitCastExpression, visitCatchClause, visitCharLiteral, visitClassBody, visitClassDeclaration, visitClassExpression, visitClassImport, visitComment, visitComments, visitCompilationUnit, visitCompoundAssignmentExpression, visitCompoundStatement, visitConditionalExpression, visitConstructorCall, visitConstructorDeclaration, visitContinueStatement, visitDoStatement, visitDoubleLiteral, visitEmittedTextExpression, visitEmptyStatement, visitEqualityExpression, visitExpressionListStatement, visitExpressionStatement, visitFieldDeclaration, visitFieldExpression, visitFloatLiteral, visitFormalParameters, visitForStatement, visitIfStatement, visitInnerClassDeclaration, visitInstanceofExpression, visitInterfaceDeclaration, visitIntLiteral, visitJavadoc, visitLabeledStatement, visitLocalVariableExpression, visitLogicalComplementExpression, visitLongLiteral, visitMethodCallExpression, visitMethodDeclaration, visitNameExpression, visitNewArrayExpression, visitNullLiteral, visitPackageImport, visitPackageName, visitParenthesedExpression, visitPostfixExpression, visitPrefixExpression, visitQualifiedAnonymousCreation, visitQualifiedInstanceCreation, visitRelationalExpression, visitReturnStatement, visitShiftExpression, visitShortLiteral, visitStringLiteral, visitSuperExpression, visitSwitchGroup, visitSwitchLabel, visitSwitchStatement, visitSynchronizedStatement, visitThisExpression, visitThrowStatement, visitTryCatchStatement, visitTryFinallyStatement, visitTypeDeclarationStatement, visitTypeNameExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitUnaryPromoteExpression, visitUnqualifiedAnonymousCreation, visitUnqualifiedInstanceCreation, visitVariableDeclarationStatement, visitVariableDefinition, visitWhileStatement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface at.dms.kjc.AttributeVisitor
visitArrayAccessExpression, visitArrayInitializer, visitArrayLengthExpression, visitAssignmentExpression, visitBinaryExpression, visitBitwiseComplementExpression, visitBitwiseExpression, visitBlockStatement, visitBooleanLiteral, visitBreakStatement, visitByteLiteral, visitCastExpression, visitCatchClause, visitCharLiteral, visitClassBody, visitClassDeclaration, visitClassExpression, visitClassImport, visitComment, visitComments, visitCompilationUnit, visitCompoundAssignmentExpression, visitCompoundStatement, visitConditionalExpression, visitConstructorCall, visitConstructorDeclaration, visitContinueStatement, visitDoStatement, visitDoubleLiteral, visitEmittedTextExpression, visitEmptyStatement, visitEqualityExpression, visitExpressionListStatement, visitExpressionStatement, visitFieldDeclaration, visitFieldExpression, visitFloatLiteral, visitFormalParameters, visitForStatement, visitIfStatement, visitInnerClassDeclaration, visitInstanceofExpression, visitInterfaceDeclaration, visitIntLiteral, visitJavadoc, visitLabeledStatement, visitLocalVariableExpression, visitLogicalComplementExpression, visitLongLiteral, visitMethodCallExpression, visitMethodDeclaration, visitNameExpression, visitNewArrayExpression, visitNullLiteral, visitPackageImport, visitPackageName, visitParenthesedExpression, visitPostfixExpression, visitPrefixExpression, visitQualifiedAnonymousCreation, visitQualifiedInstanceCreation, visitRelationalExpression, visitReturnStatement, visitShiftExpression, visitShortLiteral, visitStringLiteral, visitSuperExpression, visitSwitchGroup, visitSwitchLabel, visitSwitchStatement, visitSynchronizedStatement, visitThisExpression, visitThrowStatement, visitTryCatchStatement, visitTryFinallyStatement, visitTypeDeclarationStatement, visitTypeNameExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitUnaryPromoteExpression, visitUnqualifiedAnonymousCreation, visitUnqualifiedInstanceCreation, visitVariableDeclarationStatement, visitVariableDefinition, visitWhileStatement
 

Constructor Detail

SLIREmptyAttributeVisitor

public SLIREmptyAttributeVisitor()
Method Detail

visitInitStatement

public Object visitInitStatement(SIRInitStatement self,
                                 SIRStream target)
Visits an init statement.

Specified by:
visitInitStatement in interface SLIRAttributeVisitor<Object>

visitInterfaceTable

public Object visitInterfaceTable(SIRInterfaceTable self)
Visits an interface table.

Specified by:
visitInterfaceTable in interface SLIRAttributeVisitor<Object>

visitLatency

public Object visitLatency(SIRLatency self)
Visits a latency.

Specified by:
visitLatency in interface SLIRAttributeVisitor<Object>

visitLatencyMax

public Object visitLatencyMax(SIRLatencyMax self)
Visits a max latency.

Specified by:
visitLatencyMax in interface SLIRAttributeVisitor<Object>

visitLatencyRange

public Object visitLatencyRange(SIRLatencyRange self)
Visits a latency range.

Specified by:
visitLatencyRange in interface SLIRAttributeVisitor<Object>

visitLatencySet

public Object visitLatencySet(SIRLatencySet self)
Visits a latency set.

Specified by:
visitLatencySet in interface SLIRAttributeVisitor<Object>

visitCreatePortalExpression

public Object visitCreatePortalExpression(SIRCreatePortal self)
Specified by:
visitCreatePortalExpression in interface SLIRAttributeVisitor<Object>

visitMessageStatement

public Object visitMessageStatement(SIRMessageStatement self,
                                    JExpression portal,
                                    String iname,
                                    String ident,
                                    JExpression[] args,
                                    SIRLatency latency)
Visits a message statement.

Specified by:
visitMessageStatement in interface SLIRAttributeVisitor<Object>

visitRangeExpression

public Object visitRangeExpression(SIRRangeExpression self)
Visits a range expression.

Specified by:
visitRangeExpression in interface SLIRAttributeVisitor<Object>

visitDynamicToken

public Object visitDynamicToken(SIRDynamicToken self)
Visits a dynamic token.

Specified by:
visitDynamicToken in interface SLIRAttributeVisitor<Object>

visitPeekExpression

public Object visitPeekExpression(SIRPeekExpression self,
                                  CType tapeType,
                                  JExpression arg)
Visits a peek expression.

Specified by:
visitPeekExpression in interface SLIRAttributeVisitor<Object>

visitFileReader

public Object visitFileReader(LIRFileReader self)
Visits a file reader.

Specified by:
visitFileReader in interface SLIRAttributeVisitor<Object>

visitFileWriter

public Object visitFileWriter(LIRFileWriter self)
Visits a file writer.

Specified by:
visitFileWriter in interface SLIRAttributeVisitor<Object>

visitPopExpression

public Object visitPopExpression(SIRPopExpression self,
                                 CType tapeType)
Visits a pop expression.

Specified by:
visitPopExpression in interface SLIRAttributeVisitor<Object>

visitPortal

public Object visitPortal(SIRPortal self)
Visits a message-receiving portal.

Specified by:
visitPortal in interface SLIRAttributeVisitor<Object>

visitPrintStatement

public Object visitPrintStatement(SIRPrintStatement self,
                                  JExpression arg)
Visits a print statement.

Specified by:
visitPrintStatement in interface SLIRAttributeVisitor<Object>

visitPushExpression

public Object visitPushExpression(SIRPushExpression self,
                                  CType tapeType,
                                  JExpression arg)
Visits a push expression.

Specified by:
visitPushExpression in interface SLIRAttributeVisitor<Object>

visitRegReceiverStatement

public Object visitRegReceiverStatement(SIRRegReceiverStatement self,
                                        JExpression portal,
                                        SIRStream receiver,
                                        JMethodDeclaration[] methods)
Visits a register-receiver statement.

Specified by:
visitRegReceiverStatement in interface SLIRAttributeVisitor<Object>

visitVectorLiteral

public Object visitVectorLiteral(JVectorLiteral self,
                                 JLiteral scalar)
Visits a vector literal

Specified by:
visitVectorLiteral in interface SLIRAttributeVisitor<Object>

visitRegSenderStatement

public Object visitRegSenderStatement(SIRRegSenderStatement self,
                                      String portal,
                                      SIRLatency latency)
Visits a register-sender statement.

Specified by:
visitRegSenderStatement in interface SLIRAttributeVisitor<Object>

visitMarker

public Object visitMarker(SIRMarker self)
Visit SIRMarker.

Specified by:
visitMarker in interface SLIRAttributeVisitor<Object>

visitFunctionPointer

public Object visitFunctionPointer(LIRFunctionPointer self,
                                   String name)
Visits a function pointer.

Specified by:
visitFunctionPointer in interface SLIRAttributeVisitor<Object>

visitNode

public Object visitNode(LIRNode self)
Visits an LIR node.

Specified by:
visitNode in interface SLIRAttributeVisitor<Object>

visitSetChild

public Object visitSetChild(LIRSetChild self,
                            JExpression streamContext,
                            String childType,
                            String childName)
Visits a child registration node.

Specified by:
visitSetChild in interface SLIRAttributeVisitor<Object>

visitSetDecode

public Object visitSetDecode(LIRSetDecode self,
                             JExpression streamContext,
                             LIRFunctionPointer fp)
Visits a decoder registration node.

Specified by:
visitSetDecode in interface SLIRAttributeVisitor<Object>

visitSetDelay

public Object visitSetDelay(LIRSetDelay self,
                            JExpression data,
                            JExpression streamContext,
                            int delay,
                            CType type,
                            LIRFunctionPointer fp)
Visits a feedback loop delay node.

Specified by:
visitSetDelay in interface SLIRAttributeVisitor<Object>

visitSetEncode

public Object visitSetEncode(LIRSetEncode self,
                             JExpression streamContext,
                             LIRFunctionPointer fp)
Visits an encoder registration node.

Specified by:
visitSetEncode in interface SLIRAttributeVisitor<Object>

visitSetJoiner

public Object visitSetJoiner(LIRSetJoiner self,
                             JExpression streamContext,
                             SIRJoinType type,
                             int ways,
                             int[] weights)
Visits a joiner-setting node.

Specified by:
visitSetJoiner in interface SLIRAttributeVisitor<Object>

visitSetPeek

public Object visitSetPeek(LIRSetPeek self,
                           JExpression streamContext,
                           int peek)
Visits a peek-rate-setting node.

Specified by:
visitSetPeek in interface SLIRAttributeVisitor<Object>

visitSetPop

public Object visitSetPop(LIRSetPop self,
                          JExpression streamContext,
                          int pop)
Visits a pop-rate-setting node.

Specified by:
visitSetPop in interface SLIRAttributeVisitor<Object>

visitSetPush

public Object visitSetPush(LIRSetPush self,
                           JExpression streamContext,
                           int push)
Visits a push-rate-setting node.

Specified by:
visitSetPush in interface SLIRAttributeVisitor<Object>

visitSetSplitter

public Object visitSetSplitter(LIRSetSplitter self,
                               JExpression streamContext,
                               SIRSplitType type,
                               int ways,
                               int[] weights)
Visits a splitter-setting node.

Specified by:
visitSetSplitter in interface SLIRAttributeVisitor<Object>

visitSetStreamType

public Object visitSetStreamType(LIRSetStreamType self,
                                 JExpression streamContext,
                                 LIRStreamType streamType)
Visits a stream-type-setting node.

Specified by:
visitSetStreamType in interface SLIRAttributeVisitor<Object>

visitSetWork

public Object visitSetWork(LIRSetWork self,
                           JExpression streamContext,
                           LIRFunctionPointer fn)
Visits a work-function-setting node.

Specified by:
visitSetWork in interface SLIRAttributeVisitor<Object>

visitSetTape

public Object visitSetTape(LIRSetTape self,
                           JExpression streamContext,
                           JExpression srcStruct,
                           JExpression dstStruct,
                           CType type,
                           int size)
Visits a tape registerer.

Specified by:
visitSetTape in interface SLIRAttributeVisitor<Object>

visitMainFunction

public Object visitMainFunction(LIRMainFunction self,
                                String typeName,
                                LIRFunctionPointer init,
                                List<JStatement> initStatements)
Visits a main function contents.

Specified by:
visitMainFunction in interface SLIRAttributeVisitor<Object>

visitSetBodyOfFeedback

public Object visitSetBodyOfFeedback(LIRSetBodyOfFeedback self,
                                     JExpression streamContext,
                                     JExpression childContext,
                                     CType inputType,
                                     CType outputType,
                                     int inputSize,
                                     int outputSize)
Visits a set body of feedback loop.

Specified by:
visitSetBodyOfFeedback in interface SLIRAttributeVisitor<Object>

visitSetLoopOfFeedback

public Object visitSetLoopOfFeedback(LIRSetLoopOfFeedback self,
                                     JExpression streamContext,
                                     JExpression childContext,
                                     CType inputType,
                                     CType outputType,
                                     int inputSize,
                                     int outputSize)
Visits a set loop of feedback loop.

Specified by:
visitSetLoopOfFeedback in interface SLIRAttributeVisitor<Object>

visitSetParallelStream

public Object visitSetParallelStream(LIRSetParallelStream self,
                                     JExpression streamContext,
                                     JExpression childContext,
                                     int position,
                                     CType inputType,
                                     CType outputType,
                                     int inputSize,
                                     int outputSize)
Visits a set a parallel stream.

Specified by:
visitSetParallelStream in interface SLIRAttributeVisitor<Object>