Exemplo n.º 1
0
        public static Node<TokenInfo> ConstructExpressionInfoTree(IPluginInvoker invoker, IEnumerable<IGlobalProvider> providers)
        {
            var root = new Node<TokenInfo>();

            root.AddChildren(invoker.ListAllPluginTypes().Select(type => type.ToTokenInfo()));
            root.AddChildren(invoker.ListAllGlobalEnumTypes().Select(type => type.ToTokenInfo()));
            root.AddChildren(providers.SelectMany(gp => gp.ListGlobals().Select(obj => obj.ToTokenInfo())));

            root.SortChildrenRecursive((a, b) => a.Identifier.Value.CompareTo(b.Identifier.Value));

            return root;
        }
Exemplo n.º 2
0
        public static Node <TokenInfo> ConstructExpressionInfoTree(IPluginInvoker invoker, IEnumerable <IGlobalProvider> providers)
        {
            var root = new Node <TokenInfo>();

            root.AddChildren(invoker.ListAllPluginTypes().Select(type => type.ToTokenInfo()));
            root.AddChildren(invoker.ListAllGlobalEnumTypes().Select(type => type.ToTokenInfo()));
            root.AddChildren(providers.SelectMany(gp => gp.ListGlobals().Select(obj => obj.ToTokenInfo())));

            root.SortChildrenRecursive((a, b) => a.Identifier.Value.CompareTo(b.Identifier.Value));

            return(root);
        }
Exemplo n.º 3
0
        public IEnumerable <IPlugin> InvokeAndConfigureAllScriptDependantPlugins(string script)
        {
            var pluginTypes = pluginInvoker.ListAllPluginTypes()
                              .Select(pt =>
                                      new
            {
                Name       = GlobalsInfo.GetGlobalName(pt),
                PluginType = pt
            }
                                      )
                              .Where(info => script.Contains(info.Name))
                              .Select(info => info.PluginType).ToList();

            return(pluginInvoker.InvokeAndConfigurePlugins(pluginTypes));
        }