ModuleDefinition RoundTrip(string location, ReaderParameters reader_parameters, string folder)
{
var module = ModuleDefinition.ReadModule(location, reader_parameters);
var rt_folder = Path.Combine(Path.GetTempPath(), folder);
if (!Directory.Exists(rt_folder))
{
Directory.CreateDirectory(rt_folder);
}
var rt_module = Path.Combine(rt_folder, Path.GetFileName(location));
var writer_parameters = new WriterParameters {
SymbolWriterProvider = GetSymbolWriterProvider(),
};
test_case.Test(module);
module.Write(rt_module, writer_parameters);
if (test_case.Verify)
{
CompilationService.Verify(rt_module);
}
return(ModuleDefinition.ReadModule(rt_module, reader_parameters));
}