public override bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { //--- Debbuger Break --- // if(System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break(); //--- Debbuger Break --- // return base.TryDeleteIndex(binder, indexes); }
public override Meta BindDeleteIndex(DeleteIndexBinder binder, Meta[] indexes) { return new Meta( Et.Call( EtUtils.Cast<IObj>(this.Expression), IObjMethods.MiDelete, EtUtils.Box(indexes[0].Expression) ), Restrict.GetTypeRestriction( this.Expression, this.LimitType ) ); }
/// <summary> /// Override on DynamicObject /// </summary> /// <param name="binder"></param> /// <param name="indexes"></param> /// <returns></returns> public override bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { return true; }
public override Boolean TryDeleteIndex(DeleteIndexBinder binder, Object[] indexes) { throw new NotImplementedException(String.Format("TryDeleteIndex indexes='{0}'", String.Join(", ", indexes))); }
public override DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { return scriptItem.PostProcessBindResult(metaDynamic.BindDeleteIndex(binder, indexes)); }
public virtual void DeleteIndex(DeleteIndexBinder binder, Object[] indexes){ throw Fallback(); }
public virtual new System.Dynamic.DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, System.Dynamic.DynamicMetaObject[] indexes) { Contract.Requires(binder != null); return default(System.Dynamic.DynamicMetaObject); }
/// <summary> /// Provides the implementation of performing a delete index operation. Derived classes /// can override this method to customize behavior. When not overridden the call site /// requesting the binder determines the behavior. /// </summary> /// <param name="binder">The binder provided by the call site.</param> /// <param name="indexes">The indexes to be deleted.</param> /// <returns>true if the operation is complete, false if the call site should determine behavior.</returns> public virtual bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) => false;
public virtual new System.Dynamic.DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, System.Dynamic.DynamicMetaObject[] indexes) { Contract.Requires(binder != null); return(default(System.Dynamic.DynamicMetaObject)); }
public override DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { return base.BindDeleteIndex(binder, indexes); }
public override bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { if (indexes.All(index => (index is int) || (index is string))) { return indexMap.Remove(string.Join(":", indexes)); } return base.TryDeleteIndex(binder, indexes); }
/// <summary> /// Provides the implementation of performing a delete index operation. Derived classes /// can override this method to custmize behavior. When not overridden the call site /// requesting the binder determines the behavior. /// </summary> /// <param name="binder">The binder provided by the call site.</param> /// <param name="indexes">The indexes to be deleted.</param> /// <returns>true if the operation is complete, false if the call site should determine behavior.</returns> public virtual bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { throw new NotSupportedException(); }
/// <summary> /// Provides the implementation of performing a delete index operation. Derived classes /// can override this method to customize behavior. When not overridden the call site /// requesting the binder determines the behavior. /// </summary> /// <param name="binder">The binder provided by the call site.</param> /// <param name="indexes">The indexes to be deleted.</param> /// <returns>true if the operation is complete, false if the call site should determine behavior.</returns> public virtual bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { No.Op(binder); No.Op(indexes); return(false); }
public override DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { return AddRestrictions(this.metaForwardee.BindDeleteIndex(binder, indexes)); }
public virtual new bool TryDeleteIndex(DeleteIndexBinder binder, Object[] indexes) { return(default(bool)); }
/// <summary> /// Provides the implementation of performing a delete index operation. Derived classes /// can override this method to custmize behavior. When not overridden the call site /// requesting the binder determines the behavior. /// </summary> /// <param name="binder">The binder provided by the call site.</param> /// <param name="indexes">The indexes to be deleted.</param> /// <returns>true if the operation is complete, false if the call site should determine behavior.</returns> public virtual bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { return false; }
public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { throw new NotImplementedException(); }
/// <summary> /// Provides the implementation of performing a delete index operation. Derived classes /// can override this method to custmize behavior. When not overridden the call site /// requesting the binder determines the behavior. /// </summary> /// <param name="binder">The binder provided by the call site.</param> /// <param name="indexes">The indexes to be deleted.</param> /// <returns>true if the operation is complete, false if the call site should determine behavior.</returns> public virtual bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { return(false); }
/// <summary> /// Performs the binding of the dynamic delete index operation. /// </summary> /// <param name="binder"> /// An instance of the <see cref="T:System.Dynamic.DeleteIndexBinder" /> that represents the details of the dynamic operation. /// </param> /// <param name="indexes"> /// An array of <see cref="T:System.Dynamic.DynamicMetaObject" /> instances - indexes for the delete index operation. /// </param> /// <returns> /// The new <see cref="T:System.Dynamic.DynamicMetaObject" /> representing the result of the binding. /// </returns> public override DynamicMetaObject BindDeleteIndex( DeleteIndexBinder binder, DynamicMetaObject[] indexes ) { return ApplyBinding( meta => meta.BindDeleteIndex( binder, indexes ), ( target, errorSuggestion ) => binder.FallbackDeleteIndex( target, indexes, errorSuggestion ) ); }
public override bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { MessageBox.Show("Here"); return base.TryDeleteIndex(binder, indexes); }
public override bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { if (indexes.Length > 1) return base.TryDeleteIndex(binder, indexes); var jsIndex = GetEngine().Converter.FromObject(indexes[0]); DeleteValueAtIndex(jsIndex); return true; }
public sealed override DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { var fallback = ((Func<Expression>)(() => { try { return base.BindDeleteIndex(binder, indexes).Expression; } catch (Exception ex) { return Expression.Throw(Expression.Constant(ex)); } }))(); var dispatchResult = Expression.Parameter(typeof(DispatchResult), "dispatchResult"); var shim = Expression.Block(dispatchResult.MkArray(), // 1. var dispatchResult = DispatchDeleteIndex(binder, `expression`, indexes); Expression.Assign(dispatchResult, Expression.Call( Expression.Constant(this), typeof(SimpleMetaObject).GetMethod("DispatchDeleteIndex", BF.PrivateInstance), Expression.Constant(binder), Expression, Expression.NewArrayInit(typeof(Object), indexes.Select(index => Expression.Convert(index.Expression, typeof(Object)))))), // 2. if (!dispatchResult.Success) `fallback`; Expression.IfThen( Expression.Not(Expression.Property(dispatchResult, "Success")), fallback)); return new DynamicMetaObject(shim, BindingRestrictions.GetTypeRestriction(Expression, LimitType)); }
public override DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { Fallback fallback = null; if (!this.IsOverridden("TryDeleteIndex")) { return base.BindDeleteIndex(binder, indexes); } if (fallback == null) { fallback = e => binder.FallbackDeleteIndex(this, indexes, e); } return this.CallMethodNoResult("TryDeleteIndex", binder, GetArgArray(indexes), fallback); }
private DispatchResult DispatchDeleteIndex(DeleteIndexBinder binder, Object @this, Object[] indexes) { var old_value = Value; Value = @this; try { try { try { DeleteIndex(binder, indexes); return Succeed(); } catch (FallbackException) { var dynamic_object = Value as IDynamicObject; if (dynamic_object != null) { dynamic_object.DeleteIndex(binder, indexes); return Succeed(); } else throw; } } catch (FallbackException) { return Fail(); } catch (Exception ex) { if (WrapExceptions) { var bind_args = new OrderedDictionary<String, Object>(); bind_args.Add("this", @this); bind_args.Add("indexes", indexes); throw new BindException(binder, bind_args, ex); } else { throw; } } } finally { Value = old_value; } }
public override bool TryDeleteIndex( DeleteIndexBinder binder, object[] indexes ) { if(!ReferenceEquals(Prototype, null)) { if(Prototype.TryDeleteIndex(binder, indexes)) { return true; } } if ( TryDeleteIndexMissing == null ) { return true; } return TryDeleteIndexMissing( binder, indexes ); }
public override Boolean TryDeleteIndex(DeleteIndexBinder binder, Object[] indexes) { throw new NotImplementedException("JsStore.TryDeleteIndex"); }
/// <summary> /// Performs the binding of the dynamic delete index operation. /// </summary> /// <param name="binder">An instance of the <see cref="DeleteIndexBinder"/> that represents the details of the dynamic operation.</param> /// <param name="indexes">An array of <see cref="DynamicMetaObject"/> instances - indexes for the delete index operation.</param> /// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { ArgumentNullException.ThrowIfNull(binder); return(binder.FallbackDeleteIndex(this, indexes)); }
/// <summary> /// Performs the binding of the dynamic delete index operation. /// </summary> /// <param name="binder">An instance of the <see cref="DeleteIndexBinder"/> that represents the details of the dynamic operation.</param> /// <param name="indexes">An array of <see cref="DynamicMetaObject"/> instances - indexes for the delete index operation.</param> /// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { ContractUtils.RequiresNotNull(binder, "binder"); return binder.FallbackDeleteIndex(this, indexes); }
/// <summary> /// Performs the binding of the dynamic delete index operation. /// </summary> /// <param name="binder">An instance of the <see cref="DeleteIndexBinder"/> that represents the details of the dynamic operation.</param> /// <param name="indexes">An array of <see cref="DynamicMetaObject"/> instances - indexes for the delete index operation.</param> /// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { ContractUtils.RequiresNotNull(binder, nameof(binder)); return(binder.FallbackDeleteIndex(this, indexes)); }
public override bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes) { return base.TryDeleteIndex(binder, indexes); }
public override bool TryDeleteIndex( DeleteIndexBinder binder, object[] indexes ) { if ( TryDeleteIndexMissing == null ) { return true; } return TryDeleteIndexMissing( binder, indexes ); }
public virtual new bool TryDeleteIndex(DeleteIndexBinder binder, Object[] indexes) { return default(bool); }
public override DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { throw new NotImplementedException(); }
public override DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) { if (IsOverridden("TryDeleteIndex")) { return CallMethodNoResult("TryDeleteIndex", binder, DynamicMetaObject.GetExpressions(indexes), (e) => binder.FallbackDeleteIndex(this, indexes, e)); } return base.BindDeleteIndex(binder, indexes); }
public override DynamicMetaObject BindDeleteIndex( DeleteIndexBinder binder, DynamicMetaObject[] indexes ) { return binder.FallbackDeleteIndex( _baseMetaObject, indexes, AddTypeRestrictions( _metaObject.BindDeleteIndex( binder, indexes ) ) ); }