Mono.Addins.Description.AddinDescription.Merge C# (CSharp) Method

Merge() static private method

static private Merge ( AddinDescription desc1, AddinDescription desc2 ) : AddinDescription
desc1 AddinDescription
desc2 AddinDescription
return AddinDescription
        internal static AddinDescription Merge(AddinDescription desc1, AddinDescription desc2)
        {
            if (!desc2.IsExtensionModel) {
                AddinDescription tmp = desc1;
                desc1 = desc2; desc2 = tmp;
            }
            ((AddinPropertyCollectionImpl)desc1.Properties).AddRange (desc2.Properties);
            desc1.ExtensionPoints.AddRange (desc2.ExtensionPoints);
            desc1.ExtensionNodeSets.AddRange (desc2.ExtensionNodeSets);
            desc1.ConditionTypes.AddRange (desc2.ConditionTypes);
            desc1.OptionalModules.AddRange (desc2.OptionalModules);
            foreach (string s in desc2.MainModule.Assemblies)
                desc1.MainModule.Assemblies.Add (s);
            foreach (string s in desc2.MainModule.DataFiles)
                desc1.MainModule.DataFiles.Add (s);
            desc1.MainModule.MergeWith (desc2.MainModule);
            return desc1;
        }