internal override FunctionCallExpression Rewrite(XzaarExpression instance, IList <XzaarExpression> args) { Debug.Assert(instance != null); Debug.Assert(args == null || args.Count == arguments.Count); return(XzaarExpression.Call(instance, Method, args ?? arguments)); }
internal override FunctionCallExpression Rewrite(XzaarExpression instance, IList <XzaarExpression> args) { //Debug.Assert(instance != null); //Debug.Assert(args == null || args.Count == 3); if (args != null) { return(XzaarExpression.Call(instance, Method, args[0], args[1], args[2])); } return(XzaarExpression.Call(instance, Method, ReturnObject <XzaarExpression>(_arg0), _arg1, _arg2)); }
public static FunctionCallExpression Call(XzaarExpression instance, string methodName, XzaarType[] typeArguments, params XzaarExpression[] arguments) { if (instance == null) { throw new ArgumentNullException(nameof(instance)); } if (methodName == null) { throw new ArgumentNullException(nameof(methodName)); } if (arguments == null) { arguments = new XzaarExpression[0]; } return(XzaarExpression.Call(instance, FindMethod(instance.Type, methodName, typeArguments, arguments), arguments)); }