AssemblyResolver _resolver;
+ ReaderParameters _readerParameters;
+
AnnotationStore _annotations;
public Pipeline Pipeline {
_actions = new Hashtable ();
_parameters = new Hashtable ();
_annotations = new AnnotationStore ();
+ _readerParameters = new ReaderParameters {
+ AssemblyResolver = _resolver,
+ ReadSymbols = _linkSymbols,
+ };
}
public TypeDefinition GetType (string fullName)
public AssemblyDefinition Resolve (string name)
{
if (File.Exists (name)) {
- AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly (name);
+ AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly (name, _readerParameters);
_resolver.CacheAssembly (assembly);
- SafeLoadSymbols (assembly);
return assembly;
}
{
AssemblyNameReference reference = GetReference (scope);
- AssemblyDefinition assembly = _resolver.Resolve (reference);
+ AssemblyDefinition assembly = _resolver.Resolve (reference, _readerParameters);
- if (SeenFirstTime (assembly)) {
+ if (SeenFirstTime (assembly))
SetAction (assembly);
- SafeLoadSymbols (assembly);
- }
return assembly;
}
- public void SafeLoadSymbols (AssemblyDefinition assembly)
- {
- if (!_linkSymbols)
- return;
-
- try {
- // throw new NotImplementedException ();
- // assembly.MainModule.LoadSymbols ();
- } catch {
- return; // resharper loves this
- }
- }
-
bool SeenFirstTime (AssemblyDefinition assembly)
{
return !_annotations.HasAction (assembly);