コード例 #1
0
        protected override Expression VisitConstant(ConstantExpression node)
        {
            if (node.Value == null)
            {
                expression = new NullExpressionWithLinqExpressions(node);
            }
            else if (node.Value is int)
            {
                expression = new IntegerConstantWithLinqExpressions(node);
            }
            else if (node.Value is double)
            {
                expression = new DoubleConstantWithLinqExpressions(node);
            }
            else if (node.Value is string)
            {
                expression = new StringConstantWithLinqExpressions(node);
            }
            else
            {
                throw new NotImplementedException();
            }

            return(node);
        }
 public override bool Visit(ILinqExpression expression, object context)
 {
     _stack.Push(expression);
     try
     {
         return(base.Visit(expression, context));
     }
     finally
     {
         _stack.Pop();
     }
 }
コード例 #3
0
 protected override Expression VisitParameter(ParameterExpression node)
 {
     expression = new ParameterExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #4
0
 protected override Expression VisitNewArray(NewArrayExpression node)
 {
     expression = new NewArrayExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #5
0
 protected override Expression VisitMethodCall(MethodCallExpression node)
 {
     expression = new MethodCallExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #6
0
 protected override Expression VisitMemberInit(MemberInitExpression node)
 {
     expression = new ObjectInitializerExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #7
0
 public abstract void Translate(ILinqExpression expression);
コード例 #8
0
 protected override Expression VisitDefault(DefaultExpression node)
 {
     expression = new DefaultExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #9
0
 protected override Expression VisitConditional(ConditionalExpression node)
 {
     expression = new TernaryOperatorExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #10
0
 protected override Expression VisitIndex(IndexExpression node)
 {
     expression = new ArrayIndexExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #11
0
 public abstract IExpression Transform(ILinqExpression expression);
コード例 #12
0
 void IExpressionVisitor.Visit(ILinqExpression expression)
 {
     this.Translate(expression);
 }
コード例 #13
0
 TransformationImpact IExpressionVisitor <TransformationImpact> .Visit(ILinqExpression expression)
 {
     return(CalculateRefactorImpact(expression));
 }
コード例 #14
0
 public TestLinkerResult Visit(ILinqExpression expression, ICompilationContext context)
 {
     throw new NotImplementedException();
 }
コード例 #15
0
 public abstract TransformationImpact CalculateRefactorImpact(ILinqExpression expression);
コード例 #16
0
 protected override Expression VisitTypeBinary(TypeBinaryExpression node)
 {
     expression = new TypeBinaryExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #17
0
 protected override Expression VisitBinary(BinaryExpression node)
 {
     expression = new BinaryOperatorExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #18
0
 protected override Expression VisitInvocation(InvocationExpression node)
 {
     expression = new DelegateMethodCallExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #19
0
 protected override Expression VisitListInit(ListInitExpression node)
 {
     expression = new ListInitializerExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #20
0
 protected override Expression VisitMember(MemberExpression node)
 {
     expression = new MemberExpressionWithLinqExpressions(node);
     return(node);
 }
コード例 #21
0
 protected override Expression VisitDynamic(DynamicExpression node)
 {
     expression = new DynamicMethodCallExpressionWithLinqExpressions(node);
     return(base.VisitDynamic(node));
 }
コード例 #22
0
 public TransformationKind Visit(ILinqExpression expression, ITransformationContext context)
 {
     throw new NotImplementedException();
 }