var file = args[0];
var key = args[1];
var options = args.Where(a => a.StartsWith("-") || a.StartsWith("/"));
- program.Rewrite(file, key, options);
+ program.Rewrite(file, key, options.ToList());
}
// mscorlib types
static bool dllimport;
- void Rewrite(string file, string keyfile, IEnumerable<string> options)
+ void Rewrite(string file, string keyfile, List<string> options)
{
dllimport = options.Contains("-dllimport");
{
provider = new Mono.Cecil.Mdb.MdbReaderProvider();
}
+
read_params.SymbolReaderProvider = provider;
read_params.ReadSymbols = true;
read_params.ReadWrite = true;
}
}
- void Rewrite(TypeDefinition type, IEnumerable<string> options)
+ void Rewrite(TypeDefinition type, List<string> options)
{
var entry_points = type.Fields.FirstOrDefault(f => f.Name == "EntryPoints");
if (entry_points != null)
}
void Rewrite(TypeDefinition type, FieldDefinition entry_points,
- List<MethodDefinition> entry_signatures, IEnumerable<string> options)
+ List<MethodDefinition> entry_signatures, List<string> options)
{
// Rewrite all wrapper methods
var wrapper_signatures = new List<MethodDefinition>();
foreach (var wrapper in wrapper_signatures)
{
var autogenerated = wrapper.CustomAttributes
- .Where(a => a.AttributeType.Name == "AutoGeneratedAttribute");
- if (autogenerated.Count() > 0)
+ .Where(a => a.AttributeType.Name == "AutoGeneratedAttribute").ToList();
+ if (autogenerated.Any())
{
var signature_name = (string)autogenerated.First()
.Fields.First(f => f.Name == "EntryPoint").Argument.Value;
// Create body for method
static void ProcessMethod(MethodDefinition wrapper, MethodDefinition native, int slot,
- FieldDefinition entry_points, IEnumerable<string> options)
+ FieldDefinition entry_points, List<string> options)
{
var body = wrapper.Body;
var il = body.GetILProcessor();