Exemple #1
0
        private static CompilationModule BuildInternal(ModuleSyntax pModule, string pNamespace)
        {
            CompilationModule main = new CompilationModule(pModule, pNamespace);

            Parallel.ForEach(pModule.Imports, (i) =>
            {
                var alias = i.Key;
                var node  = i.Value;
                var mod   = BuildInternal(node, alias);

                if (mod != null)
                {
                    main.Cache.AddReference(alias, mod);
                }
            });

            if (!main.Compile(main.Cache))
            {
                return(null);
            }

            return(main);
        }
 public void AddReference(string pNamespace, CompilationModule pUnit)
 {
     _references.Add(pNamespace, pUnit);
 }