Example #1
0
        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();
            }
        }
Example #2
0
 public MemberVisitor(MemberExpression node, VisitorOption position) : base(node)
 {
     this.node     = node;
     this.position = position;
 }