예제 #1
0
 public static DynamicMetaObject /*!*/ Bind(DynamicMetaObject /*!*/ context, UnaryOperationBinder /*!*/ binder,
                                            DynamicMetaObject /*!*/ target, Func <DynamicMetaObject, DynamicMetaObject> /*!*/ fallback)
 {
     return(InvokeMember.Bind(context, RubyUtils.MapOperator(binder.Operation), _CallInfo, binder, target, DynamicMetaObject.EmptyMetaObjects,
                              (trgt, _) => fallback(trgt)
                              ));
 }
예제 #2
0
 public static DynamicMetaObject /*!*/ Bind(DynamicMetaObject /*!*/ context, BinaryOperationBinder /*!*/ binder,
                                            DynamicMetaObject /*!*/ target, DynamicMetaObject /*!*/ arg,
                                            Func <DynamicMetaObject, DynamicMetaObject, DynamicMetaObject> /*!*/ fallback)
 {
     return(InvokeMember.Bind(context, RubyUtils.MapOperator(binder.Operation), _CallInfo, binder, target, new[] { arg },
                              (trgt, args) => fallback(trgt, args[0])
                              ));
 }
예제 #3
0
 public override DynamicMetaObject /*!*/ FallbackBinaryOperation(DynamicMetaObject /*!*/ target, DynamicMetaObject /*!*/ arg, DynamicMetaObject errorSuggestion)
 {
     return(InvokeMember.FallbackInvokeMember(this, RubyUtils.MapOperator(Operation), _CallInfo, target, new[] { arg }, errorSuggestion, null));
 }
예제 #4
0
 public override DynamicMetaObject /*!*/ FallbackUnaryOperation(DynamicMetaObject /*!*/ target, DynamicMetaObject errorSuggestion)
 {
     return(InvokeMember.FallbackInvokeMember(this, RubyUtils.MapOperator(Operation), _CallInfo, target, DynamicMetaObject.EmptyMetaObjects, errorSuggestion));
 }