public static MemberMemberBinding FoldMemberMemberBinding(MemberMemberBinding inputExpression) { IEnumerable <MemberBinding> bindings = ConstantFolding.FoldBindingList(inputExpression.Bindings); if (bindings != inputExpression.Bindings) { return(Expression.MemberBind(inputExpression.Member, bindings)); } return(inputExpression); }
public static Expression FoldMemberInit(MemberInitExpression inputExpression) { NewExpression foldedExp = ConstantFolding.FoldNew(inputExpression.NewExpression); IEnumerable <MemberBinding> bindings = ConstantFolding.FoldBindingList(inputExpression.Bindings); if (foldedExp != inputExpression.NewExpression || bindings != inputExpression.Bindings) { return(Expression.MemberInit(foldedExp, bindings)); } return(inputExpression); }