internal BuildAssembly(BuildAssemblyManager assemblyManager, string filePath)
            : base(assemblyManager, filePath)
        {
            var module = (BuildModule)_module;

            _state   = module.State;
            _builder = assemblyManager.Builder;
        }
        protected virtual void Close()
        {
            if (_cancellationPending)
            {
                lock (_abortLockObject)
                {
                    if (_cancellationPending)
                    {
                        _cancellationPending = false;
                        Monitor.Pulse(_abortLockObject);
                    }
                }
            }

            if (_assemblyManager != null)
            {
                _assemblyManager.Dispose();
                _assemblyManager = null;
            }

            _assemblies = null;
            _random     = null;
        }
 protected Builder()
 {
     _random          = new Random();
     _assemblyManager = new BuildAssemblyManager(this);
     _assemblies      = new BuildAssemblyCollection(_assemblyManager);
 }
 internal BuildAssemblyCollection(BuildAssemblyManager assemblyManager)
 {
     _assemblyManager = assemblyManager;
     _files           = new HashList <string>(StringComparer.OrdinalIgnoreCase);
 }