/// <summary> /// Adds the module reference. /// </summary> /// <param name="assembly">The assembly.</param> /// <returns></returns> IModuleTypeSystem ITypeSystem.ResolveModuleReference(string assembly) { // Search for reference first foreach (IModuleTypeSystem module in modules) if (module.MetadataModule != null) if (module.MetadataModule.Name == assembly) return module; // already referenced IMetadataModule metaModule = assemblyLoader.LoadModule(assembly); IModuleTypeSystem moduleTypeSystem = new DefaultModuleTypeSystem(this, metaModule); modules.Add(moduleTypeSystem); return moduleTypeSystem; }
/// <summary> /// Loads the modules. /// </summary> /// <param name="files">The files.</param> void ITypeSystem.LoadModules(IEnumerable<string> files) { foreach (string file in files) { IMetadataModule metaModule = this.assemblyLoader.LoadModule(file); IModuleTypeSystem moduleTypeSystem = new DefaultModuleTypeSystem(this, metaModule); modules.Add(moduleTypeSystem); compileModules.Add(moduleTypeSystem); } }