if (type.isArrayType()) receiveMethodName = arrayReceiveMethod;
if (type.isArrayType()) { return arrayReceiveCode(filter,(CArrayType) type, localVariables); }
    JStatement receiveCode(SIRFilter filter, CType type, LocalVariables localVariables) {	if (noBuffer(filter)) 	    return null;	//the name of the method we are calling, this will	//depend on type of the pop, by default set it to be the scalar receive	String receiveMethodName = receiveMethod;	JBlock statements = new JBlock(null, new JStatement[0], null);		//if it is not a scalar receive change the name to the appropriate 	//method call, from struct.h	if (type.isArrayType()) 	    receiveMethodName = arrayReceiveMethod;	else if (type.isClassType()) {	    receiveMethodName = structReceiveMethodPrefix  + type.toString();	}	//create the array access expression to access the buffer 	JArrayAccessExpression arrayAccess = 	    new JArrayAccessExpression(null,				       new JLocalVariableExpression				       (null,					localVariables.recvBuffer),				       bufferIndex(filter,						   localVariables));		//put the arrayaccess in an array...	JExpression[] bufferAccess = 	    {new JParenthesedExpression(null,					arrayAccess)};	 	//the method call expression, for scalars, flatIRtoC	//changes this into c code thatw will perform the receive...	JExpression exp =	    new JMethodCallExpression(null,  new JThisExpression(null),				      receiveMethodName,				      bufferAccess);	//return a statement	return new JExpressionStatement(null, exp, null);    }