protected override void CloneTo(CloneContext clonectx, Expression t)
        {
            var target = (AsDelete)t;

            target.Expr = Expr.Clone(clonectx);
        }
 protected override void CloneTo(CloneContext clonectx, Statement target)
 {
     // nothing needed.
 }
//		protected override void DoEmitJs (JsEmitContext jec)
//		{
//			expr.EmitJs (jec);
//		}

//		public override void EmitJs (JsEmitContext jec)
//		{
//			DoEmitJs (jec);
//		}

        protected override void CloneTo(CloneContext clonectx, Statement target)
        {
            var t = target as AsNonAssignStatementExpression;

            t.expr = expr.Clone(clonectx);
        }
 protected override void CloneTo(CloneContext clonectx, Expression t)
 {
 }