public override InvokeMemberDynamicCSharpExpression Update(Expression @object, IEnumerable<DynamicCSharpArgument> arguments) { if (@object == Object && SameElements(ref arguments, Arguments)) { return this; } return DynamicCSharpExpression.DynamicInvokeMember(Target, Name, TypeArguments, arguments, Flags, Context); }
public override InvokeMemberDynamicCSharpExpression Update(Expression @object, IEnumerable <DynamicCSharpArgument> arguments) { if (@object == this.Object && arguments == this.Arguments) { return(this); } return(DynamicCSharpExpression.DynamicInvokeMember(Target, Name, TypeArguments, arguments, Flags, Context)); }
internal override Expression ReduceGetResult(Expression awaiter) { return (DynamicCSharpExpression.DynamicInvokeMember( awaiter, "GetResult", Array.Empty <Type>(), Array.Empty <DynamicCSharpArgument>(), ResultDiscarded ? CSharpBinderFlags.ResultDiscarded : CSharpBinderFlags.None, Context )); }
internal override Expression ReduceGetAwaiter(Expression operand) { // TODO: support ICriticalNotifyCompletion? return (Expression.Convert( DynamicCSharpExpression.DynamicInvokeMember( operand, "GetAwaiter", Array.Empty <Type>(), Array.Empty <DynamicCSharpArgument>(), CSharpBinderFlags.None, Context ), typeof(INotifyCompletion) )); }