public IGherkinProcessingTask Merge(IGherkinProcessingTask other) { if (other is PingTask) { return(this); } AnalyzingTask otherAnalyzingTask = other as AnalyzingTask; if (otherAnalyzingTask == null || languageService != otherAnalyzingTask.languageService) { return(null); } if (otherAnalyzingTask.change.EntireScopeChanged) { return(otherAnalyzingTask); } if (change.EntireScopeChanged) { return(new AnalyzingTask(languageService, GherkinFileScopeChange.CreateEntireScopeChange(otherAnalyzingTask.change.GherkinFileScope))); } return(new AnalyzingTask(languageService, Merge(change, otherAnalyzingTask.change))); }
private void EnqueueAnalyzingRequest(GherkinFileScopeChange scopeChange) { if (!AnalyzingEnabled) { return; } var task = new AnalyzingTask(this, scopeChange); projectScope.GherkinProcessingScheduler.EnqueueAnalyzingRequest(task); // task.Apply(); // synchronous execution }
private void EnqueueAnalyzingRequest(GherkinFileScopeChange scopeChange) { if (!AnalyzingEnabled) return; var task = new AnalyzingTask(this, scopeChange); projectScope.GherkinProcessingScheduler.EnqueueAnalyzingRequest(task); // task.Apply(); // synchronous execution }