public static DynamicMetaObject/*!*/ Operation(PythonOperationBinder/*!*/ operation, params DynamicMetaObject/*!*/[]/*!*/ args) { if (args.Length == 1) { PerfTrack.NoteEvent(PerfTrack.Categories.Binding, "Fallback PythonOp " + " " + operation.Operation + " " + args[0].LimitType); } else { PerfTrack.NoteEvent(PerfTrack.Categories.Binding, "Fallback PythonOp " + " " + operation.Operation + " " + args[0].LimitType + ", " + args[1].LimitType); } PerfTrack.NoteEvent(PerfTrack.Categories.BindingTarget, operation.Operation.ToString()); if (BindingHelpers.NeedsDeferral(args)) { return operation.Defer(args); } return MakeOperationRule(operation, args); }
public static DynamicMetaObject/*!*/ Operation(PythonOperationBinder/*!*/ operation, params DynamicMetaObject/*!*/[]/*!*/ args) { if (args.Length == 1) { PerfTrack.NoteEvent(PerfTrack.Categories.Binding, "Fallback PythonOp " + " " + operation.Operation + " " + args[0].LimitType); } else { PerfTrack.NoteEvent(PerfTrack.Categories.Binding, "Fallback PythonOp " + " " + operation.Operation + " " + args[0].LimitType + ", " + args[1].LimitType); } PerfTrack.NoteEvent(PerfTrack.Categories.BindingTarget, operation.Operation.ToString()); if (BindingHelpers.NeedsDeferral(args)) { return operation.Defer(args); } ValidationInfo valInfo = BindingHelpers.GetValidationInfo(args); DynamicMetaObject res = AddPythonBoxing(MakeOperationRule(operation, args)); return BindingHelpers.AddDynamicTestAndDefer(operation, res, args, valInfo); }