new JPostfixExpression(null, Constants.OPE_POSTINC, new JLocalVariableExpression(null, nextInfo. pushCounter));
new JPrefixExpression(null, Constants.OPE_PREINC, new JLocalVariableExpression(null, nextInfo. pushCounter));
    public Object visitPushExpression(SIRPushExpression oldSelf,				      CType oldTapeType,				      JExpression oldArg) {	// leave it alone not fusing writes	if (!fuseWrites) {	    return super.visitPushExpression(oldSelf, oldTapeType, oldArg);	}	// do the super	SIRPushExpression self = 	    (SIRPushExpression)	    super.visitPushExpression(oldSelf, oldTapeType, oldArg);		// build ref to push array	JLocalVariableExpression lhs = 	    new JLocalVariableExpression(null, nextInfo.popBuffer);	// build increment of index to array	JExpression rhs =	    new JPostfixExpression(null,				   Constants.OPE_POSTINC, 				   new JLocalVariableExpression(null,								nextInfo.								pushCounter));	// return a new array assignment to the right spot	return new JAssignmentExpression(		  null,		  new JArrayAccessExpression(null, lhs, rhs),		  self.getArg());    }