示例#1
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            SQLiteBinaryExpression dst = obj as SQLiteBinaryExpression;

            if (dst == null)
            {
                return(false);
            }

            if (!RefCompare.CompareMany(_left, dst._left, _right, dst._right))
            {
                return(false);
            }

            if (this._op != dst._op)
            {
                return(false);
            }

            return(base.Equals(obj));
        }
示例#2
0
        public override object Clone()
        {
            SQLiteExpression left = null;

            if (_left != null)
            {
                left = (SQLiteExpression)_left.Clone();
            }
            SQLiteExpression right = null;

            if (_right != null)
            {
                right = (SQLiteExpression)_right.Clone();
            }

            if (left.GetType().FullName == "SQLiteParser.SQLiteExpression")
            {
                System.Diagnostics.Debugger.Break();
            }

            SQLiteBinaryExpression res = new SQLiteBinaryExpression();

            res._left  = left;
            res._op    = _op;
            res._right = right;
            return(res);
        }