/// <summary> /// Factory method that creates instance of the <see cref="ModuleBinding"/>. /// </summary> private ModuleBinding CreateFun(string name, InvokeAmbient body, CallSignature signature) { var atomName = Symbol(name); var statistic = new FunctionStatistic(AmbientName, atomName, signature, StringTable); return(ModuleBinding.CreateFun(atomName, body, signature, statistic)); }
private List <NamespaceFunctionDefinition> GetGlobalFunctionDefinitions() { var globRecursivelyBinding = ModuleBinding.CreateFun(Symbol(Constants.Names.GlobRFunction), GlobRecursively, GlobSignature, StringTable); return(new List <NamespaceFunctionDefinition> { Function(Constants.Names.GlobFunction, this.Glob, GlobSignature), Function(Constants.Names.GlobRFunction, globRecursivelyBinding), Function(Constants.Names.GlobRecursivelyFunction, globRecursivelyBinding), Function(Constants.Names.GlobFoldersFunction, this.GlobFolders, GlobFoldersSignature), Function("addIf", AddIf, AddIfSignature), Function("addIfLazy", AddIfLazy, AddIfLazySignature), Function("sign", Sign, SignSignature), }); }