Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
 public GroupAnalysis(IGroupableAnalysisProject project, AnalysisQueue queue)
 {
     _project = project;
     _queue   = queue;
 }
Exemplo n.º 5
0
 public GroupAnalysis(IGroupableAnalysisProject project, AnalysisQueue queue) {
     _project = project;
     _queue = queue;
 }
Exemplo n.º 6
0
 public AnalysisSynchronizationContext(AnalysisQueue queue)
 {
     _queue = queue;
 }
 public AnalysisSynchronizationContext(AnalysisQueue queue) {
     _queue = queue;
 }