// internal for testing purposes internal DiagnosticAnalyzerDriver( Project project, ISyntaxNodeAnalyzerService syntaxNodeAnalyzerService, CancellationToken cancellationToken) { this.project = project; this.cancellationToken = cancellationToken; this.syntaxNodeAnalyzerService = syntaxNodeAnalyzerService; this.generatedCodeService = project.Solution.Workspace.Services.GetService <IGeneratedCodeRecognitionService>(); this.analyzerDriverService = project.LanguageServices.GetService <IAnalyzerDriverService>(); this.descendantExecutableNodesMap = null; this.analyzerOptions = this.project.AnalyzerOptions; }
public DiagnosticAnalyzerDriver( Project project, BaseDiagnosticIncrementalAnalyzer owner, CancellationToken cancellationToken) { _project = project; _owner = owner; _syntaxNodeAnalyzerService = project.LanguageServices.GetService <ISyntaxNodeAnalyzerService>(); _cancellationToken = cancellationToken; _generatedCodeService = project.Solution.Workspace.Services.GetService <IGeneratedCodeRecognitionService>(); _analyzerDriverService = project.LanguageServices.GetService <IAnalyzerDriverService>(); _analyzerOptions = new WorkspaceAnalyzerOptions(project.AnalyzerOptions, project.Solution.Workspace); _onAnalyzerException = owner.GetOnAnalyzerException(project.Id); _onAnalyzerException_NoTelemetryLogging = owner.GetOnAnalyzerException_NoTelemetryLogging(project.Id); }
// internal for testing purposes internal DiagnosticAnalyzerDriver( Project project, ISyntaxNodeAnalyzerService syntaxNodeAnalyzerService, AbstractHostDiagnosticUpdateSource hostDiagnosticUpdateSource, CancellationToken cancellationToken) { _project = project; _cancellationToken = cancellationToken; _syntaxNodeAnalyzerService = syntaxNodeAnalyzerService; _generatedCodeService = project.Solution.Workspace.Services.GetService <IGeneratedCodeRecognitionService>(); _analyzerDriverService = project.LanguageServices.GetService <IAnalyzerDriverService>(); _hostDiagnosticUpdateSource = hostDiagnosticUpdateSource; _descendantExecutableNodesMap = null; _analyzerOptions = _project.AnalyzerOptions; }
public DiagnosticAnalyzerDriver( Project project, BaseDiagnosticIncrementalAnalyzer owner, CancellationToken cancellationToken) { _project = project; _owner = owner; _syntaxNodeAnalyzerService = project.LanguageServices.GetService<ISyntaxNodeAnalyzerService>(); _cancellationToken = cancellationToken; _generatedCodeService = project.Solution.Workspace.Services.GetService<IGeneratedCodeRecognitionService>(); _analyzerDriverService = project.LanguageServices.GetService<IAnalyzerDriverService>(); _analyzerOptions = new WorkspaceAnalyzerOptions(project.AnalyzerOptions, project.Solution.Workspace); _onAnalyzerException = owner.GetOnAnalyzerException(project.Id); _onAnalyzerException_NoTelemetryLogging = owner.GetOnAnalyzerException_NoTelemetryLogging(project.Id); }
// internal for testing purposes internal DiagnosticAnalyzerDriver( Project project, ISyntaxNodeAnalyzerService syntaxNodeAnalyzerService, AbstractHostDiagnosticUpdateSource hostDiagnosticUpdateSource, Action <Exception, DiagnosticAnalyzer, Diagnostic> overriddenOnAnalyzerException = null, CancellationToken cancellationToken = default(CancellationToken)) { _project = project; _cancellationToken = cancellationToken; _syntaxNodeAnalyzerService = syntaxNodeAnalyzerService; _generatedCodeService = project.Solution.Workspace.Services.GetService <IGeneratedCodeRecognitionService>(); _analyzerDriverService = project.LanguageServices.GetService <IAnalyzerDriverService>(); _hostDiagnosticUpdateSource = hostDiagnosticUpdateSource; _analyzerOptions = new WorkspaceAnalyzerOptions(_project.AnalyzerOptions, _project.Solution.Workspace); _onAnalyzerException = overriddenOnAnalyzerException ?? Default_OnAnalyzerException; _onAnalyzerException_NoTelemetryLogging = overriddenOnAnalyzerException ?? Default_OnAnalyzerException_NoTelemetryLogging; }
// internal for testing purposes internal DiagnosticAnalyzerDriver( Document document, TextSpan?span, SyntaxNode root, ISyntaxNodeAnalyzerService syntaxNodeAnalyzerService, CancellationToken cancellationToken, bool testOnly_DonotCatchAnalyzerExceptions = false) { this.document = document; this.span = span; this.root = root; this.project = document.Project; this.syntaxNodeAnalyzerService = syntaxNodeAnalyzerService; this.cancellationToken = cancellationToken; this.descendantExecutableNodesMap = new Dictionary <SyntaxNode, ImmutableArray <SyntaxNode> >(); this.syntaxFacts = document.Project.LanguageServices.GetService <ISyntaxFactsService>(); this.generatedCodeService = document.Project.Solution.Workspace.Services.GetService <IGeneratedCodeRecognitionService>(); this.analyzerDriverService = document.Project.LanguageServices.GetService <IAnalyzerDriverService>(); this.analyzerOptions = new WorkspaceAnalyzerOptions(this.project.AnalyzerOptions, this.project.Solution.Workspace); this.testOnly_DonotCatchAnalyzerExceptions = testOnly_DonotCatchAnalyzerExceptions; }
// internal for testing purposes internal DiagnosticAnalyzerDriver( Document document, TextSpan?span, SyntaxNode root, ISyntaxNodeAnalyzerService syntaxNodeAnalyzerService, AbstractHostDiagnosticUpdateSource hostDiagnosticUpdateSource, CancellationToken cancellationToken, bool testOnly_DonotCatchAnalyzerExceptions = false) { _document = document; _span = span; _root = root; _project = document.Project; _syntaxNodeAnalyzerService = syntaxNodeAnalyzerService; _hostDiagnosticUpdateSource = hostDiagnosticUpdateSource; _cancellationToken = cancellationToken; _descendantExecutableNodesMap = new Dictionary <SyntaxNode, ImmutableArray <SyntaxNode> >(); _syntaxFacts = document.Project.LanguageServices.GetService <ISyntaxFactsService>(); _generatedCodeService = document.Project.Solution.Workspace.Services.GetService <IGeneratedCodeRecognitionService>(); _analyzerDriverService = document.Project.LanguageServices.GetService <IAnalyzerDriverService>(); _analyzerOptions = new WorkspaceAnalyzerOptions(_project.AnalyzerOptions, _project.Solution.Workspace); _testOnly_DonotCatchAnalyzerExceptions = testOnly_DonotCatchAnalyzerExceptions; }
// internal for testing purposes internal DiagnosticAnalyzerDriver( Document document, TextSpan?span, SyntaxNode root, ISyntaxNodeAnalyzerService syntaxNodeAnalyzerService, AbstractHostDiagnosticUpdateSource hostDiagnosticUpdateSource, Action <Exception, DiagnosticAnalyzer, Diagnostic> overriddenOnAnalyzerException = null, CancellationToken cancellationToken = default(CancellationToken)) { _document = document; _span = span; _root = root; _project = document.Project; _syntaxNodeAnalyzerService = syntaxNodeAnalyzerService; _hostDiagnosticUpdateSource = hostDiagnosticUpdateSource; _cancellationToken = cancellationToken; _descendantExecutableNodesMap = new Dictionary <SyntaxNode, ImmutableArray <SyntaxNode> >(); _syntaxFacts = document.Project.LanguageServices.GetService <ISyntaxFactsService>(); _generatedCodeService = document.Project.Solution.Workspace.Services.GetService <IGeneratedCodeRecognitionService>(); _analyzerDriverService = document.Project.LanguageServices.GetService <IAnalyzerDriverService>(); _analyzerOptions = new WorkspaceAnalyzerOptions(_project.AnalyzerOptions, _project.Solution.Workspace); _onAnalyzerException = overriddenOnAnalyzerException ?? Default_OnAnalyzerException; _onAnalyzerException_NoTelemetryLogging = overriddenOnAnalyzerException ?? Default_OnAnalyzerException_NoTelemetryLogging; }
internal GenerateTypeDialogViewModel( Document document, INotificationService notificationService, IProjectManagementService projectManagementService, ISyntaxFactsService syntaxFactsService, IGeneratedCodeRecognitionService generatedCodeService, GenerateTypeDialogOptions generateTypeDialogOptions, string typeName, string fileExtension, bool isNewFile, string accessSelectString, string typeKindSelectString) { _generateTypeDialogOptions = generateTypeDialogOptions; InitialSetup(document.Project.Language); var dependencyGraph = document.Project.Solution.GetProjectDependencyGraph(); // Initialize the dependencies var projectListing = new List <ProjectSelectItem>(); // Populate the project list // Add the current project projectListing.Add(new ProjectSelectItem(document.Project)); // Add the rest of the projects // Adding dependency graph to avoid cyclic dependency projectListing.AddRange(document.Project.Solution.Projects .Where(p => p != document.Project && !dependencyGraph.GetProjectsThatThisProjectTransitivelyDependsOn(p.Id).Contains(document.Project.Id)) .Select(p => new ProjectSelectItem(p))); this.ProjectList = projectListing; const string attributeSuffix = "Attribute"; _typeName = generateTypeDialogOptions.IsAttribute && !typeName.EndsWith(attributeSuffix, StringComparison.Ordinal) ? typeName + attributeSuffix : typeName; this.FileName = typeName + fileExtension; _document = document; this.SelectedProject = document.Project; this.SelectedDocument = document; _notificationService = notificationService; _generatedCodeService = generatedCodeService; this.AccessList = document.Project.Language == LanguageNames.CSharp ? _csharpAccessList : _visualBasicAccessList; this.AccessSelectIndex = this.AccessList.Contains(accessSelectString) ? this.AccessList.IndexOf(accessSelectString) : 0; this.IsAccessListEnabled = true; this.KindList = document.Project.Language == LanguageNames.CSharp ? _csharpTypeKindList : _visualBasicTypeKindList; this.KindSelectIndex = this.KindList.Contains(typeKindSelectString) ? this.KindList.IndexOf(typeKindSelectString) : 0; this.ProjectSelectIndex = 0; this.DocumentSelectIndex = 0; _isNewFile = isNewFile; _syntaxFactsService = syntaxFactsService; _projectManagementService = projectManagementService; if (projectManagementService != null) { this.ProjectFolders = _projectManagementService.GetFolders(this.SelectedProject.Id, this.SelectedProject.Solution.Workspace); } else { this.ProjectFolders = SpecializedCollections.EmptyList <string>(); } }
internal GenerateTypeDialogViewModel( Document document, INotificationService notificationService, IProjectManagementService projectManagementService, ISyntaxFactsService syntaxFactsService, IGeneratedCodeRecognitionService generatedCodeService, GenerateTypeDialogOptions generateTypeDialogOptions, string typeName, string fileExtension, bool isNewFile, string accessSelectString, string typeKindSelectString) { _generateTypeDialogOptions = generateTypeDialogOptions; InitialSetup(document.Project.Language); var dependencyGraph = document.Project.Solution.GetProjectDependencyGraph(); // Initialize the dependencies var projectListing = new List<ProjectSelectItem>(); // Populate the project list // Add the current project projectListing.Add(new ProjectSelectItem(document.Project)); // Add the rest of the projects // Adding dependency graph to avoid cyclic dependency projectListing.AddRange(document.Project.Solution.Projects .Where(p => p != document.Project && !dependencyGraph.GetProjectsThatThisProjectTransitivelyDependsOn(p.Id).Contains(document.Project.Id)) .Select(p => new ProjectSelectItem(p))); this.ProjectList = projectListing; const string attributeSuffix = "Attribute"; _typeName = generateTypeDialogOptions.IsAttribute && !typeName.EndsWith(attributeSuffix, StringComparison.Ordinal) ? typeName + attributeSuffix : typeName; this.FileName = typeName + fileExtension; _document = document; this.SelectedProject = document.Project; this.SelectedDocument = document; _notificationService = notificationService; _generatedCodeService = generatedCodeService; this.AccessList = document.Project.Language == LanguageNames.CSharp ? _csharpAccessList : _visualBasicAccessList; this.AccessSelectIndex = this.AccessList.Contains(accessSelectString) ? this.AccessList.IndexOf(accessSelectString) : 0; this.IsAccessListEnabled = true; this.KindList = document.Project.Language == LanguageNames.CSharp ? _csharpTypeKindList : _visualBasicTypeKindList; this.KindSelectIndex = this.KindList.Contains(typeKindSelectString) ? this.KindList.IndexOf(typeKindSelectString) : 0; this.ProjectSelectIndex = 0; this.DocumentSelectIndex = 0; _isNewFile = isNewFile; _syntaxFactsService = syntaxFactsService; _projectManagementService = projectManagementService; if (projectManagementService != null) { this.ProjectFolders = _projectManagementService.GetFolders(this.SelectedProject.Id, this.SelectedProject.Solution.Workspace); } else { this.ProjectFolders = SpecializedCollections.EmptyList<string>(); } }
public VisualStudioGenerateTypeOptionsService(IGeneratedCodeRecognitionService generatedCodeService) { _generatedCodeService = generatedCodeService; }
public VisualStudioGenerateTypeOptionsService(IGeneratedCodeRecognitionService generatedCodeService) { _generatedCodeService = generatedCodeService; }
// internal for testing purposes internal DiagnosticAnalyzerDriver( Project project, ISyntaxNodeAnalyzerService syntaxNodeAnalyzerService, CancellationToken cancellationToken) { _project = project; _cancellationToken = cancellationToken; _syntaxNodeAnalyzerService = syntaxNodeAnalyzerService; _generatedCodeService = project.Solution.Workspace.Services.GetService<IGeneratedCodeRecognitionService>(); _analyzerDriverService = project.LanguageServices.GetService<IAnalyzerDriverService>(); _descendantExecutableNodesMap = null; _analyzerOptions = _project.AnalyzerOptions; }
// internal for testing purposes internal DiagnosticAnalyzerDriver( Document document, TextSpan? span, SyntaxNode root, ISyntaxNodeAnalyzerService syntaxNodeAnalyzerService, CancellationToken cancellationToken, bool testOnly_DonotCatchAnalyzerExceptions = false) { _document = document; _span = span; _root = root; _project = document.Project; _syntaxNodeAnalyzerService = syntaxNodeAnalyzerService; _cancellationToken = cancellationToken; _descendantExecutableNodesMap = new Dictionary<SyntaxNode, ImmutableArray<SyntaxNode>>(); _syntaxFacts = document.Project.LanguageServices.GetService<ISyntaxFactsService>(); _generatedCodeService = document.Project.Solution.Workspace.Services.GetService<IGeneratedCodeRecognitionService>(); _analyzerDriverService = document.Project.LanguageServices.GetService<IAnalyzerDriverService>(); _analyzerOptions = new WorkspaceAnalyzerOptions(_project.AnalyzerOptions, _project.Solution.Workspace); _testOnly_DonotCatchAnalyzerExceptions = testOnly_DonotCatchAnalyzerExceptions; }