コード例 #1
0
        public LambdaPsiHost(ISolution solution, ISymbolCache symbolCache, PsiIconManager psiIconManager, IconHost iconHost,
                             ProjectModelViewHost projectModelViewHost, IShellLocks locks, ILogger logger)
        {
            _symbolCache          = symbolCache;
            _psiIconManager       = psiIconManager;
            _iconHost             = iconHost;
            _projectModelViewHost = projectModelViewHost;
            _locks  = locks;
            _logger = logger;

            var model = solution.GetProtocolSolution().GetLambdaPsiModel();

            model.DetermineHandlers.Set((lifetime, unit) =>
            {
                var task = new RdTask <List <HandlerCompletionItem> >();
                task.Set(DetermineHandlers(solution));
                return(task);
            });

            model.IsHandlerExists.Set((lifetime, request) =>
            {
                var task       = new RdTask <bool>();
                var className  = request.ClassName;
                var methodName = request.MethodName;
                var projectId  = request.ProjectId;

                var handlerExists = IsHandlerExists(lifetime, projectId, className, methodName);
                task.Set(handlerExists);
                return(task);
            });
        }
コード例 #2
0
 public CognitiveComplexityProblemAnalyzer(
     CognitiveComplexityCodeInsightsProvider codeInsightsProvider,
     IconHost iconHost)
 {
     _codeInsightsProvider = codeInsightsProvider;
     _iconHost             = iconHost;
 }
コード例 #3
0
 public ProblemAnalyzer(
     OverallCodeInsightsProvider overallProvider,
     IconHost iconHost)
 {
     _overallProvider = overallProvider;
     _iconHost        = iconHost;
 }
コード例 #4
0
 public RiderEventHandlerDetector(ISolution solution,
                                  CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                  IApplicationWideContextBoundSettingStore settingsStore,
                                  AssetIndexingSupport assetIndexingSupport,
                                  PerformanceCriticalCodeCallGraphMarksProvider marksProvider,
                                  UnityEventsElementContainer unityEventsElementContainer,
                                  UnityCodeInsightProvider codeInsightProvider,
                                  UnityUsagesCodeVisionProvider usagesCodeVisionProvider,
                                  DeferredCacheController deferredCacheController,
                                  UnitySolutionTracker solutionTracker,
                                  BackendUnityHost backendUnityHost,
                                  IconHost iconHost, AssetSerializationMode assetSerializationMode,
                                  IElementIdProvider elementIdProvider)
     : base(solution, settingsStore, callGraphSwaExtensionProvider, unityEventsElementContainer, marksProvider,
            elementIdProvider)
 {
     myAssetIndexingSupport     = assetIndexingSupport;
     myCodeInsightProvider      = codeInsightProvider;
     myUsagesCodeVisionProvider = usagesCodeVisionProvider;
     myDeferredCacheController  = deferredCacheController;
     mySolutionTracker          = solutionTracker;
     myBackendUnityHost         = backendUnityHost;
     myIconHost = iconHost;
     myAssetSerializationMode = assetSerializationMode;
 }
コード例 #5
0
        public LambdaPsiHost(Lifetime lifetime, ISolution solution, ISymbolCache symbolCache, PsiIconManager psiIconManager, IconHost iconHost,
                             ProjectModelViewHost projectModelViewHost, IShellLocks locks, ILogger logger)
        {
            _symbolCache          = symbolCache;
            _psiIconManager       = psiIconManager;
            _iconHost             = iconHost;
            _projectModelViewHost = projectModelViewHost;
            _locks  = locks;
            _logger = logger;

            var model = solution.GetProtocolSolution().GetLambdaPsiModel();

            model.DetermineHandlersRequest.Advise(lifetime, request =>
            {
                var handlers = DetermineHandlers(solution);
                model.DetermineHandlersResponse(new DetermineHandlersResponse(request.RequestId, handlers));
            });

            model.IsHandlerExistRequest.Advise(lifetime, request =>
            {
                var className  = request.ClassName;
                var methodName = request.MethodName;
                var projectId  = request.ProjectId;

                var handlerExists = IsHandlerExists(lifetime, projectId, className, methodName);
                model.IsHandlerExistResponse(new HandlerExistResponse(request.RequestId, handlerExists));
            });
        }
コード例 #6
0
 protected UnityYamlUsageGroupingRuleBase(string name, IconId iconId, [CanBeNull] IconHost iconHost,
                                          double sortingPriority)
 {
     Name            = name;
     IconId          = iconId;
     SortingPriority = sortingPriority;
     myIconHost      = iconHost;
 }
 public BurstCodeVisionProvider(ISolution solution,
                                IApplicationWideContextBoundSettingStore store,
                                UnityCodeInsightProvider codeInsightProvider, IconHost iconHost)
 {
     mySolution            = solution;
     myTextControlManager  = mySolution.GetComponent <ITextControlManager>();
     mySettingsStore       = store;
     myCodeInsightProvider = codeInsightProvider;
     myIconHost            = iconHost;
 }
コード例 #8
0
 public RiderUnityCommonIconProvider(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                     SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnityApi api, UnityCodeInsightProvider codeInsightProvider,
                                     UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker, IconHost iconHost)
     : base(solution, swa, callGraphSwaExtensionProvider, settingsStore, analyzer, api)
 {
     myCodeInsightProvider = codeInsightProvider;
     mySolutionTracker     = solutionTracker;
     myConnectionTracker   = connectionTracker;
     myIconHost            = iconHost;
 }
 public RiderUnityImplicitUsageHighlightingContributor(ISolution solution, ITextControlManager textControlManager,
                                                       UnityCodeInsightFieldUsageProvider fieldUsageProvider, UnityCodeInsightProvider codeInsightProvider,
                                                       ISettingsStore settingsStore, ConnectionTracker connectionTracker, IconHost iconHost = null)
     : base(solution, settingsStore, textControlManager)
 {
     myFieldUsageProvider  = fieldUsageProvider;
     myCodeInsightProvider = codeInsightProvider;
     myConnectionTracker   = connectionTracker;
     myIconHost            = iconHost;
 }
コード例 #10
0
 public RiderInitialiseOnLoadCctorDetector(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                           SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnityCodeInsightFieldUsageProvider fieldUsageProvider,
                                           UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                                           IconHost iconHost)
     : base(solution, swa, callGraphSwaExtensionProvider, settingsStore, analyzer)
 {
     myFieldUsageProvider = fieldUsageProvider;
     mySolutionTracker    = solutionTracker;
     myConnectionTracker  = connectionTracker;
     myIconHost           = iconHost;
 }
コード例 #11
0
 public RiderUnityCommonIconProvider(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                     SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityApi api, UnityCodeInsightProvider codeInsightProvider,
                                     UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker, IconHost iconHost, IElementIdProvider provider)
     : base(solution, callGraphSwaExtensionProvider, settingsStore, marksProvider, api, provider)
 {
     myCodeInsightProvider = codeInsightProvider;
     mySolutionTracker     = solutionTracker;
     myConnectionTracker   = connectionTracker;
     myIconHost            = iconHost;
     myProvider            = provider;
 }
コード例 #12
0
 public RiderEventHandlerDetector(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                  SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnitySceneDataLocalCache cache,
                                  UnityCodeInsightProvider codeInsightProvider,
                                  UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                                  IconHost iconHost)
     : base(solution, swa, settingsStore, callGraphSwaExtensionProvider, cache, analyzer)
 {
     myCodeInsightProvider = codeInsightProvider;
     mySolutionTracker     = solutionTracker;
     myConnectionTracker   = connectionTracker;
     myIconHost            = iconHost;
 }
コード例 #13
0
 public BurstCodeVisionProvider(
     Lifetime lifetime,
     IApplicationWideContextBoundSettingStore store,
     BurstCodeInsightProvider burstCodeInsightProvider,
     IconHost iconHost,
     BurstCodeInsights codeInsights) : base(lifetime, store, codeInsights)
 {
     mySettingsStore            = store;
     myBurstCodeInsightProvider = burstCodeInsightProvider;
     myIconHost     = iconHost;
     myCodeInsights = codeInsights;
 }
コード例 #14
0
 public RiderInitialiseOnLoadCctorDetector(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                           SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityCodeInsightFieldUsageProvider fieldUsageProvider,
                                           UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                                           IconHost iconHost, IElementIdProvider provider)
     : base(solution, callGraphSwaExtensionProvider, settingsStore, marksProvider, provider)
 {
     myFieldUsageProvider = fieldUsageProvider;
     mySolutionTracker    = solutionTracker;
     myConnectionTracker  = connectionTracker;
     myIconHost           = iconHost;
     myProvider           = provider;
 }
コード例 #15
0
 public RiderInitialiseOnLoadCctorDetector(ISolution solution,
                                           IApplicationWideContextBoundSettingStore settingsStore,
                                           UnityCodeInsightFieldUsageProvider fieldUsageProvider,
                                           UnitySolutionTracker solutionTracker,
                                           BackendUnityHost backendUnityHost,
                                           IconHost iconHost, PerformanceCriticalContextProvider contextProvider)
     : base(solution, settingsStore, contextProvider)
 {
     myFieldUsageProvider = fieldUsageProvider;
     mySolutionTracker    = solutionTracker;
     myBackendUnityHost   = backendUnityHost;
     myIconHost           = iconHost;
 }
コード例 #16
0
 public RiderFieldDetector(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                           SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnityApi unityApi,
                           UnityCodeInsightFieldUsageProvider fieldUsageProvider,
                           UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                           IconHost iconHost, AssetSerializationMode assetSerializationMode)
     : base(solution, swa, callGraphSwaExtensionProvider, settingsStore, analyzer, unityApi)
 {
     myFieldUsageProvider     = fieldUsageProvider;
     mySolutionTracker        = solutionTracker;
     myConnectionTracker      = connectionTracker;
     myIconHost               = iconHost;
     myAssetSerializationMode = assetSerializationMode;
 }
コード例 #17
0
 public RiderFieldDetector(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                           SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityApi unityApi,
                           UnityCodeInsightFieldUsageProvider fieldUsageProvider, DeferredCacheController deferredCacheController,
                           UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                           IconHost iconHost, AssetSerializationMode assetSerializationMode, IElementIdProvider provider)
     : base(solution, callGraphSwaExtensionProvider, settingsStore, marksProvider, unityApi, provider)
 {
     myFieldUsageProvider      = fieldUsageProvider;
     myDeferredCacheController = deferredCacheController;
     mySolutionTracker         = solutionTracker;
     myConnectionTracker       = connectionTracker;
     myIconHost = iconHost;
     myAssetSerializationMode = assetSerializationMode;
 }
コード例 #18
0
        public LambdaHost(ISolution solution, ISymbolCache symbolCache, PsiIconManager psiIconManager, IconHost iconHost)
        {
            _model          = solution.GetProtocolSolution().GetLambdaModel();
            _symbolCache    = symbolCache;
            _psiIconManager = psiIconManager;
            _iconHost       = iconHost;

            _model.DetermineHandlers.Set((lifetime, unit) =>
            {
                var task = new RdTask <List <HandlerCompletionItem> >();
                task.Set(DetermineHandlers(solution));
                return(task);
            });
        }
コード例 #19
0
 public ComplexityCodeInsightsHighlight(
     ITypeMemberDeclaration declaration,
     int complexity,
     int percentage,
     ICodeInsightsProvider provider,
     IconHost iconHost)
     : base(
         declaration.GetNameDocumentRange(),
         GetLensText(percentage),
         GetMoreText(complexity, percentage),
         provider,
         declaration.DeclaredElement,
         iconHost.Transform(GetIconId(percentage)))
 {
 }
コード例 #20
0
 public RiderInitialiseOnLoadCctorDetector(ISolution solution,
                                           CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                           IApplicationWideContextBoundSettingStore settingsStore,
                                           PerformanceCriticalCodeCallGraphMarksProvider marksProvider,
                                           UnityCodeInsightFieldUsageProvider fieldUsageProvider,
                                           UnitySolutionTracker solutionTracker,
                                           BackendUnityHost backendUnityHost,
                                           IconHost iconHost, IElementIdProvider elementIdProvider)
     : base(solution, callGraphSwaExtensionProvider, settingsStore, marksProvider, elementIdProvider)
 {
     myFieldUsageProvider = fieldUsageProvider;
     mySolutionTracker    = solutionTracker;
     myBackendUnityHost   = backendUnityHost;
     myIconHost           = iconHost;
 }
コード例 #21
0
 public RiderUnityCommonIconProvider(ISolution solution,
                                     IApplicationWideContextBoundSettingStore settingsStore,
                                     UnityApi api,
                                     UnityCodeInsightProvider codeInsightProvider,
                                     UnitySolutionTracker solutionTracker,
                                     BackendUnityHost backendUnityHost,
                                     IconHost iconHost, PerformanceCriticalContextProvider contextProvider,
                                     IEnumerable <IPerformanceAnalysisBulbItemsProvider> menuItemProviders)
     : base(solution, api, settingsStore, contextProvider, menuItemProviders)
 {
     myCodeInsightProvider = codeInsightProvider;
     mySolutionTracker     = solutionTracker;
     myBackendUnityHost    = backendUnityHost;
     myIconHost            = iconHost;
 }
コード例 #22
0
 public RiderUnityCommonIconProvider(ISolution solution,
                                     CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                     IApplicationWideContextBoundSettingStore settingsStore,
                                     PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityApi api,
                                     UnityCodeInsightProvider codeInsightProvider,
                                     UnitySolutionTracker solutionTracker,
                                     BackendUnityHost backendUnityHost,
                                     IconHost iconHost, IElementIdProvider provider)
     : base(solution, api, callGraphSwaExtensionProvider, settingsStore, marksProvider, provider)
 {
     myCodeInsightProvider = codeInsightProvider;
     mySolutionTracker     = solutionTracker;
     myBackendUnityHost    = backendUnityHost;
     myIconHost            = iconHost;
     myProvider            = provider;
 }
 public RiderUnityCommonIconProvider(ISolution solution,
                                     IApplicationWideContextBoundSettingStore settingsStore,
                                     UnityApi api,
                                     UnityCodeInsightProvider codeInsightProvider,
                                     UnitySolutionTracker solutionTracker,
                                     BackendUnityHost backendUnityHost,
                                     IconHost iconHost, PerformanceCriticalContextProvider contextProvider)
     : base(solution, api, settingsStore, contextProvider)
 {
     mySolution            = solution;
     myTextControlManager  = mySolution.GetComponent <ITextControlManager>();
     myCodeInsightProvider = codeInsightProvider;
     mySolutionTracker     = solutionTracker;
     myBackendUnityHost    = backendUnityHost;
     myIconHost            = iconHost;
 }
コード例 #24
0
 public RiderTypeDetector(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                          SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityApi unityApi,
                          AssetIndexingSupport assetIndexingSupport, UnityUsagesCodeVisionProvider usagesCodeVisionProvider, UnityCodeInsightProvider codeInsightProvider, AssetUsagesElementContainer assetUsagesElementContainer,
                          DeferredCacheController deferredCacheController, UnitySolutionTracker solutionTracker, ConnectionTracker connectionTracker,
                          IconHost iconHost, AssetSerializationMode assetSerializationMode, IElementIdProvider provider)
     : base(solution, callGraphSwaExtensionProvider, settingsStore, unityApi, marksProvider, provider)
 {
     myAssetIndexingSupport        = assetIndexingSupport;
     myUsagesCodeVisionProvider    = usagesCodeVisionProvider;
     myCodeInsightProvider         = codeInsightProvider;
     myAssetUsagesElementContainer = assetUsagesElementContainer;
     myDeferredCacheController     = deferredCacheController;
     mySolutionTracker             = solutionTracker;
     myConnectionTracker           = connectionTracker;
     myIconHost = iconHost;
     myAssetSerializationMode = assetSerializationMode;
 }
コード例 #25
0
 public RiderFieldDetector(ISolution solution,
                           IApplicationWideContextBoundSettingStore settingsStore,
                           UnityApi unityApi,
                           UnityCodeInsightFieldUsageProvider fieldUsageProvider,
                           DeferredCacheController deferredCacheController,
                           UnitySolutionTracker solutionTracker,
                           BackendUnityHost backendUnityHost,
                           IconHost iconHost, AssetSerializationMode assetSerializationMode,
                           PerformanceCriticalContextProvider contextProvider)
     : base(solution, settingsStore, unityApi, contextProvider)
 {
     myFieldUsageProvider      = fieldUsageProvider;
     myDeferredCacheController = deferredCacheController;
     mySolutionTracker         = solutionTracker;
     myBackendUnityHost        = backendUnityHost;
     myIconHost = iconHost;
     myAssetSerializationMode = assetSerializationMode;
 }
コード例 #26
0
        public RiderUnityHighlightingContributor(Lifetime lifetime, ISolution solution, ITextControlManager textControlManager,
                                                 UnityCodeInsightFieldUsageProvider fieldUsageProvider, UnityCodeInsightProvider codeInsightProvider,
                                                 ISettingsStore settingsStore, ConnectionTracker connectionTracker, SolutionAnalysisService swa, IShellLocks locks,
                                                 PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnitySolutionTracker solutionTracker, UnityApi unityApi,
                                                 UnityEventHandlerReferenceCache handlerReferenceCache, IconHost iconHost = null)
            : base(solution, settingsStore, textControlManager, swa, analyzer)
        {
            myFieldUsageProvider    = fieldUsageProvider;
            myCodeInsightProvider   = codeInsightProvider;
            myConnectionTracker     = connectionTracker;
            mySolutionTracker       = solutionTracker;
            myUnityApi              = unityApi;
            myHandlerReferenceCache = handlerReferenceCache;
            myIconHost              = iconHost;
            var invalidateDaemonResultGroupingEvent = locks.GroupingEvents.CreateEvent(lifetime,
                                                                                       "UnityHiglightingContributor::InvalidateDaemonResults", TimeSpan.FromSeconds(5), Rgc.Guarded,
                                                                                       () =>
            {
                solution.GetComponent <IDaemon>().Invalidate();
            });

            myConnectionTracker.State.Change.Advise_HasNew(lifetime, value =>
            {
                var old  = value.HasOld ? value.Old : UnityEditorState.Disconnected;
                var @new = value.New;

                // disconnect -> ??? -> disconnect is rarely case, we do not check it
                // connected -> ??? -> connected is the most important case
                if (old != UnityEditorState.Disconnected && @new != UnityEditorState.Disconnected)
                {
                    invalidateDaemonResultGroupingEvent.CancelIncoming();
                }
                else if (old == UnityEditorState.Disconnected && @new != UnityEditorState.Disconnected ||
                         @new == UnityEditorState.Disconnected && old != UnityEditorState.Disconnected)
                {
                    invalidateDaemonResultGroupingEvent.FireIncoming();
                }
            });
        }
コード例 #27
0
 public RiderTypeDetector(ISolution solution,
                          IApplicationWideContextBoundSettingStore settingsStore,
                          UnityApi unityApi,
                          AssetIndexingSupport assetIndexingSupport,
                          UnityUsagesCodeVisionProvider usagesCodeVisionProvider,
                          UnityCodeInsightProvider codeInsightProvider,
                          AssetScriptUsagesElementContainer assetScriptUsagesElementContainer,
                          DeferredCacheController deferredCacheController, UnitySolutionTracker solutionTracker,
                          BackendUnityHost backendUnityHost,
                          IconHost iconHost, AssetSerializationMode assetSerializationMode,
                          PerformanceCriticalContextProvider contextProvider)
     : base(solution, settingsStore, unityApi, contextProvider)
 {
     myAssetIndexingSupport              = assetIndexingSupport;
     myUsagesCodeVisionProvider          = usagesCodeVisionProvider;
     myCodeInsightProvider               = codeInsightProvider;
     myAssetScriptUsagesElementContainer = assetScriptUsagesElementContainer;
     myDeferredCacheController           = deferredCacheController;
     mySolutionTracker        = solutionTracker;
     myBackendUnityHost       = backendUnityHost;
     myIconHost               = iconHost;
     myAssetSerializationMode = assetSerializationMode;
 }
コード例 #28
0
 public ComplexityAnalysisElementProblemAnalyzer(ComplexityCodeInsightsProvider provider, IconHost iconHost)
 {
     _provider = provider;
     _iconHost = iconHost;
 }
 public UnityAssetRiderUsageGroupingProjectItemProvider(ISolution solution, ProjectModelIcons projectModelIcons, IconHost iconHost)
 {
     mySolution          = solution;
     myProjectModelIcons = projectModelIcons;
     myIconHost          = iconHost;
 }
コード例 #30
0
 public GameObjectUsageGroupingRule([NotNull] UnitySceneProcessor sceneProcessor, [NotNull] IconHost iconHost)
     : base("Unity Game Object", UnityObjectTypeThemedIcons.UnityGameObject.Id, iconHost, 7.0)
 {
     mySceneProcessor = sceneProcessor;
 }