using System.Collections;
using System.Collections.Generic;
using Mono.Cecil;
+using Mono.Collections.Generic;
namespace Mono.Linker.Steps {
return;
}
- var types = assembly.MainModule.Types;
- var cloned_types = new List<TypeDefinition> (types);
+ var types = new List<TypeDefinition> ();
- types.Clear ();
-
- foreach (TypeDefinition type in cloned_types) {
+ foreach (TypeDefinition type in assembly.MainModule.Types) {
if (Annotations.IsMarked (type)) {
SweepType (type);
types.Add (type);
if (type.Name == "<Module>")
types.Add (type);
}
+
+ assembly.MainModule.Types.Clear ();
+ foreach (TypeDefinition type in types)
+ assembly.MainModule.Types.Add (type);
}
bool IsMarkedAssembly (AssemblyDefinition assembly)
}
}
- static ICollection Clone (ICollection collection)
- {
- return new ArrayList (collection);
- }
-
void SweepType (TypeDefinition type)
{
if (type.HasFields)