public override Expression Clone()
        {
            Expression clonnedValue = Value != null?Value.Clone() : null;

            RefReturnExpression result = new RefReturnExpression(clonnedValue, instructions);

            return(result);
        }
        public override Expression CloneExpressionOnly()
        {
            Expression clonnedValue = Value != null?Value.CloneExpressionOnly() : null;

            RefReturnExpression result = new RefReturnExpression(clonnedValue, null);

            return(result);
        }
        public override bool Equals(Expression other)
        {
            if (!(other is RefReturnExpression))
            {
                return(false);
            }
            RefReturnExpression refReturnExp = other as RefReturnExpression;

            if (this.Value == null)
            {
                return(refReturnExp.Value == null);
            }
            return(this.Value.Equals(refReturnExp.Value));
        }