new JThisExpression(null), RawExecutionCode.recvBuffer, recvBufferField), indexMod);
localVariables.recvBuffer), indexAnd);
	public Object visitPopExpression(SIRPopExpression self,					 CType tapeType) {	    	    //the cfields corresponding to the fields used in this	    //conversion	    CSourceField recvBufferIndexField = 		new CSourceField(null, 			   0, 			   RawExecutionCode.recvBufferIndex,			   CStdType.Integer,			   false);	    CSourceField recvBufferField = 		new CSourceField(null, 			   0, 			   RawExecutionCode.recvBuffer,			   tapeType,			   false);	     CSourceField recvBufferSizeField = 		new CSourceField(null, 			   0, 			   RawExecutionCode.recvBufferSize,			   CStdType.Integer,			   false);	    //create the increment of the index var	    JPrefixExpression bufferIncrement = 		new JPrefixExpression(null, 				      OPE_PREINC,				      new JFieldAccessExpression				      (null, 				       new JThisExpression(null),				       RawExecutionCode.recvBufferIndex,				       recvBufferIndexField));	    //create the modulo expression	    JModuloExpression indexMod = 		new JModuloExpression(null, bufferIncrement, 				  new JFieldAccessExpression				  (null,				   new JThisExpression(null),				   RawExecutionCode.recvBufferSize,				   recvBufferSizeField));	    //create the array access expression	    JArrayAccessExpression bufferAccess = 		new JArrayAccessExpression(null,					   new JFieldAccessExpression					   (null,					    new JThisExpression(null),					    RawExecutionCode.recvBuffer,					    recvBufferField),					   indexMod);	    //return the parenthesed expression	    return new JParenthesedExpression(null,					      bufferAccess);	}