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

Reply via email to