예제 #1
0
            public override bool Walk(BinaryExpression node)
            {
                if (base.Walk(node))
                {
                    switch (node.Operator)
                    {
                    case PythonOperator.In:
                        return(Save(node.OperatorIndex, true, "in"));

                    case PythonOperator.NotIn:
                        return(Save(node.OperatorIndex, true, "not") &&
                               Save(node.GetIndexOfSecondOp(_ast), true, "in"));

                    case PythonOperator.Is:
                    case PythonOperator.IsNot:
                        return(Save(node.OperatorIndex, true, "is") &&
                               Save(node.GetIndexOfSecondOp(_ast), true, "not"));
                    }
                    return(true);
                }
                return(false);
            }