internal OutOfProcProjectAnalyzer(Stream writer, Stream reader) { _analysisQueue = new AnalysisQueue(this); _analysisQueue.AnalysisComplete += AnalysisQueue_Complete; _options = new AP.OptionsChangedEvent() { indentation_inconsistency_severity = Severity.Ignore }; _projectFiles = new ProjectEntryMap(); _connection = new Connection(writer, reader, RequestHandler, AP.RegisteredTypes); _connection.EventReceived += ConectionReceivedEvent; _catalog = new AggregateCatalog(); _container = new CompositionContainer(_catalog); _container.ExportsChanged += ContainerExportsChanged; }
public ProjectAnalyzer(IPythonInterpreter interpreter, IPythonInterpreterFactory factory, IErrorProviderFactory errorProvider, PythonProjectNode project = null) { _errorProvider = errorProvider; _queue = new ParseQueue(this); _analysisQueue = new AnalysisQueue(this); _interpreterFactory = factory; _project = project; _analysisState = new PythonAnalyzer(interpreter, factory.GetLanguageVersion()); _projectFiles = new Dictionary <string, IProjectEntry>(StringComparer.OrdinalIgnoreCase); if (PythonToolsPackage.Instance != null) { _errorList = (IVsErrorList)PythonToolsPackage.GetGlobalService(typeof(SVsErrorList)); } }
internal VsProjectAnalyzer( IServiceProvider serviceProvider, IPythonInterpreter interpreter, IPythonInterpreterFactory factory, IPythonInterpreterFactory[] allFactories, bool implicitProject = true ) { _errorProvider = (ErrorTaskProvider)serviceProvider.GetService(typeof(ErrorTaskProvider)); _commentTaskProvider = (CommentTaskProvider)serviceProvider.GetService(typeof(CommentTaskProvider)); _unresolvedSquiggles = new UnresolvedImportSquiggleProvider(serviceProvider, _errorProvider); _queue = new ParseQueue(this); _analysisQueue = new AnalysisQueue(this); _analysisQueue.AnalysisStarted += AnalysisQueue_AnalysisStarted; _allFactories = allFactories; _interpreterFactory = factory; _implicitProject = implicitProject; if (interpreter != null) { _pyAnalyzer = PythonAnalyzer.Create(factory, interpreter); ReloadTask = _pyAnalyzer.ReloadModulesAsync().HandleAllExceptions(SR.ProductName, GetType()); ReloadTask.ContinueWith(_ => ReloadTask = null); interpreter.ModuleNamesChanged += OnModulesChanged; } _projectFiles = new ConcurrentDictionary<string, IProjectEntry>(StringComparer.OrdinalIgnoreCase); _pyService = serviceProvider.GetPythonToolsService(); _serviceProvider = serviceProvider; if (_pyAnalyzer != null) { _pyAnalyzer.Limits.CrossModule = _pyService.GeneralOptions.CrossModuleAnalysisLimit; // TODO: Load other limits from options } _userCount = 1; }
public GroupAnalysis(IGroupableAnalysisProject project, AnalysisQueue queue) { _project = project; _queue = queue; }
public AnalysisSynchronizationContext(AnalysisQueue queue) { _queue = queue; }