Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-addins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Ungureanu <marius.ungureanu@xamarin.com>2020-01-31 22:51:38 +0300
committerGitHub <noreply@github.com>2020-01-31 22:51:38 +0300
commitd830c2cc53cba9c2b315f57d9696e1b81d22fed8 (patch)
tree19e1b29ffb751676398c01432562048febb953a5
parent78293401391922f6d06c4707a043e030b54e3732 (diff)
parent9c638b6b1745f69e9930eff3fafbb8652966bbee (diff)
Merge pull request #150 from mono/arraylist-opt
Switch ArrayList usage to List
-rw-r--r--Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs10
-rw-r--r--Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/LogTextWriter.cs5
-rw-r--r--Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/NullProgressMonitor.cs21
-rw-r--r--Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs5
-rw-r--r--Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs16
-rw-r--r--Mono.Addins.Setup/Mono.Addins.Setup/RepositoryRegistry.cs8
-rw-r--r--Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs8
-rw-r--r--Mono.Addins.Setup/Mono.Addins.Setup/SetupTool.cs7
-rw-r--r--Mono.Addins/Mono.Addins.Database/AddinDatabase.cs6
-rw-r--r--Mono.Addins/Mono.Addins.Database/AddinScanFolderInfo.cs2
-rw-r--r--Mono.Addins/Mono.Addins.Database/AddinScanResult.cs6
-rw-r--r--Mono.Addins/Mono.Addins.Database/AddinScanner.cs2
-rw-r--r--Mono.Addins/Mono.Addins.Database/AddinUpdateData.cs2
-rw-r--r--Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs2
-rw-r--r--Mono.Addins/Mono.Addins.Description/AddinDescription.cs5
-rw-r--r--Mono.Addins/Mono.Addins.Description/AddinPropertyCollection.cs6
-rw-r--r--Mono.Addins/Mono.Addins.Description/ExtensionNodeSet.cs21
-rw-r--r--Mono.Addins/Mono.Addins.Description/ExtensionPoint.cs2
-rw-r--r--Mono.Addins/Mono.Addins.Serialization/BinaryXmlReader.cs5
-rwxr-xr-xMono.Addins/Mono.Addins/AddinEngine.cs10
-rw-r--r--Mono.Addins/Mono.Addins/ConditionType.cs11
-rw-r--r--Mono.Addins/Mono.Addins/ExtensionContext.cs42
-rw-r--r--Mono.Addins/Mono.Addins/ExtensionTree.cs12
-rw-r--r--Mono.Addins/Mono.Addins/RuntimeAddin.cs14
-rw-r--r--Mono.Addins/Mono.Addins/TreeNode.cs9
-rw-r--r--Mono.Addins/Mono.Addins/TreeNodeCollection.cs10
26 files changed, 130 insertions, 117 deletions
diff --git a/Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs b/Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs
index 37f6913..9be24bd 100644
--- a/Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs
+++ b/Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs
@@ -95,7 +95,7 @@ namespace Mono.Addins.CecilReflector
if (att.ConstructorArguments.Count > 0) {
object[] cargs = new object [att.ConstructorArguments.Count];
- ArrayList typeParameters = null;
+ List<int> typeParameters = null;
// Constructor parameters of type System.Type can't be set because types from the assembly
// can't be loaded. The parameter value will be set later using a type name property.
@@ -111,7 +111,7 @@ namespace Mono.Addins.CecilReflector
if (typeof(System.Type).IsAssignableFrom (atype)) {
if (typeParameters == null)
- typeParameters = new ArrayList ();
+ typeParameters = new List<int> ();
cargs [n] = typeof(object);
typeParameters.Add (n);
}
@@ -128,7 +128,7 @@ namespace Mono.Addins.CecilReflector
ParameterInfo[] ciParams = ci.GetParameters ();
for (int n=0; n<typeParameters.Count; n++) {
- int ip = (int) typeParameters [n];
+ int ip = typeParameters [n];
string propName = ciParams[ip].Name;
propName = char.ToUpper (propName [0]) + propName.Substring (1) + "Name";
PropertyInfo pi = attype.GetProperty (propName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
@@ -493,14 +493,14 @@ namespace Mono.Addins.CecilReflector
{
AssemblyDefinition asm = GetAssemblyDefinition (type);
- ArrayList list = new ArrayList ();
+ var list = new List<string> ();
Hashtable visited = new Hashtable ();
GetBaseTypeFullNameList (visited, list, asm, type, baseIsMonoAddinsType, includeInterfaces);
list.Remove (type.FullName);
return list;
}
- void GetBaseTypeFullNameList (Hashtable visited, ArrayList list, AssemblyDefinition asm, TypeReference tr, bool baseIsMonoAddinsType, bool includeInterfaces)
+ void GetBaseTypeFullNameList (Hashtable visited, List<string> list, AssemblyDefinition asm, TypeReference tr, bool baseIsMonoAddinsType, bool includeInterfaces)
{
if (tr.FullName == "System.Object" || visited.Contains (tr.FullName))
return;
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/LogTextWriter.cs b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/LogTextWriter.cs
index 67a063f..ac135b4 100644
--- a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/LogTextWriter.cs
+++ b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/LogTextWriter.cs
@@ -31,6 +31,7 @@ using System;
using System.IO;
using System.Text;
using System.Collections;
+using System.Collections.Generic;
namespace Mono.Addins.Setup.ProgressMonitoring
{
@@ -38,11 +39,11 @@ namespace Mono.Addins.Setup.ProgressMonitoring
internal class LogTextWriter: TextWriter
{
- ArrayList chainedWriters;
+ List<TextWriter> chainedWriters;
public void ChainWriter (TextWriter writer)
{
- if (chainedWriters == null) chainedWriters = new ArrayList ();
+ if (chainedWriters == null) chainedWriters = new List<TextWriter> ();
chainedWriters.Add (writer);
}
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/NullProgressMonitor.cs b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/NullProgressMonitor.cs
index d4d3c3b..2e210a9 100644
--- a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/NullProgressMonitor.cs
+++ b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/NullProgressMonitor.cs
@@ -31,20 +31,21 @@ using System;
using System.Collections;
using System.Threading;
using System.IO;
+using System.Collections.Generic;
namespace Mono.Addins.Setup.ProgressMonitoring
{
internal class NullProgressMonitor: MarshalByRefObject, IProgressMonitor
{
bool done, canceled;
- ArrayList errors;
- ArrayList warnings;
- ArrayList messages;
+ List<ProgressError> errors;
+ List<string> warnings;
+ List<string> messages;
public string[] Messages {
get {
if (messages != null)
- return (string[]) messages.ToArray (typeof(string));
+ return messages.ToArray ();
else
return new string [0];
}
@@ -53,7 +54,7 @@ namespace Mono.Addins.Setup.ProgressMonitoring
public string[] Warnings {
get {
if (warnings != null)
- return (string[]) warnings.ToArray (typeof(string));
+ return warnings.ToArray ();
else
return new string [0];
}
@@ -62,7 +63,7 @@ namespace Mono.Addins.Setup.ProgressMonitoring
public ProgressError[] Errors {
get {
if (errors != null)
- return (ProgressError[]) errors.ToArray (typeof(ProgressError));
+ return errors.ToArray ();
else
return new ProgressError [0];
}
@@ -91,22 +92,22 @@ namespace Mono.Addins.Setup.ProgressMonitoring
public virtual void ReportSuccess (string message)
{
if (messages == null)
- messages = new ArrayList ();
+ messages = new List<string> ();
messages.Add (message);
}
public virtual void ReportWarning (string message)
{
if (warnings == null)
- warnings = new ArrayList ();
+ warnings = new List<string> ();
messages.Add (message);
}
public virtual void ReportError (string message, Exception ex)
{
if (errors == null)
- errors = new ArrayList ();
-
+ errors = new List<ProgressError> ();
+
if (message == null && ex != null)
message = ex.Message;
else if (message != null && ex != null) {
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs
index e36e00e..2b8cc10 100644
--- a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs
+++ b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressTracker.cs
@@ -29,6 +29,7 @@
using System;
using System.Collections;
+using System.Collections.Generic;
namespace Mono.Addins.Setup.ProgressMonitoring
{
@@ -36,7 +37,7 @@ namespace Mono.Addins.Setup.ProgressMonitoring
{
bool done;
- ArrayList tasks = new ArrayList ();
+ List<Task> tasks = new List<Task> ();
class Task
{
public string Name;
@@ -97,7 +98,7 @@ namespace Mono.Addins.Setup.ProgressMonitoring
}
Task LastTask {
- get { return (Task)tasks [tasks.Count-1]; }
+ get { return tasks [tasks.Count - 1]; }
}
public string CurrentTask {
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs b/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs
index ddf6cf4..bc7a7d8 100644
--- a/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs
+++ b/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs
@@ -106,8 +106,8 @@ namespace Mono.Addins.Setup
return false;
}
- ArrayList prepared = new ArrayList ();
- ArrayList uninstallPrepared = new ArrayList ();
+ var prepared = new List<Package> ();
+ var uninstallPrepared = new List<Package> ();
bool rollback = false;
monitor.BeginTask ("Installing add-ins...", 100);
@@ -269,8 +269,8 @@ namespace Mono.Addins.Setup
foreach (string id in ids) {
bool rollback = false;
- ArrayList toUninstall = new ArrayList ();
- ArrayList uninstallPrepared = new ArrayList ();
+ var toUninstall = new List<AddinPackage> ();
+ var uninstallPrepared = new List<Package> ();
Addin ia = service.Registry.GetAddin (id);
if (ia == null)
@@ -354,12 +354,12 @@ namespace Mono.Addins.Setup
public Addin[] GetDependentAddins (string id, bool recursive)
{
- ArrayList list = new ArrayList ();
+ var list = new List<Addin> ();
FindDependentAddins (list, id, recursive);
- return (Addin[]) list.ToArray (typeof (Addin));
+ return list.ToArray ();
}
- void FindDependentAddins (ArrayList list, string id, bool recursive)
+ void FindDependentAddins (List<Addin> list, string id, bool recursive)
{
foreach (Addin iaddin in service.Registry.GetAddins ()) {
if (list.Contains (iaddin))
@@ -510,7 +510,7 @@ namespace Mono.Addins.Setup
}
}
- ArrayList addins = new ArrayList ();
+ var addins = new List<Addin> ();
addins.AddRange (service.Registry.GetAddins ());
addins.AddRange (service.Registry.GetAddinRoots ());
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup/RepositoryRegistry.cs b/Mono.Addins.Setup/Mono.Addins.Setup/RepositoryRegistry.cs
index dcb4246..949164b 100644
--- a/Mono.Addins.Setup/Mono.Addins.Setup/RepositoryRegistry.cs
+++ b/Mono.Addins.Setup/Mono.Addins.Setup/RepositoryRegistry.cs
@@ -44,7 +44,7 @@ namespace Mono.Addins.Setup
/// </remarks>
public class RepositoryRegistry
{
- ArrayList repoList;
+ List<RepositoryRecord> repoList;
SetupService service;
internal RepositoryRegistry (SetupService service)
@@ -279,10 +279,10 @@ namespace Mono.Addins.Setup
return FindRepositoryRecord (url) != null;
}
- ArrayList RepositoryList {
+ List<RepositoryRecord> RepositoryList {
get {
if (repoList == null) {
- ArrayList list = new ArrayList ();
+ var list = new List<RepositoryRecord> ();
foreach (RepositoryRecord rep in service.Configuration.Repositories) {
if (!rep.IsReference)
list.Add (rep);
@@ -301,7 +301,7 @@ namespace Mono.Addins.Setup
/// </returns>
public AddinRepository[] GetRepositories ()
{
- return (AddinRepository[]) RepositoryList.ToArray (typeof(AddinRepository));
+ return RepositoryList.ToArray ();
}
/// <summary>
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs b/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs
index d29bed1..4de0ccd 100644
--- a/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs
+++ b/Mono.Addins.Setup/Mono.Addins.Setup/SetupService.cs
@@ -711,7 +711,7 @@ namespace Mono.Addins.Setup
public void BuildRepository (IProgressStatus statusMonitor, string path)
{
string mainPath = Path.Combine (path, "main.mrep");
- ArrayList allAddins = new ArrayList ();
+ var allAddins = new List<PackageRepositoryEntry> ();
Repository rootrep = (Repository) AddinStore.ReadObject (mainPath, typeof(Repository));
if (rootrep == null)
@@ -724,7 +724,7 @@ namespace Mono.Addins.Setup
monitor.Log.WriteLine ("Updated main.mrep");
}
- void BuildRepository (IProgressMonitor monitor, Repository rootrep, string rootPath, string relFilePath, ArrayList allAddins)
+ void BuildRepository (IProgressMonitor monitor, Repository rootrep, string rootPath, string relFilePath, List<PackageRepositoryEntry> allAddins)
{
DateTime lastModified = DateTime.MinValue;
@@ -772,7 +772,7 @@ namespace Mono.Addins.Setup
allAddins.Add (entry);
}
- ArrayList toRemove = new ArrayList ();
+ var toRemove = new List<PackageRepositoryEntry> ();
foreach (PackageRepositoryEntry entry in mainrep.Addins) {
if (!File.Exists (Path.Combine (mainPath, entry.Url))) {
toRemove.Add (entry);
@@ -854,7 +854,7 @@ namespace Mono.Addins.Setup
}
}
- void GenerateIndexPage (Repository rep, ArrayList addins, string basePath)
+ void GenerateIndexPage (Repository rep, List<PackageRepositoryEntry> addins, string basePath)
{
StreamWriter sw = new StreamWriter (Path.Combine (basePath, "index.html"));
sw.WriteLine ("<html><body>");
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup/SetupTool.cs b/Mono.Addins.Setup/Mono.Addins.Setup/SetupTool.cs
index 1fc5cca..f6493c6 100644
--- a/Mono.Addins.Setup/Mono.Addins.Setup/SetupTool.cs
+++ b/Mono.Addins.Setup/Mono.Addins.Setup/SetupTool.cs
@@ -36,6 +36,7 @@ using Mono.Addins.Setup;
using System.IO;
using Mono.Addins.Description;
using System.Linq;
+using System.Collections.Generic;
namespace Mono.Addins.Setup
{
@@ -798,7 +799,7 @@ namespace Mono.Addins.Setup
if (ep.Description.Length > 0)
Console.WriteLine (ep.Description);
- ArrayList list = new ArrayList ();
+ var list = new List<ExtensionNodeType> ();
Hashtable visited = new Hashtable ();
Console.WriteLine ();
@@ -834,7 +835,7 @@ namespace Mono.Addins.Setup
if (nt.NodeTypes.Count > 0 || nt.NodeSets.Count > 0) {
Console.WriteLine (nsind + "Child nodes:");
- ArrayList newList = new ArrayList ();
+ var newList = new List<ExtensionNodeType> ();
GetNodes (desc, nt, newList, new Hashtable ());
list.AddRange (newList);
foreach (ExtensionNodeType cnt in newList)
@@ -844,7 +845,7 @@ namespace Mono.Addins.Setup
Console.WriteLine ();
}
- void GetNodes (AddinDescription desc, ExtensionNodeSet nset, ArrayList list, Hashtable visited)
+ void GetNodes (AddinDescription desc, ExtensionNodeSet nset, List<ExtensionNodeType> list, Hashtable visited)
{
if (visited.Contains (nset))
return;
diff --git a/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs b/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs
index 9b81807..b1cb643 100644
--- a/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs
+++ b/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs
@@ -640,8 +640,8 @@ namespace Mono.Addins.Database
monitor.Log ("Generating add-in extension maps");
Hashtable changedAddins = null;
- ArrayList descriptionsToSave = new ArrayList ();
- ArrayList files = new ArrayList ();
+ var descriptionsToSave = new List<AddinDescription> ();
+ var files = new List<string> ();
bool partialGeneration = addinsToUpdate != null;
string[] domains = GetDomains ().Where (d => d == domain || d == GlobalDomain).ToArray ();
@@ -763,7 +763,7 @@ namespace Mono.Addins.Database
foreach (Extension ext in module.Extensions) {
Extension mainExt;
if (extensions.TryGetValue (ext.Path, out mainExt)) {
- ArrayList list = new ArrayList ();
+ var list = new List<ExtensionNodeDescription> ();
EnsureInsertionsSorted (ext.ExtensionNodes);
list.AddRange (ext.ExtensionNodes);
int pos = -1;
diff --git a/Mono.Addins/Mono.Addins.Database/AddinScanFolderInfo.cs b/Mono.Addins/Mono.Addins.Database/AddinScanFolderInfo.cs
index 42b836a..944922d 100644
--- a/Mono.Addins/Mono.Addins.Database/AddinScanFolderInfo.cs
+++ b/Mono.Addins/Mono.Addins.Database/AddinScanFolderInfo.cs
@@ -204,7 +204,7 @@ namespace Mono.Addins.Database
files.Clear ();
return missing;
}
- ArrayList toDelete = new ArrayList ();
+ var toDelete = new List<string> ();
foreach (AddinFileInfo info in files.Values) {
if (!fs.FileExists (info.File)) {
if (info.IsAddin)
diff --git a/Mono.Addins/Mono.Addins.Database/AddinScanResult.cs b/Mono.Addins/Mono.Addins.Database/AddinScanResult.cs
index d90437d..85b02e2 100644
--- a/Mono.Addins/Mono.Addins.Database/AddinScanResult.cs
+++ b/Mono.Addins/Mono.Addins.Database/AddinScanResult.cs
@@ -38,11 +38,11 @@ namespace Mono.Addins.Database
{
internal class AddinScanResult: MarshalByRefObject
{
- internal ArrayList AddinsToScan = new ArrayList ();
+ internal List<string> AddinsToScan = new List<string> ();
internal List<string> AddinsToUpdateRelations = new List<string> ();
internal List<string> AddinsToUpdate = new List<string> ();
- internal ArrayList FilesToScan = new ArrayList ();
- internal ArrayList ModifiedFolderInfos = new ArrayList ();
+ internal List<FileToScan> FilesToScan = new List<FileToScan> ();
+ internal List<AddinScanFolderInfo> ModifiedFolderInfos = new List<AddinScanFolderInfo> ();
internal AddinHostIndex HostIndex;
internal List<string> RemovedAddins = new List<string> ();
diff --git a/Mono.Addins/Mono.Addins.Database/AddinScanner.cs b/Mono.Addins/Mono.Addins.Database/AddinScanner.cs
index 1455750..6defcbb 100644
--- a/Mono.Addins/Mono.Addins.Database/AddinScanner.cs
+++ b/Mono.Addins/Mono.Addins.Database/AddinScanner.cs
@@ -483,7 +483,7 @@ namespace Mono.Addins.Database
Hashtable internalNodeSets = new Hashtable ();
- ArrayList setsCopy = new ArrayList ();
+ var setsCopy = new List<ExtensionNodeSet> ();
setsCopy.AddRange (config.ExtensionNodeSets);
foreach (ExtensionNodeSet eset in setsCopy)
ScanNodeSet (reflector, config, eset, assemblies, internalNodeSets);
diff --git a/Mono.Addins/Mono.Addins.Database/AddinUpdateData.cs b/Mono.Addins/Mono.Addins.Database/AddinUpdateData.cs
index cbae4d4..93b8715 100644
--- a/Mono.Addins/Mono.Addins.Database/AddinUpdateData.cs
+++ b/Mono.Addins/Mono.Addins.Database/AddinUpdateData.cs
@@ -277,7 +277,7 @@ namespace Mono.Addins.Database
if (module == description.MainModule)
deps = module.Dependencies;
else {
- ArrayList list = new ArrayList ();
+ var list = new List<Dependency> ();
list.AddRange (module.Dependencies);
list.AddRange (description.MainModule.Dependencies);
deps = list;
diff --git a/Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs b/Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs
index e668d2c..62eb3d2 100644
--- a/Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs
+++ b/Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs
@@ -143,7 +143,7 @@ namespace Mono.Addins.Database
public IEnumerable GetBaseTypeFullNameList (object type)
{
- ArrayList list = new ArrayList ();
+ var list = new List<string> ();
Type btype = ((Type)type).BaseType;
while (btype != typeof(object)) {
list.Add (btype.FullName);
diff --git a/Mono.Addins/Mono.Addins.Description/AddinDescription.cs b/Mono.Addins/Mono.Addins.Description/AddinDescription.cs
index f3220d0..c527574 100644
--- a/Mono.Addins/Mono.Addins.Description/AddinDescription.cs
+++ b/Mono.Addins/Mono.Addins.Description/AddinDescription.cs
@@ -637,8 +637,9 @@ namespace Mono.Addins.Description
internal void StoreFileInfo ()
{
- ArrayList list = new ArrayList ();
- foreach (string f in AllFiles) {
+ var allFiles = AllFiles;
+ var list = new List<AddinFileInfo> (allFiles.Count);
+ foreach (string f in allFiles) {
string file = Path.Combine (this.BasePath, f);
AddinFileInfo fi = new AddinFileInfo ();
fi.FileName = f;
diff --git a/Mono.Addins/Mono.Addins.Description/AddinPropertyCollection.cs b/Mono.Addins/Mono.Addins.Description/AddinPropertyCollection.cs
index 93414e5..2884438 100644
--- a/Mono.Addins/Mono.Addins.Description/AddinPropertyCollection.cs
+++ b/Mono.Addins/Mono.Addins.Description/AddinPropertyCollection.cs
@@ -246,7 +246,11 @@ namespace Mono.Addins.Description
public bool HasProperty (string name)
{
- return this.Any (p => p.Name == name);
+ foreach (var p in this) {
+ if (p.Name == name)
+ return true;
+ }
+ return false;
}
internal string ExtractCoreProperty (string name, bool removeProperty)
diff --git a/Mono.Addins/Mono.Addins.Description/ExtensionNodeSet.cs b/Mono.Addins/Mono.Addins.Description/ExtensionNodeSet.cs
index 70d6cb0..13e3a8f 100644
--- a/Mono.Addins/Mono.Addins.Description/ExtensionNodeSet.cs
+++ b/Mono.Addins/Mono.Addins.Description/ExtensionNodeSet.cs
@@ -32,6 +32,8 @@ using System.Collections;
using System.Xml;
using Mono.Addins.Serialization;
using System.Collections.Specialized;
+using System.Collections.Generic;
+using System.Linq;
namespace Mono.Addins.Description
{
@@ -112,7 +114,7 @@ namespace Mono.Addins.Description
Element.AppendChild (e);
}
}
- ArrayList list = new ArrayList ();
+ var list = new List<XmlElement> ();
foreach (XmlElement e in Element.SelectNodes ("ExtensionNodeSet")) {
if (!nodeSets.Contains (e.GetAttribute ("id")))
list.Add (e);
@@ -256,7 +258,7 @@ namespace Mono.Addins.Description
{
// Removes extension types and extension sets coming from other add-ins.
- ArrayList todelete = new ArrayList ();
+ var todelete = new List<ExtensionNodeType> ();
foreach (ExtensionNodeType nt in NodeTypes) {
if (nt.AddinId != thisAddinId && (addinsToUnmerge == null || addinsToUnmerge.Contains (nt.AddinId)))
todelete.Add (nt);
@@ -312,7 +314,7 @@ namespace Mono.Addins.Description
{
// A list of string[2]. Item 0 is the node set id, item 1 is the addin that defines it.
- ArrayList list = new ArrayList ();
+ List<string[]> list = new List<string[]> ();
/// <summary>
/// Gets the node set identifier at the specified index.
@@ -321,7 +323,7 @@ namespace Mono.Addins.Description
/// An index.
/// </param>
public string this [int n] {
- get { return ((string[])list [n])[0]; }
+ get { return list [n][0]; }
}
/// <summary>
@@ -342,10 +344,7 @@ namespace Mono.Addins.Description
/// </returns>
public IEnumerator GetEnumerator ()
{
- ArrayList ll = new ArrayList (list.Count);
- foreach (string[] ns in list)
- ll.Add (ns [0]);
- return ll.GetEnumerator ();
+ return list.Select (x => x [0]).GetEnumerator ();
}
/// <summary>
@@ -404,7 +403,7 @@ namespace Mono.Addins.Description
public int IndexOf (string nodeSetId)
{
for (int n=0; n<list.Count; n++)
- if (((string[])list [n])[0] == nodeSetId)
+ if (list [n][0] == nodeSetId)
return n;
return -1;
}
@@ -415,7 +414,7 @@ namespace Mono.Addins.Description
ns [1] = id;
}
- internal ArrayList InternalList {
+ internal List<string[]> InternalList {
get { return list; }
set { list = value; }
}
@@ -430,7 +429,7 @@ namespace Mono.Addins.Description
internal void UnmergeExternalData (string thisAddinId, Hashtable addinsToUnmerge)
{
- ArrayList newList = new ArrayList ();
+ List<string[]> newList = new List<string[]> ();
foreach (string[] ns in list) {
if (ns[1] == thisAddinId || (addinsToUnmerge != null && !addinsToUnmerge.Contains (ns[1])))
newList.Add (ns);
diff --git a/Mono.Addins/Mono.Addins.Description/ExtensionPoint.cs b/Mono.Addins/Mono.Addins.Description/ExtensionPoint.cs
index 4e0cd01..e4dfda8 100644
--- a/Mono.Addins/Mono.Addins.Description/ExtensionPoint.cs
+++ b/Mono.Addins/Mono.Addins.Description/ExtensionPoint.cs
@@ -129,7 +129,7 @@ namespace Mono.Addins.Description
{
NodeSet.UnmergeExternalData (thisAddinId, addinsToUnmerge);
- ArrayList todel = new ArrayList ();
+ var todel = new List<ConditionTypeDescription> ();
foreach (ConditionTypeDescription cond in Conditions) {
if (cond.AddinId != thisAddinId && (addinsToUnmerge == null || addinsToUnmerge.Contains (cond.AddinId)))
todel.Add (cond);
diff --git a/Mono.Addins/Mono.Addins.Serialization/BinaryXmlReader.cs b/Mono.Addins/Mono.Addins.Serialization/BinaryXmlReader.cs
index f85fb58..2101d4e 100644
--- a/Mono.Addins/Mono.Addins.Serialization/BinaryXmlReader.cs
+++ b/Mono.Addins/Mono.Addins.Serialization/BinaryXmlReader.cs
@@ -31,6 +31,7 @@ using System;
using System.Collections;
using System.Text;
using System.IO;
+using System.Collections.Generic;
namespace Mono.Addins.Serialization
{
@@ -50,7 +51,7 @@ namespace Mono.Addins.Serialization
byte currentType;
string currentName;
- ArrayList stringTable = new ArrayList ();
+ List<string> stringTable = new List<string> ();
BinaryXmlTypeMap typeMap;
object contextData;
bool ignoreDesc;
@@ -101,7 +102,7 @@ namespace Mono.Addins.Serialization
if (len == -1)
return null;
if (len < -1)
- return (string) stringTable [-(len + 2)];
+ return stringTable [-(len + 2)];
byte[] bytes = new byte [len];
int n = 0;
diff --git a/Mono.Addins/Mono.Addins/AddinEngine.cs b/Mono.Addins/Mono.Addins/AddinEngine.cs
index f8215db..dd144e2 100755
--- a/Mono.Addins/Mono.Addins/AddinEngine.cs
+++ b/Mono.Addins/Mono.Addins/AddinEngine.cs
@@ -404,7 +404,7 @@ namespace Mono.Addins
/// </remarks>
public void CheckInstalled (string message, params string[] addinIds)
{
- ArrayList notInstalled = new ArrayList ();
+ List<string> notInstalled = new List<string> ();
foreach (string id in addinIds) {
Addin addin = Registry.GetAddin (id, false);
if (addin != null) {
@@ -425,7 +425,7 @@ namespace Mono.Addins
throw new InvalidOperationException ("Add-in installer not set");
// Install the add-ins
- ins.InstallAddins (Registry, message, (string[]) notInstalled.ToArray (typeof(string)));
+ ins.InstallAddins (Registry, message, notInstalled.ToArray ());
}
// Enables or disables conflict checking while loading assemblies.
@@ -525,7 +525,7 @@ namespace Mono.Addins
return false;
}
- ArrayList addins = new ArrayList ();
+ var addins = new List<Addin> ();
Stack depCheck = new Stack ();
ResolveLoadDependencies (addins, depCheck, id, false);
addins.Reverse ();
@@ -538,7 +538,7 @@ namespace Mono.Addins
if (statusMonitor != null)
statusMonitor.SetProgress ((double) n / (double)addins.Count);
- Addin iad = (Addin) addins [n];
+ Addin iad = addins [n];
if (IsAddinLoaded (iad.Id))
continue;
@@ -629,7 +629,7 @@ namespace Mono.Addins
}
}
- bool ResolveLoadDependencies (ArrayList addins, Stack depCheck, string id, bool optional)
+ bool ResolveLoadDependencies (List<Addin> addins, Stack depCheck, string id, bool optional)
{
if (IsAddinLoaded (id))
return true;
diff --git a/Mono.Addins/Mono.Addins/ConditionType.cs b/Mono.Addins/Mono.Addins/ConditionType.cs
index 3c67471..7af2884 100644
--- a/Mono.Addins/Mono.Addins/ConditionType.cs
+++ b/Mono.Addins/Mono.Addins/ConditionType.cs
@@ -31,6 +31,7 @@ using System;
using System.Xml;
using Mono.Addins.Description;
using System.Collections;
+using System.Collections.Generic;
namespace Mono.Addins
{
@@ -95,7 +96,7 @@ namespace Mono.Addins
return parent == null || parent.Evaluate (ctx);
}
- internal virtual void GetConditionTypes (ArrayList listToFill)
+ internal virtual void GetConditionTypes (List<string> listToFill)
{
}
}
@@ -131,7 +132,7 @@ namespace Mono.Addins
return false;
}
- internal override void GetConditionTypes (ArrayList listToFill)
+ internal override void GetConditionTypes (List<string> listToFill)
{
foreach (BaseCondition cond in conditions)
cond.GetConditionTypes (listToFill);
@@ -157,7 +158,7 @@ namespace Mono.Addins
return true;
}
- internal override void GetConditionTypes (ArrayList listToFill)
+ internal override void GetConditionTypes (List<string> listToFill)
{
foreach (BaseCondition cond in conditions)
cond.GetConditionTypes (listToFill);
@@ -178,7 +179,7 @@ namespace Mono.Addins
return !baseCond.Evaluate (ctx);
}
- internal override void GetConditionTypes (System.Collections.ArrayList listToFill)
+ internal override void GetConditionTypes (List<string> listToFill)
{
baseCond.GetConditionTypes (listToFill);
}
@@ -228,7 +229,7 @@ namespace Mono.Addins
}
}
- internal override void GetConditionTypes (ArrayList listToFill)
+ internal override void GetConditionTypes (List<string> listToFill)
{
listToFill.Add (typeId);
}
diff --git a/Mono.Addins/Mono.Addins/ExtensionContext.cs b/Mono.Addins/Mono.Addins/ExtensionContext.cs
index 6f5940a..46bc0b1 100644
--- a/Mono.Addins/Mono.Addins/ExtensionContext.cs
+++ b/Mono.Addins/Mono.Addins/ExtensionContext.cs
@@ -56,8 +56,8 @@ namespace Mono.Addins
ExtensionTree tree;
bool fireEvents = false;
- ArrayList runTimeEnabledAddins;
- ArrayList runTimeDisabledAddins;
+ List<string> runTimeEnabledAddins;
+ List<string> runTimeDisabledAddins;
/// <summary>
/// Extension change event.
@@ -224,11 +224,11 @@ namespace Mono.Addins
internal void RegisterNodeCondition (TreeNode node, BaseCondition cond)
{
- ArrayList list = (ArrayList) conditionsToNodes [cond];
+ var list = (List<TreeNode>) conditionsToNodes [cond];
if (list == null) {
- list = new ArrayList ();
+ list = new List<TreeNode> ();
conditionsToNodes [cond] = list;
- ArrayList conditionTypeIds = new ArrayList ();
+ var conditionTypeIds = new List<string> ();
cond.GetConditionTypes (conditionTypeIds);
foreach (string cid in conditionTypeIds) {
@@ -238,7 +238,7 @@ namespace Mono.Addins
ConditionInfo info = CreateConditionInfo (cid);
if (info.BoundConditions == null)
- info.BoundConditions = new ArrayList ();
+ info.BoundConditions = new List<BaseCondition> ();
info.BoundConditions.Add (cond);
}
@@ -248,14 +248,14 @@ namespace Mono.Addins
internal void UnregisterNodeCondition (TreeNode node, BaseCondition cond)
{
- ArrayList list = (ArrayList) conditionsToNodes [cond];
+ var list = (List<TreeNode>) conditionsToNodes [cond];
if (list == null)
return;
list.Remove (node);
if (list.Count == 0) {
conditionsToNodes.Remove (cond);
- ArrayList conditionTypeIds = new ArrayList ();
+ var conditionTypeIds = new List<string> ();
cond.GetConditionTypes (conditionTypeIds);
foreach (string cid in conditionTypes.Keys) {
ConditionInfo info = conditionTypes [cid] as ConditionInfo;
@@ -772,7 +772,7 @@ namespace Mono.Addins
if (info != null && info.BoundConditions != null) {
Hashtable parentsToNotify = new Hashtable ();
foreach (BaseCondition c in info.BoundConditions) {
- ArrayList nodeList = (ArrayList) conditionsToNodes [c];
+ var nodeList = (List<TreeNode>) conditionsToNodes [c];
if (nodeList != null) {
foreach (TreeNode node in nodeList)
parentsToNotify [node.Parent] = null;
@@ -855,7 +855,7 @@ namespace Mono.Addins
// Look for loaded extension points
Hashtable eps = new Hashtable ();
- ArrayList newExtensions = new ArrayList ();
+ var newExtensions = new List<string> ();
foreach (ModuleDescription mod in addin.Description.AllModules) {
foreach (Extension ext in mod.Extensions) {
if (!newExtensions.Contains (ext.Path))
@@ -867,7 +867,7 @@ namespace Mono.Addins
}
// Add the new nodes
- ArrayList loadedNodes = new ArrayList ();
+ var loadedNodes = new List<TreeNode> ();
foreach (ExtensionPoint ep in eps.Keys) {
ExtensionLoadData data = GetAddinExtensions (id, ep);
if (data != null) {
@@ -922,7 +922,7 @@ namespace Mono.Addins
// This method removes all extension nodes added by the add-in
// Get all nodes created by the addin
- ArrayList list = new ArrayList ();
+ List<TreeNode> list = new List<TreeNode> ();
tree.FindAddinNodes (id, list);
// Remove each node and notify the change
@@ -945,7 +945,7 @@ namespace Mono.Addins
// We get the runtime add-in because the add-in may already have been deleted from the registry
RuntimeAddin addin = AddinEngine.GetAddin (id);
if (addin != null) {
- ArrayList paths = new ArrayList ();
+ var paths = new List<string> ();
// Using addin.Module.ParentAddinDescription here because addin.Addin.Description may not
// have a valid reference (the description is lazy loaded and may already have been removed from the registry)
foreach (ModuleDescription mod in addin.Module.ParentAddinDescription.AllModules) {
@@ -965,7 +965,7 @@ namespace Mono.Addins
void RegisterRuntimeDisabledAddin (string addinId)
{
if (runTimeDisabledAddins == null)
- runTimeDisabledAddins = new ArrayList ();
+ runTimeDisabledAddins = new List<string> ();
if (!runTimeDisabledAddins.Contains (addinId))
runTimeDisabledAddins.Add (addinId);
@@ -976,7 +976,7 @@ namespace Mono.Addins
void RegisterRuntimeEnabledAddin (string addinId)
{
if (runTimeEnabledAddins == null)
- runTimeEnabledAddins = new ArrayList ();
+ runTimeEnabledAddins = new List<string> ();
if (!runTimeEnabledAddins.Contains (addinId))
runTimeEnabledAddins.Add (addinId);
@@ -1053,7 +1053,7 @@ namespace Mono.Addins
// Now load the extensions
- ArrayList loadedNodes = new ArrayList ();
+ var loadedNodes = new List<TreeNode> ();
foreach (ExtensionLoadData data in loadData) {
foreach (Extension ext in data.Extensions) {
TreeNode cnode = GetNode (ext.Path);
@@ -1115,17 +1115,17 @@ namespace Mono.Addins
data = new ExtensionLoadData ();
data.AddinId = addinId;
data.AddinName = addinName;
- data.Extensions = new ArrayList ();
+ data.Extensions = new List<Extension> ();
}
data.Extensions.Add (extension);
}
}
}
- void LoadModuleExtensionNodes (Extension extension, string addinId, ExtensionNodeSet nset, ArrayList loadedNodes)
+ void LoadModuleExtensionNodes (Extension extension, string addinId, ExtensionNodeSet nset, List<TreeNode> loadedNodes)
{
// Now load the extensions
- ArrayList addedNodes = new ArrayList ();
+ var addedNodes = new List<TreeNode> ();
tree.LoadExtension (addinId, extension, addedNodes);
RuntimeAddin ad = AddinEngine.GetAddin (addinId);
@@ -1213,7 +1213,7 @@ namespace Mono.Addins
class ConditionInfo
{
public object CondType;
- public ArrayList BoundConditions;
+ public List<BaseCondition> BoundConditions;
}
@@ -1355,6 +1355,6 @@ namespace Mono.Addins
{
public string AddinId;
public string AddinName;
- public ArrayList Extensions;
+ public List<Extension> Extensions;
}
}
diff --git a/Mono.Addins/Mono.Addins/ExtensionTree.cs b/Mono.Addins/Mono.Addins/ExtensionTree.cs
index 49ee2b4..3d67a04 100644
--- a/Mono.Addins/Mono.Addins/ExtensionTree.cs
+++ b/Mono.Addins/Mono.Addins/ExtensionTree.cs
@@ -52,7 +52,7 @@ namespace Mono.Addins
}
- public void LoadExtension (string addin, Extension extension, ArrayList addedNodes)
+ public void LoadExtension (string addin, Extension extension, List<TreeNode> addedNodes)
{
TreeNode tnode = GetNode (extension.Path);
if (tnode == null) {
@@ -64,7 +64,7 @@ namespace Mono.Addins
LoadExtensionElement (tnode, addin, extension.ExtensionNodes, (ModuleDescription) extension.Parent, ref curPos, tnode.Condition, false, addedNodes);
}
- void LoadExtensionElement (TreeNode tnode, string addin, ExtensionNodeDescriptionCollection extension, ModuleDescription module, ref int curPos, BaseCondition parentCondition, bool inComplextCondition, ArrayList addedNodes)
+ void LoadExtensionElement (TreeNode tnode, string addin, ExtensionNodeDescriptionCollection extension, ModuleDescription module, ref int curPos, BaseCondition parentCondition, bool inComplextCondition, List<TreeNode> addedNodes)
{
foreach (ExtensionNodeDescription elem in extension) {
@@ -152,20 +152,20 @@ namespace Mono.Addins
BaseCondition ReadComplexCondition (ExtensionNodeDescription elem, BaseCondition parentCondition)
{
if (elem.NodeName == "Or" || elem.NodeName == "And" || elem.NodeName == "Not") {
- ArrayList conds = new ArrayList ();
+ var conds = new List<BaseCondition> ();
foreach (ExtensionNodeDescription celem in elem.ChildNodes) {
conds.Add (ReadComplexCondition (celem, null));
}
if (elem.NodeName == "Or")
- return new OrCondition ((BaseCondition[]) conds.ToArray (typeof(BaseCondition)), parentCondition);
+ return new OrCondition (conds.ToArray (), parentCondition);
else if (elem.NodeName == "And")
- return new AndCondition ((BaseCondition[]) conds.ToArray (typeof(BaseCondition)), parentCondition);
+ return new AndCondition (conds.ToArray (), parentCondition);
else {
if (conds.Count != 1) {
addinEngine.ReportError ("Invalid complex condition element '" + elem.NodeName + "'. 'Not' condition can only have one parameter.", null, null, false);
return new NullCondition ();
}
- return new NotCondition ((BaseCondition) conds [0], parentCondition);
+ return new NotCondition (conds [0], parentCondition);
}
}
if (elem.NodeName == "Condition") {
diff --git a/Mono.Addins/Mono.Addins/RuntimeAddin.cs b/Mono.Addins/Mono.Addins/RuntimeAddin.cs
index fd1bf3e..1374ca7 100644
--- a/Mono.Addins/Mono.Addins/RuntimeAddin.cs
+++ b/Mono.Addins/Mono.Addins/RuntimeAddin.cs
@@ -124,7 +124,7 @@ namespace Mono.Addins
return resourceManagers;
EnsureAssembliesLoaded ();
- ArrayList managersList = new ArrayList ();
+ var managersList = new List<ResourceManager> ();
// Search for embedded resource files
foreach (Assembly asm in assemblies)
@@ -135,7 +135,7 @@ namespace Mono.Addins
}
}
- return resourceManagers = (ResourceManager[]) managersList.ToArray (typeof(ResourceManager));
+ return resourceManagers = managersList.ToArray ();
}
/// <summary>
@@ -632,7 +632,7 @@ namespace Mono.Addins
if (depAddins != null)
return depAddins;
- ArrayList plugList = new ArrayList ();
+ var plugList = new List<RuntimeAddin> ();
string ns = ainfo.Description.Namespace;
// Collect dependent ids
@@ -646,10 +646,10 @@ namespace Mono.Addins
addinEngine.ReportError ("Add-in dependency not loaded: " + pdep.FullAddinId, module.ParentAddinDescription.AddinId, null, false);
}
}
- return depAddins = (RuntimeAddin[]) plugList.ToArray (typeof(RuntimeAddin));
+ return depAddins = plugList.ToArray ();
}
- void LoadModule (ModuleDescription module, ArrayList asmList)
+ void LoadModule (ModuleDescription module, List<Assembly> asmList)
{
// Load the assemblies
foreach (string s in module.Assemblies) {
@@ -711,14 +711,14 @@ namespace Mono.Addins
if (assemblies != null)
return;
- ArrayList asmList = new ArrayList ();
+ var asmList = new List<Assembly> ();
// Load the assemblies of the module
CheckAddinDependencies (module, true);
LoadModule (module, asmList);
addinEngine.ReportAddinAssembliesLoad (id);
- assemblies = (Assembly[]) asmList.ToArray (typeof(Assembly));
+ assemblies = asmList.ToArray ();
addinEngine.RegisterAssemblies (this);
}
}
diff --git a/Mono.Addins/Mono.Addins/TreeNode.cs b/Mono.Addins/Mono.Addins/TreeNode.cs
index 969ce00..6330173 100644
--- a/Mono.Addins/Mono.Addins/TreeNode.cs
+++ b/Mono.Addins/Mono.Addins/TreeNode.cs
@@ -31,12 +31,13 @@ using System;
using System.Text;
using System.Collections;
using Mono.Addins.Description;
+using System.Collections.Generic;
namespace Mono.Addins
{
class TreeNode
{
- ArrayList childrenList;
+ List<TreeNode> childrenList;
TreeNodeCollection children;
ExtensionNode extensionNode;
bool childrenLoaded;
@@ -133,7 +134,7 @@ namespace Mono.Addins
{
node.parent = this;
if (childrenList == null)
- childrenList = new ArrayList ();
+ childrenList = new List<TreeNode> ();
childrenList.Add (node);
}
@@ -141,7 +142,7 @@ namespace Mono.Addins
{
node.parent = this;
if (childrenList == null)
- childrenList = new ArrayList ();
+ childrenList = new List<TreeNode> ();
childrenList.Insert (n, node);
// Dont call NotifyChildrenChanged here. It is called by ExtensionTree,
@@ -270,7 +271,7 @@ namespace Mono.Addins
return null;
}
- public void FindAddinNodes (string id, ArrayList nodes)
+ public void FindAddinNodes (string id, List<TreeNode> nodes)
{
if (id != null && extensionPoint != null && extensionPoint.RootAddin == id) {
// It is an extension point created by the add-in. All nodes below this
diff --git a/Mono.Addins/Mono.Addins/TreeNodeCollection.cs b/Mono.Addins/Mono.Addins/TreeNodeCollection.cs
index 28d499d..9da13b7 100644
--- a/Mono.Addins/Mono.Addins/TreeNodeCollection.cs
+++ b/Mono.Addins/Mono.Addins/TreeNodeCollection.cs
@@ -29,16 +29,18 @@
using System;
using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
namespace Mono.Addins
{
class TreeNodeCollection: IEnumerable
{
- ArrayList list;
+ List<TreeNode> list;
internal static TreeNodeCollection Empty = new TreeNodeCollection (null);
- public TreeNodeCollection (ArrayList list)
+ public TreeNodeCollection (List<TreeNode> list)
{
this.list = list;
}
@@ -54,7 +56,7 @@ namespace Mono.Addins
public TreeNode this [int n] {
get {
if (list != null)
- return (TreeNode) list [n];
+ return list [n];
else
throw new System.IndexOutOfRangeException ();
}
@@ -76,7 +78,7 @@ namespace Mono.Addins
public TreeNodeCollection Clone ()
{
if (list != null)
- return new TreeNodeCollection ((ArrayList) list.Clone ());
+ return new TreeNodeCollection (list.ToList ());
else
return Empty;
}