Example #1
0
 public override bool Replace(Node oldValue, Node newValue)
 {
     return
         (Replace(Expression, oldValue, newValue, n => Expression = n)
          ||
          Replace(Body, oldValue, newValue, n => Body = n)
          ||
          Replace(Comparison, oldValue, newValue, n => Comparison = n)
          ||
          base.Replace(oldValue, newValue));
 }
Example #2
0
 public override bool Replace(Node oldValue, Node newValue)
 {
   return 
     Replace(Expression, oldValue, newValue, n => Expression = n)
     ||
     Replace(Body, oldValue, newValue, n => Body = n)
     ||
     Replace(Comparison, oldValue, newValue, n => Comparison = n)
     ||
     base.Replace(oldValue, newValue);
 }
Example #3
0
 public override void Visit(SameExpression node) { Visit(node, Types.Operations.Binary.Same); }
Example #4
0
 public override void Visit(SameExpression node) { Visit((BinaryExpression)node); }
Example #5
0
 public override void Visit(SameExpression node) { base.Visit(node); node.ValueType = GetType(node); }
Example #6
0
 internal static mdr.ValueTypes GetType(SameExpression expression) { return Types.Operations.Binary.Same.ReturnType(expression.Left.ValueType, expression.Right.ValueType); }
Example #7
0
 public override void Visit(SameExpression node)
 {
     Visit((BinaryExpression)node);
 }
Example #8
0
 private SameExpression MakeSameExpressionInternal(Expression left, Expression right)
 {
   var n = new SameExpression(MakeGuardedCast(left), MakeGuardedCast(right));
   return n;
 }
Example #9
0
 public abstract void Visit(SameExpression node);
Example #10
0
 public override void Visit(SameExpression node)
 {
   PushLocation(node);
   VisitNode(node.Left);
   VisitNode(node.Right);
   Call(Types.Operations.Stack.Same, 2, 1);
   PopLocation();
 }
Example #11
0
        private SameExpression MakeSameExpressionInternal(Expression left, Expression right)
        {
            var n = new SameExpression(MakeGuardedCast(left), MakeGuardedCast(right));

            return(n);
        }
Example #12
0
 public override void Visit(SameExpression node) { AssignToImplicitReturn(node); }