Hi,
in AssemblyReader.cs
static void ReadSymbols (ModuleDefinition module, ReaderParameters
parameters)
{
var symbol_reader_provider = parameters.SymbolReaderProvider;
if (symbol_reader_provider == null && parameters.ReadSymbols)
symbol_reader_provider = SymbolProvider.GetPlatformReaderProvider ();
*if (symbol_reader_provider != null)* {
module.SymbolReaderProvider = symbol_reader_provider;
var reader = parameters.SymbolStream != null
? symbol_reader_provider.GetSymbolReader (module, parameters.SymbolStream)
: symbol_reader_provider.GetSymbolReader (module,
module.FullyQualifiedName);
module.ReadSymbols (reader);
}
}
I feel this is missing an && parameters.ReadSymbols. The scenario for this
is that I want to statically fix my SymolReaderProvider but determine if I
actually want to process PDBs based on some other criteria.
E.g:
ReaderParameters rp = new ReaderParameters { ReadSymbols
= processSymbols };
if ( rp.ReadSymbols )
rp.SymbolReaderProvider = new
Mono.Cecil.Pdb.PdbReaderProvider();
can be compacted to
ReaderParameters rp = new ReaderParameters { ReadSymbols = processSymbols,
SymbolReaderProvider = new Mono.Cecil.Pdb.PdbReaderProvider()};
Regards,
Johannes
--
--
mono-cecil