Пример #1
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;
 }
 public EventHandlerDetector(ISolution solution, IApplicationWideContextBoundSettingStore settingsStore,
                             UnityEventsElementContainer unityEventsElementContainer,
                             PerformanceCriticalContextProvider contextProvider)
     : base(solution, settingsStore, contextProvider)
 {
     UnityEventsElementContainer = unityEventsElementContainer;
 }
Пример #3
0
 public TypeDetector(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                     IApplicationWideContextBoundSettingStore settingsStore, UnityApi unityApi,
                     PerformanceCriticalCodeCallGraphMarksProvider marksProvider, IElementIdProvider provider)
     : base(solution, settingsStore, callGraphSwaExtensionProvider, marksProvider, provider)
 {
     myUnityApi = unityApi;
 }
        public PrefabImportCache(Lifetime lifetime, ISolution solution,
                                 IApplicationWideContextBoundSettingStore settingStore,
                                 MetaFileGuidCache metaFileGuidCache,
                                 UnityExternalFilesModuleFactory unityExternalFilesModuleFactory,
                                 IShellLocks shellLocks)
        {
            myMetaFileGuidCache = metaFileGuidCache;
            myShellLocks        = shellLocks;
            metaFileGuidCache.GuidChanged.Advise(lifetime, e =>
            {
                myShellLocks.AssertWriteAccessAllowed();
                var set = new HashSet <Guid>();
                if (e.oldGuid != null)
                {
                    InvalidateImportCache(e.oldGuid.Value, set);
                }

                if (e.newGuid != null)
                {
                    InvalidateImportCache(e.newGuid.Value, set);
                }
            });

            myUnityExternalFilesPsiModule = unityExternalFilesModuleFactory.PsiModule;

            myCacheEnabled = settingStore.BoundSettingsStore
                             .GetValueProperty(lifetime, (UnitySettings key) => key.IsPrefabCacheEnabled);
        }
Пример #5
0
 public FieldDetector(ISolution solution,
                      IApplicationWideContextBoundSettingStore settingsStore,
                      UnityApi unityApi,
                      PerformanceCriticalContextProvider contextProvider)
     : base(solution, settingsStore, contextProvider)
 {
     myUnityApi = unityApi;
 }
Пример #6
0
 public InitialiseOnLoadCctorDetector(ISolution solution,
                                      CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                      IApplicationWideContextBoundSettingStore settingsStore,
                                      PerformanceCriticalCodeCallGraphMarksProvider marksProvider,
                                      IElementIdProvider provider)
     : base(solution, settingsStore, callGraphSwaExtensionProvider, marksProvider, provider)
 {
 }
Пример #7
0
 public BurstGutterMarkProvider(
     Lifetime lifetime,
     IApplicationWideContextBoundSettingStore store,
     BurstCodeInsights burstCodeInsights)
 {
     myBurstEnableIcons  = store.BoundSettingsStore.GetValueProperty(lifetime, (UnitySettings key) => key.EnableIconsForBurstCode);
     myBurstCodeInsights = burstCodeInsights;
 }
Пример #8
0
 protected UnityDeclarationHighlightingProviderBase(ISolution solution,
                                                    IApplicationWideContextBoundSettingStore settingsStore,
                                                    PerformanceCriticalContextProvider contextProvider)
 {
     Solution        = solution;
     SettingsStore   = settingsStore;
     ContextProvider = contextProvider;
 }
 public ReSharperUnityYamlDisableStrategy(Lifetime lifetime, ISolution solution, SolutionCaches solutionCaches,
                                          IApplicationWideContextBoundSettingStore settingsStore,
                                          AssetIndexingSupport assetIndexingSupport,
                                          UserNotifications notifications)
     : base(lifetime, solution, solutionCaches, settingsStore, assetIndexingSupport)
 {
     myLifetime      = lifetime;
     myNotifications = notifications;
 }
Пример #10
0
 public EventHandlerDetector(ISolution solution, IApplicationWideContextBoundSettingStore settingsStore,
                             CallGraphSwaExtensionProvider callGraphSwaExtension,
                             UnityEventsElementContainer unityEventsElementContainer,
                             PerformanceCriticalCodeCallGraphMarksProvider marksProvider,
                             IElementIdProvider provider)
     : base(solution, settingsStore, callGraphSwaExtension, marksProvider, provider)
 {
     UnityEventsElementContainer = unityEventsElementContainer;
 }
 public UnityCommonIconProvider(ISolution solution, UnityApi unityApi,
                                IApplicationWideContextBoundSettingStore settingsStore,
                                PerformanceCriticalContextProvider contextProvider)
 {
     mySolution      = solution;
     UnityApi        = unityApi;
     SettingsStore   = settingsStore;
     ContextProvider = contextProvider;
 }
Пример #12
0
 public PerformanceCriticalContextProvider(
     Lifetime lifetime,
     IElementIdProvider elementIdProvider,
     IApplicationWideContextBoundSettingStore applicationWideContextBoundSettingStore,
     CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
     PerformanceCriticalCodeMarksProvider marksProvider)
     : base(lifetime, elementIdProvider, applicationWideContextBoundSettingStore, callGraphSwaExtensionProvider,
            marksProvider, PerformanceCriticalCodeMarksProvider.MarkId)
 {
 }
 public ExpensiveInvocationContextProvider(
     Lifetime lifetime,
     IApplicationWideContextBoundSettingStore applicationWideContextBoundSettingStore,
     IElementIdProvider elementIdProvider,
     CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
     ExpensiveCodeMarksProvider marksProviderBase)
     : base(lifetime, elementIdProvider, applicationWideContextBoundSettingStore, callGraphSwaExtensionProvider,
            marksProviderBase, ExpensiveCodeMarksProvider.MarkId)
 {
 }
Пример #14
0
        public RiderUnityYamlDisableStrategy(Lifetime lifetime, ISolution solution, SolutionCaches solutionCaches,
                                             IApplicationWideContextBoundSettingStore settingsStore,
                                             AssetIndexingSupport assetIndexingSupport, FrontendBackendHost frontendBackendHost)
            : base(lifetime, solution, solutionCaches, settingsStore, assetIndexingSupport)
        {
            myFrontendBackendHost = frontendBackendHost;

            myFrontendBackendHost.Do(t =>
                                     t.EnableYamlParsing.Advise(lifetime, _ => assetIndexingSupport.IsEnabled.Value = true));
        }
 public BurstCodeVisionProvider(ISolution solution,
                                IApplicationWideContextBoundSettingStore store,
                                UnityCodeInsightProvider codeInsightProvider, IconHost iconHost)
 {
     mySolution            = solution;
     myTextControlManager  = mySolution.GetComponent <ITextControlManager>();
     mySettingsStore       = store;
     myCodeInsightProvider = codeInsightProvider;
     myIconHost            = iconHost;
 }
Пример #16
0
        public CgSupportSettings(Lifetime lifetime, IApplicationWideContextBoundSettingStore settingsStore,
                                 RunsProducts.ProductConfigurations productConfigurations)
        {
            IsErrorHighlightingEnabled = settingsStore.BoundSettingsStore
                                         .GetValueProperty(lifetime, (UnitySettings s) => s.EnableCgErrorHighlighting);

            if (!productConfigurations.IsInternalMode())
            {
                IsErrorHighlightingEnabled.SetValue(lifetime, false);
            }
        }
 public UnityCommonIconProvider(ISolution solution, UnityApi unityApi,
                                IApplicationWideContextBoundSettingStore settingsStore,
                                PerformanceCriticalContextProvider performanceContextProvider,
                                IEnumerable <IPerformanceAnalysisBulbItemsProvider> menuItemProviders)
 {
     mySolution                 = solution;
     myTextControlManager       = solution.GetComponent <ITextControlManager>();
     UnityApi                   = unityApi;
     SettingsStore              = settingsStore;
     PerformanceContextProvider = performanceContextProvider;
     myMenuItemProviders        = menuItemProviders;
 }
Пример #18
0
 protected UnityDeclarationHighlightingProviderBase(ISolution solution,
                                                    IApplicationWideContextBoundSettingStore settingsStore,
                                                    CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                                    PerformanceCriticalCodeCallGraphMarksProvider marksProvider,
                                                    IElementIdProvider provider)
 {
     Solution = solution;
     CallGraphSwaExtensionProvider = callGraphSwaExtensionProvider;
     MarksProvider     = marksProvider;
     SettingsStore     = settingsStore;
     ElementIdProvider = provider;
 }
        public UnityHlslAllErrorsPredicate(Lifetime lifetime, ISolution solution,
                                           UnitySolutionTracker unitySolutionTracker,
                                           IApplicationWideContextBoundSettingStore settingsStore)
        {
            myUnitySolutionTracker = unitySolutionTracker;

            // Cache the suppression settings for performance
            mySuppressShaderErrors = settingsStore.BoundSettingsStore
                                     .GetValueProperty(lifetime, (UnitySettings key) => key.SuppressShaderErrorHighlighting);
            mySuppressShaderErrorsInRenderPipeline = settingsStore.BoundSettingsStore
                                                     .GetValueProperty(lifetime, (UnitySettings key) => key.SuppressShaderErrorHighlightingInRenderPipelinePackages);
        }
 public ExpensiveInvocationContextProvider(
     Lifetime lifetime,
     IApplicationWideContextBoundSettingStore applicationWideContextBoundSettingStore,
     IElementIdProvider elementIdProvider,
     CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
     ExpensiveCodeMarksProvider marksProviderBase)
     : base(elementIdProvider, callGraphSwaExtensionProvider, marksProviderBase)
 {
     myIsPerformanceAnalysisEnabledProperty =
         applicationWideContextBoundSettingStore.BoundSettingsStore.GetValueProperty(lifetime,
                                                                                     (UnitySettings s) => s.EnablePerformanceCriticalCodeHighlighting);
 }
 public BurstCodeVisionProvider(
     Lifetime lifetime,
     IApplicationWideContextBoundSettingStore store,
     BurstCodeInsightProvider burstCodeInsightProvider,
     IconHost iconHost,
     BurstCodeInsights codeInsights) : base(lifetime, store, codeInsights)
 {
     mySettingsStore            = store;
     myBurstCodeInsightProvider = burstCodeInsightProvider;
     myIconHost     = iconHost;
     myCodeInsights = codeInsights;
 }
Пример #22
0
        public UnityPluginInstaller(
            Lifetime lifetime,
            ILogger logger,
            ISolution solution,
            IShellLocks shellLocks,
            UnityPluginDetector detector,
            NotificationsModel notifications,
            IApplicationWideContextBoundSettingStore settingsStore,
            PluginPathsProvider pluginPathsProvider,
            UnityVersion unityVersion,
            FrontendBackendHost frontendBackendHost,
            UnitySolutionTracker unitySolutionTracker,
            UnityRefresher refresher)
        {
            myPluginInstallations = new JetHashSet <FileSystemPath>();

            myLifetime             = lifetime;
            myLogger               = logger;
            mySolution             = solution;
            myShellLocks           = shellLocks;
            myDetector             = detector;
            myNotifications        = notifications;
            myPluginPathsProvider  = pluginPathsProvider;
            myUnityVersion         = unityVersion;
            myUnitySolutionTracker = unitySolutionTracker;
            myRefresher            = refresher;

            myBoundSettingsStore = settingsStore.BoundSettingsStore;
            myQueue = new ProcessingQueue(myShellLocks, myLifetime);

            frontendBackendHost.Do(frontendBackendModel =>
            {
                frontendBackendModel.InstallEditorPlugin.AdviseNotNull(lifetime, x =>
                {
                    myShellLocks.ExecuteOrQueueReadLockEx(myLifetime, "UnityPluginInstaller.InstallEditorPlugin", () =>
                    {
                        var installationInfo = myDetector.GetInstallationInfo(myCurrentVersion);
                        QueueInstall(installationInfo, true);
                    });
                });
            });

            unitySolutionTracker.IsUnityProjectFolder.AdviseOnce(lifetime, args =>
            {
                if (!args)
                {
                    return;
                }
                myShellLocks.ExecuteOrQueueReadLockEx(myLifetime, "IsAbleToEstablishProtocolConnectionWithUnity", InstallPluginIfRequired);
                BindToInstallationSettingChange();
            });
        }
Пример #23
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;
 }
Пример #24
0
 public UnityCommonIconProvider(ISolution solution, UnityApi unityApi,
                                CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                IApplicationWideContextBoundSettingStore settingsStore,
                                PerformanceCriticalCodeCallGraphMarksProvider marksProvider,
                                IElementIdProvider provider)
 {
     mySolution = solution;
     CallGraphSwaExtensionProvider = callGraphSwaExtensionProvider;
     MarksProvider = marksProvider;
     UnityApi      = unityApi;
     SettingsStore = settingsStore;
     myProvider    = provider;
 }
 protected PerformanceAnalysisContextProviderBase(
     Lifetime lifetime,
     IElementIdProvider elementIdProvider,
     IApplicationWideContextBoundSettingStore applicationWideContextBoundSettingStore,
     CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
     CallGraphRootMarksProviderBase marksProvider,
     string markId)
     : base(elementIdProvider, callGraphSwaExtensionProvider, marksProvider)
 {
     MarkId = markId;
     IsPerformanceAnalysisEnabledProperty =
         applicationWideContextBoundSettingStore.BoundSettingsStore.GetValueProperty(lifetime,
                                                                                     (UnitySettings s) => s.EnablePerformanceCriticalCodeHighlighting);
 }
 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;
 }
Пример #27
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;
 }
 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;
 }
Пример #29
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;
 }
Пример #30
0
        public BackendUnityProtocol(Lifetime lifetime, ILogger logger,
                                    BackendUnityHost backendUnityHost, FrontendBackendHost frontendBackendHost,
                                    IScheduler dispatcher, IShellLocks locks, ISolution solution,
                                    IApplicationWideContextBoundSettingStore settingsStore,
                                    UnitySolutionTracker unitySolutionTracker,
                                    UnityVersion unityVersion, NotificationsModel notificationsModel,
                                    IHostProductInfo hostProductInfo, IFileSystemTracker fileSystemTracker)
        {
            myPluginInstallations = new JetHashSet <FileSystemPath>();

            myLifetime            = lifetime;
            myLogger              = logger;
            myBackendUnityHost    = backendUnityHost;
            myDispatcher          = dispatcher;
            myLocks               = locks;
            mySolution            = solution;
            myUnityVersion        = unityVersion;
            myNotificationsModel  = notificationsModel;
            myHostProductInfo     = hostProductInfo;
            myFrontendBackendHost = frontendBackendHost;
            myBoundSettingsStore  = settingsStore.BoundSettingsStore;
            mySessionLifetimes    = new SequentialLifetimes(lifetime);

            if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null)
            {
                return;
            }

            unitySolutionTracker.IsUnityProject.View(lifetime, (lf, args) =>
            {
                if (!args)
                {
                    return;
                }

                var solFolder = mySolution.SolutionDirectory;

                // todo: consider non-Unity Solution with Unity-generated projects
                var protocolInstancePath = solFolder.Combine("Library/ProtocolInstance.json");
                fileSystemTracker.AdviseFileChanges(lf, protocolInstancePath, OnProtocolInstanceJsonChange);

                // connect on start of Rider
                CreateProtocol(protocolInstancePath);
            });
        }