Example #1
0
 public void Load(IEnumerable<Assembly> assemblies)
 {
   Stopwatch sw = new Stopwatch();
   sw.Start();
   List<TypeKey> types = assemblies.KeysForPendingTypes();
   List<MethodKey> methods = assemblies.KeysForPendingMethods();
   foreach (Assembly assembly in assemblies.AssembliesWithPendingTypes())
   {
     assembly.IsDependency = true;
   }
   foreach (AssemblyDefinition definition in _externalAssemblyLoader.FindExternalAssemblyDefinitions(assemblies))
   {
     TopDownVisitor visitor = new TopDownVisitor(_modelCreator, new VisitationOptions(false, types, methods));
     visitor.Visit(definition);
     _log.Info(sw.Elapsed.TotalSeconds + " - "  + definition.Name.Name);
   }
   _log.Info(sw.Elapsed.TotalSeconds);
 }
Example #2
0
 public IEnumerable<AssemblyDefinition> FindExternalAssemblyDefinitions(IEnumerable<Assembly> assemblies)
 {
   List<AssemblyDefinition> definitions = new List<AssemblyDefinition>();
   foreach (Assembly assembly in assemblies.AssembliesWithPendingTypes())
   {
     AssemblyDefinition definition = GetAssemblyDefinition(assembly);
     if (definition == null)
     {
       _log.Warn("Not able to load: " + assembly.Key);
     }
     else
     {
       definitions.Add(definition);
     }
   }
   return definitions;
 }