Exemplo n.º 1
0
 internal void AddSubst(Expression left, Expression right)
 {
     foreach (Expression expr in this.m_leftExprList)
     {
         if (ExpressionMatcher.MemberAccessSubsumes(expr, left))
         {
             return;
         }
     }
     this.m_leftExprList.Add(left);
     this.m_rightExprList.Add(right);
 }
Exemplo n.º 2
0
 internal override bool IsPartitionedBy(LambdaExpression keySel)
 {
     // Match the key selector functions:
     if (this.m_keySelector == null)
     {
         return(keySel == null);
     }
     if (keySel == null)
     {
         return(false);
     }
     return(ExpressionMatcher.Match(this.m_keySelector, keySel));
 }
Exemplo n.º 3
0
 internal override Expression Visit(Expression expr)
 {
     if (expr == null)
     {
         return(expr);
     }
     for (int i = 0; i < this.m_leftExprList.Count; i++)
     {
         if (ExpressionMatcher.Match(expr, this.m_leftExprList[i], this.m_paramSubst))
         {
             return(this.m_rightExprList[i]);
         }
     }
     return(base.Visit(expr));
 }