Esempio n. 1
0
 // 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;
 }
Esempio n. 6
0
 // 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;
 }
Esempio n. 9
0
        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;
 }
Esempio n. 12
0
 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;
 }