ModuleDefinition GetModule() { var location = attribute.GetModuleLocation(this.Method.DeclaringType.Assembly); var parameters = new ReaderParameters { SymbolReaderProvider = GetSymbolReaderProvider(attribute), }; switch (type) { case TestCaseType.ReadImmediate: parameters.ReadingMode = ReadingMode.Immediate; return(ModuleDefinition.ReadModule(location, parameters)); case TestCaseType.ReadDeferred: parameters.ReadingMode = ReadingMode.Deferred; return(ModuleDefinition.ReadModule(location, parameters)); case TestCaseType.WriteFromImmediate: parameters.ReadingMode = ReadingMode.Immediate; return(RoundTrip(location, parameters, "cecil-irt")); case TestCaseType.WriteFromDeferred: parameters.ReadingMode = ReadingMode.Deferred; return(RoundTrip(location, parameters, "cecil-drt")); default: return(null); } }