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); }