public virtual void Translate <TLeft, TRight>(IBinaryOperationExpression <TLeft, TRight> expression) where TLeft : INaryOperandExpression where TRight : INaryOperandExpression { switch (expression.Associativity) { case BinaryOperationAssociativity.Left: if (expression.LeftSide != null) { expression.LeftSide.Accept(this); Translate(expression.OperationKind); } expression.RightSide.Accept(this); break; case BinaryOperationAssociativity.Right: expression.LeftSide.Accept(this); if (expression.RightSide != null) { Translate(expression.OperationKind); expression.RightSide.Accept(this); } break; default: break; } }
public TestLinkerResult Visit <TLeft, TRight>(IBinaryOperationExpression <TLeft, TRight> expression, ICompilationContext context) where TLeft : INaryOperandExpression where TRight : INaryOperandExpression { throw new NotImplementedException(); }
public override bool Visit <TLeft, TRight>(IBinaryOperationExpression <TLeft, TRight> expression, object context) { _stack.Push(expression); try { return(base.Visit(expression, context)); } finally { _stack.Pop(); } }
public abstract IExpression Transform <TLeft, TRight>(IBinaryOperationExpression <TLeft, TRight> expression) where TLeft : INaryOperandExpression where TRight : INaryOperandExpression;
void IExpressionVisitor.Visit <TLeft, TRight>(IBinaryOperationExpression <TLeft, TRight> expression) { this.Translate(expression); }
TransformationImpact IExpressionVisitor <TransformationImpact> .Visit <TLeft, TRight>(IBinaryOperationExpression <TLeft, TRight> expression) { return(CalculateRefactorImpact(expression)); }
public abstract void TranslateExpression(IBinaryOperationExpression binOpExpression);
public override void TranslateExpression(IBinaryOperationExpression binOpExpression) { this.Provider.GenerateCodeFromExpression(binOpExpression.GenerateCodeDom(this.Options), base.Target, this.Options.Options); }
public abstract TransformationImpact CalculateRefactorImpact <TLeft, TRight>(IBinaryOperationExpression <TLeft, TRight> expression) where TLeft : INaryOperandExpression where TRight : INaryOperandExpression;
public TransformationKind Visit <TLeft, TRight>(IBinaryOperationExpression <TLeft, TRight> expression, ITransformationContext context) where TLeft : INaryOperandExpression where TRight : INaryOperandExpression { return(TransformationKind.Investigate); }