if (isSimple()){ block.addStatement (new JExpressionStatement(null, (new JAssignmentExpression (null, new JLocalVariableExpression (null, generatedVariables.simpleIndex), new JIntLiteral(-1))), null)); }
if (filterInfo.isSimple()) { block.addStatement (new JExpressionStatement(null, (new JAssignmentExpression (null, new JFieldAccessExpression (null, new JThisExpression(null), generatedVariables.simpleIndex.getIdent()), new JIntLiteral(-1))), null)); }
    public JMethodDeclaration getSteadyMethod()     {	JBlock block = new JBlock(null, new JStatement[0], null);	FilterContent filter = filterInfo.filter;	//is we are rate matching generate the appropriate code	if (KjcOptions.ratematch) 	    block = generateRateMatchSteadyState(filter);	else {	    //not rate matching	    	    //reset the simple index	    if (isSimple()){		block.addStatement		    (new JExpressionStatement(null,					      (new JAssignmentExpression					       (null,						new JLocalVariableExpression						(null, generatedVariables.simpleIndex),						new JIntLiteral(-1))), null));	    }	    		    //add the statements to receive pop items into the buffer	    block.addStatement		(makeForLoop(receiveCode(filter, filter.getInputType(),					 generatedVariables),			     generatedVariables.exeIndex,			     new JIntLiteral(filterInfo.pop)));		    JBlock workBlock = 		(JBlock)ObjectDeepCloner.		deepCopy(filter.getWork().getBody());	    //if we are in debug mode, print out that the filter is firing	    if (SpaceTimeBackend.FILTER_DEBUG_MODE) {		block.addStatement		    (new SIRPrintStatement(null,					   new JStringLiteral(null, filter.getName() + " firing."),					   null));	    }	    //add the cloned work function to the block	    block.addStatement(workBlock);		    //if we are in decoupled mode do not put the work function in a for loop	    //and add the print statements	    if (KjcOptions.decoupled) {		block.addStatementFirst		    (new SIRPrintStatement(null, 					   new JIntLiteral(0),					   null));		block.addStatement(block.size(), 				   new SIRPrintStatement(null, 							 new JIntLiteral(1),							 null));	    }	    else {		//create the for loop that will execute the work function		//local variable for the work loop		JVariableDefinition loopCounter = new JVariableDefinition(null,									  0,									  CStdType.Integer,									  workCounter,									  null);	 	 		JStatement loop = makeForLoop(block, loopCounter, new JIntLiteral(filterInfo.steadyMult));		block = new JBlock(null, new JStatement[0], null);		block.addStatement(new JVariableDeclarationStatement(null,								     loopCounter,								     null));		block.addStatement(loop);	    }	}		return new JMethodDeclaration(null, at.dms.kjc.Constants.ACC_PUBLIC,				      CStdType.Void,				      steadyStage + uniqueID,				      JFormalParameter.EMPTY,				      CClassType.EMPTY,				      block,				      null,				      null);    }