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; }
public UnityYamlSearchGuru(UnityApi unityApi, AssetScriptUsagesElementContainer assetScriptUsagesElementContainer, UnityEventsElementContainer unityEventsElementContainer, AssetInspectorValuesContainer container) { myAssetScriptUsagesElementContainer = assetScriptUsagesElementContainer; myUnityEventsElementContainer = unityEventsElementContainer; myInspectorValuesContainer = container; }
public EventHandlerDetector(ISolution solution, SettingsStore settingsStore, CallGraphSwaExtensionProvider callGraphSwaExtension, UnityEventsElementContainer unityEventsElementContainer, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, IElementIdProvider provider) : base(solution, callGraphSwaExtension, settingsStore, marksProvider, provider) { myCallGraphSwaExtension = callGraphSwaExtension; myUnityEventsElementContainer = unityEventsElementContainer; myProvider = provider; }
public EventHandlerDetector(ISolution solution, IApplicationWideContextBoundSettingStore settingsStore, CallGraphSwaExtensionProvider callGraphSwaExtension, UnityEventsElementContainer unityEventsElementContainer, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, IElementIdProvider provider) : base(solution, settingsStore, callGraphSwaExtension, marksProvider, provider) { UnityEventsElementContainer = unityEventsElementContainer; }
public UnityAssetReferenceSearcher(DeferredCacheController deferredCacheController, AssetDocumentHierarchyElementContainer assetDocumentHierarchyElementContainer, AssetScriptUsagesElementContainer assetScriptUsagesElementContainer, UnityEventsElementContainer unityEventsElementContainer, AssetInspectorValuesContainer assetInspectorValuesContainer, MetaFileGuidCache metaFileGuidCache, IDeclaredElementsSet elements, bool findCandidates) { myDeferredCacheController = deferredCacheController; myAssetDocumentHierarchyElementContainer = assetDocumentHierarchyElementContainer; myAssetScriptUsagesElementContainer = assetScriptUsagesElementContainer; myUnityEventsElementContainer = unityEventsElementContainer; myAssetInspectorValuesContainer = assetInspectorValuesContainer; myElements = elements; }
public UnityCodeInsightFieldUsageProvider(UnitySolutionTracker unitySolutionTracker, UnityHost host, BulbMenuComponent bulbMenu, DeferredCacheController deferredCacheController, AssetInspectorValuesContainer inspectorValuesContainer, UnityEventsElementContainer unityEventsElementContainer) : base(unitySolutionTracker, host, bulbMenu) { myDeferredCacheController = deferredCacheController; myInspectorValuesContainer = inspectorValuesContainer; myUnityEventsElementContainer = unityEventsElementContainer; myActionManager = Shell.Instance.GetComponent <IActionManager>(); myContexts = Shell.Instance.GetComponent <DataContexts>(); }
public UnityYamlSearchGuru(UnityApi unityApi, [NotNull, ItemNotNull] IEnumerable <IScriptUsagesElementContainer> scriptsUsagesElementContainers, UnityEventsElementContainer unityEventsElementContainer, AnimationEventUsagesContainer animationEventUsagesContainer, AssetInspectorValuesContainer container) { myScriptsUsagesElementContainers = scriptsUsagesElementContainers; myUnityEventsElementContainer = unityEventsElementContainer; myAnimationEventUsagesContainer = animationEventUsagesContainer; myInspectorValuesContainer = container; }
private void AddEventsHighlighting([NotNull] IHighlightingConsumer consumer, [NotNull] IDeclaration element, [NotNull] IconModel iconModel) { var declaredElement = element.DeclaredElement; var eventsCount = UnityEventsElementContainer.GetAssetUsagesCount(declaredElement, out var unityEventsEstimatedResult); var animationEventUsagesCount = myAnimationEventUsagesContainer .GetEventUsagesCountFor(declaredElement, out var animationEventsEstimatedResult); myUsagesCodeVisionProvider.AddHighlighting(consumer, element, declaredElement, animationEventUsagesCount + eventsCount, "Click to view usages in assets", "Assets usages", unityEventsEstimatedResult || animationEventsEstimatedResult, iconModel); }
public UnityAssetReferenceSearcher(DeferredCacheController deferredCacheController, AssetDocumentHierarchyElementContainer assetDocumentHierarchyElementContainer, [NotNull, ItemNotNull] IEnumerable <IScriptUsagesElementContainer> scriptsUsagesElementContainers, UnityEventsElementContainer unityEventsElementContainer, [NotNull] AnimationEventUsagesContainer animationEventUsagesContainer, AssetInspectorValuesContainer assetInspectorValuesContainer, MetaFileGuidCache metaFileGuidCache, IDeclaredElementsSet elements, bool findCandidates) { myDeferredCacheController = deferredCacheController; myAssetDocumentHierarchyElementContainer = assetDocumentHierarchyElementContainer; myScriptsUsagesElementContainers = scriptsUsagesElementContainers; myUnityEventsElementContainer = unityEventsElementContainer; myAnimationEventUsagesContainer = animationEventUsagesContainer; myAssetInspectorValuesContainer = assetInspectorValuesContainer; myElements = elements; }
protected override void AddHighlighting(IHighlightingConsumer consumer, ICSharpDeclaration element, string text, string tooltip, DaemonProcessKind kind) { var iconId = element.HasHotIcon(CallGraphSwaExtensionProvider, SettingsStore.BoundSettingsStore, MarksProvider, kind, ElementIdProvider) ? InsightUnityIcons.InsightHot.Id : InsightUnityIcons.InsightUnity.Id; if (RiderIconProviderUtil.IsCodeVisionEnabled(SettingsStore.BoundSettingsStore, myCodeInsightProvider.ProviderId, () => { base.AddHighlighting(consumer, element, text, tooltip, kind); }, out var useFallback)) { if (!useFallback) { consumer.AddImplicitConfigurableHighlighting(element); } IconModel iconModel = myIconHost.Transform(iconId); if (myAssetIndexingSupport.IsEnabled.Value && myAssetSerializationMode.IsForceText) { if (myDeferredCacheController.IsProcessingFiles()) { iconModel = myIconHost.Transform(CodeInsightsThemedIcons.InsightWait.Id); } if (!myDeferredCacheController.CompletedOnce.Value) { tooltip = "Usages in assets are not available during asset indexing"; } } if (!myAssetIndexingSupport.IsEnabled.Value || !myDeferredCacheController.CompletedOnce.Value || !myAssetSerializationMode.IsForceText) { myCodeInsightProvider.AddHighlighting(consumer, element, element.DeclaredElement, text, tooltip, text, iconModel, GetActions(element), RiderIconProviderUtil.GetExtraActions(mySolutionTracker, myBackendUnityHost)); } else { var count = UnityEventsElementContainer.GetAssetUsagesCount(element.DeclaredElement, out var estimate); myUsagesCodeVisionProvider.AddHighlighting(consumer, element, element.DeclaredElement, count, "Click to view usages in assets", "Assets usages", estimate, iconModel); } } }
public List <Dictionary <string, IAssetValue> > ImportUnityEventData(UnityEventsElementContainer elementContainer, JetHashSet <string> allUnityEventNames) { var result = myScriptComponentHierarchy.ImportUnityEventData(elementContainer, allUnityEventNames); var patchData = GetImportedValuesForUnityEvent(Location, allUnityEventNames); var maxValue = patchData.Keys.Count == 0 ? 0 : patchData.Keys.Max(); while (maxValue >= result.Count) { result.Add(new Dictionary <string, IAssetValue>()); } foreach (var(i, patch) in patchData) { AssetUtils.Import(result[i], patch); } return(result); }
public List <Dictionary <string, IAssetValue> > ImportUnityEventData(UnityEventsElementContainer elementContainer, JetHashSet <string> allUnityEventNames) { var unityEvents = elementContainer.GetUnityEventDataFor(Location, allUnityEventNames); var result = new List <Dictionary <string, IAssetValue> >(); foreach (var unityEventData in unityEvents) { for (int i = 0; i < unityEventData.Calls.Count; i++) { var dictionary = unityEventData.Calls[i].ToDictionary(); if (i < result.Count) { AssetUtils.Import(result[i], dictionary); } else { Assertion.Assert(result.Count == i, "result.Count == i"); result.Add(dictionary); } } } return(result); }
public RiderEventHandlerDetector(ISolution solution, IApplicationWideContextBoundSettingStore settingsStore, AssetIndexingSupport assetIndexingSupport, UnityEventsElementContainer unityEventsElementContainer, UnityCodeInsightProvider codeInsightProvider, UnityUsagesCodeVisionProvider usagesCodeVisionProvider, DeferredCacheController deferredCacheController, UnitySolutionTracker solutionTracker, BackendUnityHost backendUnityHost, IconHost iconHost, AssetSerializationMode assetSerializationMode, PerformanceCriticalContextProvider contextProvider, [NotNull] AnimationEventUsagesContainer animationEventUsagesContainer) : base(solution, settingsStore, unityEventsElementContainer, contextProvider, animationEventUsagesContainer) { myAssetIndexingSupport = assetIndexingSupport; myCodeInsightProvider = codeInsightProvider; myUsagesCodeVisionProvider = usagesCodeVisionProvider; myDeferredCacheController = deferredCacheController; mySolutionTracker = solutionTracker; myBackendUnityHost = backendUnityHost; myIconHost = iconHost; myAssetSerializationMode = assetSerializationMode; myAnimationEventUsagesContainer = animationEventUsagesContainer; }