예제 #1
0
            public override MetaObject BindBinaryOperationOnIndex(BinaryOperationOnIndexBinder binder, MetaObject[] indexes, MetaObject value)
            {
                if (IsOverridden("TryBinaryOperationOnIndex"))
                {
                    return(CallMethodWithResult("TryBinaryOperationOnIndex", binder, GetArgArray(indexes, value), (e) => binder.FallbackBinaryOperationOnIndex(this, indexes, value, e)));
                }

                return(base.BindBinaryOperationOnIndex(binder, indexes, value));
            }
예제 #2
0
        public override bool Equals(object obj)
        {
            BinaryOperationOnIndexBinder ia = obj as BinaryOperationOnIndexBinder;

            return(ia != null && ia._operation == _operation && ia._arguments.ListEquals(_arguments));
        }
예제 #3
0
 public virtual bool TryBinaryOperationOnIndex(BinaryOperationOnIndexBinder binder, object[] indexes, object value, out object result)
 {
     throw new NotSupportedException();
 }
예제 #4
0
 /// <summary>
 /// Binds an operation a[i,j,k] (op)= c
 /// </summary>
 /// <param name="binder">Binder implementing the language semantics.</param>
 /// <param name="indexes">The array of MetaObjects representing the indexes for the index operation.</param>
 /// <param name="value">The MetaObject representing the right-hand value of the operation.</param>
 /// <returns>MetaObject representing the result of the binding.</returns>
 public virtual MetaObject BindBinaryOperationOnIndex(BinaryOperationOnIndexBinder binder, MetaObject[] indexes, MetaObject value)
 {
     ContractUtils.RequiresNotNull(binder, "binder");
     return(binder.FallbackBinaryOperationOnIndex(this, indexes, value));
 }
예제 #5
0
            public override MetaObject BindBinaryOperationOnIndex(BinaryOperationOnIndexBinder binder, MetaObject[] indexes, MetaObject value) {
                if (IsOverridden("TryBinaryOperationOnIndex")) {
                    return CallMethodWithResult("TryBinaryOperationOnIndex", binder, GetArgArray(indexes, value), (e) => binder.FallbackBinaryOperationOnIndex(this, indexes, value, e));
                }

                return base.BindBinaryOperationOnIndex(binder, indexes, value);
            }
예제 #6
0
 public virtual bool TryBinaryOperationOnIndex(BinaryOperationOnIndexBinder binder, object[] indexes, object value, out object result) {
     throw new NotSupportedException();
 }
예제 #7
0
 /// <summary>
 /// Binds an operation a[i,j,k] (op)= c
 /// </summary>
 /// <param name="binder">Binder implementing the language semantics.</param>
 /// <param name="indexes">The array of MetaObjects representing the indexes for the index operation.</param>
 /// <param name="value">The MetaObject representing the right-hand value of the operation.</param>
 /// <returns>MetaObject representing the result of the binding.</returns>
 public virtual MetaObject BindBinaryOperationOnIndex(BinaryOperationOnIndexBinder binder, MetaObject[] indexes, MetaObject value) {
     ContractUtils.RequiresNotNull(binder, "binder");
     return binder.FallbackBinaryOperationOnIndex(this, indexes, value);
 }