Exemple #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AssemblyLoader" /> class.
        /// </summary>
        /// <param name="settings">The settings.</param>
        /// <param name="factories">The factories used for loading assemblies.</param>
        public AssemblyLoader(MachineSettings settings, params AssemblyProviderFactory[] factories)
        {
            _manager           = new AssembliesManager(this, settings);
            _assemblyFactories = factories.ToArray();
            _nullCallHandler   = new DirectGenerator(nullCallHandler);

            AppDomain = new AppDomainServices(_manager);


            //register cleaning of overriding generators
            Settings.BeforeInterpretation += () => _overridingGenerators.Clear();
        }
Exemple #2
0
 /// <summary>
 /// Register injected generator for given instance. All incoming
 /// calls will be replaced with instructions of given generator.
 /// </summary>
 /// <param name="registeredInstance">Instance which generator is injected.</param>
 /// <param name="generator">Injected generator.</param>
 internal void RegisterInjectedGenerator(Instance registeredInstance, DirectGenerator generator)
 {
     _overridingGenerators[registeredInstance] = generator;
 }