Пример #1
0
        public object Visit(ASTLowAndExpression node, object data)
        {
            var expr = (IAtom)node.JjtGetChild(0).JjtAccept(this, data);

            if (node.JjtGetNumChildren() > 1)
            {
                var right = (IQueryAtom)node.JjtGetChild(1).JjtAccept(this, data);
                expr = LogicalOperatorAtom.And((IQueryAtom)expr, right);
            }
            if (node.GetMapIdx() > 0)
            {
                expr.SetProperty(CDKPropertyName.AtomAtomMapping, node.GetMapIdx());
            }
            return(expr);
        }
Пример #2
0
        public object Visit(ASTLowAndExpression node, object data)
        {
            string left = (string)node.JjtGetChild(0).JjtAccept(this, data);

            if (node.JjtGetNumChildren() == 1)
            {
                return(left);
            }
            string right = (string)node.JjtGetChild(1).JjtAccept(this, data);

            if (left.Length == 0)
            {
                return(right);
            }
            else if (right.Length == 0)
            {
                return(left);
            }
            else
            {
                return(left + "&" + right);
            }
        }