예제 #1
0
        public void Dispose()
        {
            dteWithEvents.OnBuildDone -= BuildEventsOnOnBuildDone;
            SaveStepMap();

            GherkinProcessingScheduler.Dispose();
            if (appConfigTracker != null)
            {
                appConfigTracker.FileChanged    -= AppConfigTrackerOnFileChanged;
                appConfigTracker.FileOutOfScope -= AppConfigTrackerOnFileOutOfScope;
                appConfigTracker.Dispose();
            }
            if (stepSuggestionProvider != null)
            {
                stepSuggestionProvider.Dispose();
            }
            if (featureFilesTracker != null)
            {
                featureFilesTracker.Ready -= FeatureFilesTrackerOnReady;
                featureFilesTracker.Dispose();
            }
            if (bindingFilesTracker != null)
            {
                bindingFilesTracker.Dispose();
            }
        }
        public void Dispose()
        {
            _dteWithEvents.OnBuildDone -= BuildEventsOnOnBuildDone;
            SaveStepMap();

            GherkinProcessingScheduler.Dispose();
            if (_appConfigTracker != null)
            {
                _appConfigTracker.FileChanged    -= ConfigFileTrackerOnFileChanged;
                _appConfigTracker.FileOutOfScope -= ConfigFileTrackerOnFileOutOfScope;
                _appConfigTracker.Dispose();
            }
            if (_specflowJsonTracker != null)
            {
                _specflowJsonTracker.FileChanged    -= ConfigFileTrackerOnFileChanged;
                _specflowJsonTracker.FileOutOfScope -= ConfigFileTrackerOnFileOutOfScope;
                _specflowJsonTracker.Dispose();
            }
            if (_stepSuggestionProvider != null)
            {
                _stepSuggestionProvider.Dispose();
            }
            if (_featureFilesTracker != null)
            {
                _featureFilesTracker.Ready -= FeatureFilesTrackerOnReady;
                _featureFilesTracker.Dispose();
            }
            if (_bindingFilesTracker != null)
            {
                _bindingFilesTracker.Dispose();
            }
        }
예제 #3
0
 public NoProjectScope(GherkinFileEditorClassifications classifications, IVisualStudioTracer visualStudioTracer, IIntegrationOptionsProvider integrationOptionsProvider)
 {
     GherkinTextBufferParser      = new GherkinTextBufferParser(this, visualStudioTracer);
     GherkinProcessingScheduler   = new GherkinProcessingScheduler(visualStudioTracer, false);
     SpecFlowProjectConfiguration = new SpecFlowProjectConfiguration();
     GherkinDialectServices       = new GherkinDialectServices(SpecFlowProjectConfiguration.GeneratorConfiguration.FeatureLanguage);
     Classifications            = classifications;
     IntegrationOptionsProvider = integrationOptionsProvider;
     Tracer = visualStudioTracer;
 }
예제 #4
0
        internal VsProjectScope(Project project, DteWithEvents dteWithEvents, GherkinFileEditorClassifications classifications, IVisualStudioTracer tracer, IIntegrationOptionsProvider integrationOptionsProvider)
        {
            Classifications    = classifications;
            this.project       = project;
            this.dteWithEvents = dteWithEvents;
            this.tracer        = tracer;
            this.integrationOptionsProvider = integrationOptionsProvider;

            var integrationOptions = integrationOptionsProvider.GetOptions();

            parser = new GherkinTextBufferParser(this, tracer);
//TODO: enable when analizer is implemented
//            if (integrationOptions.EnableAnalysis)
//                analyzer = new GherkinScopeAnalyzer(this, visualStudioTracer);

            GherkinProcessingScheduler = new GherkinProcessingScheduler(tracer, integrationOptions.EnableAnalysis);

            GeneratorServices = new VsGeneratorServices(project, new VsSpecFlowConfigurationReader(project, tracer), tracer, integrationOptionsProvider);
        }
        internal VsProjectScope(Project project, DteWithEvents dteWithEvents, GherkinFileEditorClassifications classifications, IVisualStudioTracer tracer, IIntegrationOptionsProvider integrationOptionsProvider)
        {
            Classifications = classifications;
            this.project = project;
            this.dteWithEvents = dteWithEvents;
            this.tracer = tracer;
            this.integrationOptionsProvider = integrationOptionsProvider;

            var integrationOptions = integrationOptionsProvider.GetOptions();

            parser = new GherkinTextBufferParser(this, tracer);
//TODO: enable when analizer is implemented
//            if (integrationOptions.EnableAnalysis)
//                analyzer = new GherkinScopeAnalyzer(this, visualStudioTracer);

            GherkinProcessingScheduler = new GherkinProcessingScheduler(tracer, integrationOptions.EnableAnalysis);

            GeneratorServices = new VsGeneratorServices(project, new VsSpecFlowConfigurationReader(project, tracer), tracer);
        }