private static IRelatedSymbolProvider CreateRelatedSymbolProvider([NotNull] IRoslynWorkspaceProvider roslynWorkspaceProvider)
 {
     return(new RelatedSymbolProvider(
                roslynWorkspaceProvider,
                new RoslynSymbolTranslator(excludeTrivialTypes: true),
                new SymbolEqualityComparer()));
 }
 public RelatedSymbolProvider(
     [NotNull] IRoslynWorkspaceProvider roslynWorkspaceProvider,
     [NotNull] IEqualityComparer <ISymbol> symbolEqualityComparer)
 {
     _roslynWorkspaceProvider = roslynWorkspaceProvider;
     _symbolEqualityComparer  = symbolEqualityComparer;
     _symbolFinderMethods     = CreateSymbolFinderMethodsMap();
 }
Exemplo n.º 3
0
 public RoslynBasedModelService(
     [NotNull] IModelService modelService,
     [NotNull] IRelatedSymbolProvider relatedSymbolProvider,
     [NotNull] IEqualityComparer <ISymbol> symbolEqualityComparer,
     [NotNull] IRoslynWorkspaceProvider roslynWorkspaceProvider)
 {
     _modelService            = modelService;
     _relatedSymbolProvider   = relatedSymbolProvider;
     _symbolEqualityComparer  = symbolEqualityComparer;
     _roslynWorkspaceProvider = roslynWorkspaceProvider;
     _asyncLock = new AsyncLock();
 }
        public DiagramToolApplication(
            [NotNull] IVisualizationService visualizationService,
            [NotNull] IRoslynWorkspaceProvider roslynWorkspaceProvider,
            [NotNull] IRoslynBasedModelService roslynBasedModelService,
            [NotNull] IHostUiService hostUiService)
        {
            var diagramId = visualizationService.CreateDiagram();

            DiagramService = visualizationService.GetDiagramService(diagramId);

            DiagramWindowService = (IDiagramWindowService)visualizationService.GetDiagramUiService(diagramId);
            DiagramWindowService.ImageExportDpi           = Dpi.Dpi150;
            DiagramWindowService.DiagramNodeInvoked      += OnShowSourceRequested;
            DiagramWindowService.ShowModelItemsRequested += OnShowItemsRequested;

            RoslynWorkspaceProvider = roslynWorkspaceProvider;
            RoslynBasedModelService = roslynBasedModelService;
            HostUiService           = hostUiService;
        }
        private static IRelatedSymbolProvider CreateRelatedSymbolProvider([NotNull] IRoslynWorkspaceProvider roslynWorkspaceProvider)
        {
            var symbolEqualityComparer = new SymbolEqualityComparer();

            return(new RelatedSymbolProvider(roslynWorkspaceProvider, symbolEqualityComparer));
        }