public void Add(Module module, MergeDuplicateBehavior duplicateBehavior = MergeDuplicateBehavior.Rename) { if (module == null) { throw new ArgumentNullException("module"); } if (module.IsPrimeModule) { return; } if (!object.ReferenceEquals(_assembly, module.Assembly)) { return; } if (_mergedModuleByName.ContainsKey(module.Name)) { return; } var state = LoadModule(module, duplicateBehavior); _mergedModules.Add(state); _mergedModuleByName.Add(module.Name, state); }
private MergeModuleState LoadModule(Module module, MergeDuplicateBehavior duplicateBehavior) { var state = new MergeModuleState(); state.Module = module; state.DuplicateBehavior = duplicateBehavior; LoadTypes(module.Types, state); return(state); }
private MergeAssemblyState LoadAssembly(Assembly assembly, MergeDuplicateBehavior duplicateBehavior) { var state = new MergeAssemblyState(); state.Assembly = assembly; state.DuplicateBehavior = duplicateBehavior; LoadModules(assembly.Modules, state); LoadResources(assembly.Resources, state); LoadExportedTypes(assembly.ExportedTypes, state); return(state); }
public void Add(Assembly assembly, MergeDuplicateBehavior duplicateBehavior = MergeDuplicateBehavior.Rename) { if (assembly == null) { throw new ArgumentNullException("assembly"); } if (_mergedAssemblyByName.ContainsKey(assembly.Name)) { return; } var state = LoadAssembly(assembly, duplicateBehavior); _mergedAssemblies.Add(state); _mergedAssemblyByName.Add(assembly.Name, state); }
internal void Read(IBinaryAccessor accessor, ProjectReadState state) { _duplicateBehavior = (MergeDuplicateBehavior)accessor.ReadByte(); }