public static VisitorBase CreateFromExpression(Expression node, VisitorOption option = VisitorOption.None) { switch (node.NodeType) { case ExpressionType.Constant: return(new ConstantVisitor((ConstantExpression)node)); case ExpressionType.Parameter: return(new ParameterVisitor((ParameterExpression)node)); case ExpressionType.Equal: case ExpressionType.AndAlso: return(new BinaryVisitor((BinaryExpression)node)); case ExpressionType.MemberAccess: return(new MemberVisitor((MemberExpression)node, option)); default: throw new NotSupportedException(); } }
public MemberVisitor(MemberExpression node, VisitorOption position) : base(node) { this.node = node; this.position = position; }