JMethodDeclaration[] methods = { init, work} ;
JMethodDeclaration work = new JMethodDeclaration(null, at.dms.kjc.Constants.ACC_PUBLIC, CStdType.Void, "work", JFormalParameter.EMPTY, CClassType.EMPTY, block, null, null);
    private static SIRFilter makeFilter(SIRContainer parent,					String ident,					JBlock block, 					int push, int pop, int peek,					CType type) {	// make empty init function	JMethodDeclaration init = SIRStream.makeEmptyInit();		// make work function	JMethodDeclaration work = new JMethodDeclaration(null,							 at.dms.kjc.Constants.ACC_PUBLIC,							 CStdType.Void,							 "work",							 JFormalParameter.EMPTY,							 CClassType.EMPTY,							 block,							 null,							 null);	// make method array	JMethodDeclaration[] methods = { init, work} ;	// return new filter	SIRFilter result = new SIRFilter(parent,					 ident,					 JFieldDeclaration.EMPTY(),					 methods, 					 new JIntLiteral(peek), 					 new JIntLiteral(pop), 					 new JIntLiteral(push), 					 work, 					 type,					 type);	result.setInit(init);	return result;    }