Ejemplo n.º 1
0
        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);
            }
        }