public TypeDetector(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, IApplicationWideContextBoundSettingStore settingsStore, UnityApi unityApi, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, IElementIdProvider provider) : base(solution, settingsStore, callGraphSwaExtensionProvider, marksProvider, provider) { myUnityApi = unityApi; }
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, SolutionAnalysisService swa, SettingsStore settingsStore, CallGraphSwaExtensionProvider callGraphSwaExtension, UnityEventHandlerReferenceCache cache, PerformanceCriticalCodeCallGraphAnalyzer analyzer) : base(solution, swa, callGraphSwaExtension, settingsStore, analyzer) { myCallGraphSwaExtension = callGraphSwaExtension; myCache = cache; }
public UnityHighlightingProcess([NotNull] IDaemonProcess process, [NotNull] ICSharpFile file, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, PerformanceCriticalCodeCallGraphMarksProvider performanceCriticalCodeCallGraphMarksProvider, bool isPerformanceAnalysisEnabled, CallGraphBurstMarksProvider callGraphBurstMarksProvider, bool isBurstAnalysisEnabled, IEnumerable <IUnityDeclarationHighlightingProvider> declarationHighlightingProviders, IEnumerable <IUnityProblemAnalyzer> performanceProblemAnalyzers, UnityApi api, UnityCommonIconProvider commonIconProvider, DaemonProcessKind processKind, IElementIdProvider provider, ILogger logger) : base(process, file) { myCallGraphSwaExtensionProvider = callGraphSwaExtensionProvider; myPerformanceCriticalCodeCallGraphMarksProvider = performanceCriticalCodeCallGraphMarksProvider; myIsPerformanceAnalysisEnabled = isPerformanceAnalysisEnabled; myCallGraphBurstMarksProvider = callGraphBurstMarksProvider; myIsBurstAnalysisEnabled = isBurstAnalysisEnabled; myDeclarationHighlightingProviders = declarationHighlightingProviders; myPerformanceProblemAnalyzers = performanceProblemAnalyzers; myAPI = api; myCommonIconProvider = commonIconProvider; myProcessKind = processKind; myProvider = provider; myLogger = logger; myEventFunctions = DaemonProcess.CustomData.GetData(UnityEventFunctionAnalyzer.UnityEventFunctionNodeKey) ?.Where(t => t != null && t.IsValid()).ToJetHashSet(); DaemonProcess.CustomData.PutData(UnityEventFunctionAnalyzer.UnityEventFunctionNodeKey, myEventFunctions); myProblemAnalyzersByContext = myPerformanceProblemAnalyzers.GroupBy(t => t.Context) .ToDictionary(t => t.Key, t => t.ToList()); }
public static bool HasHotIcon(this IDeclaredElement element, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, IContextBoundSettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, DaemonProcessKind kind) { if (!settingsStore.GetValue((UnitySettings key) => key.EnableIconsForPerformanceCriticalCode)) { return(false); } if (!settingsStore.GetValue((UnitySettings key) => key.EnablePerformanceCriticalCodeHighlighting)) { return(false); } var usageChecker = swa.UsageChecker; if (usageChecker == null) { return(false); } var id = swa.GetElementId(element, true); if (!id.HasValue) { return(false); } return(callGraphSwaExtensionProvider.IsMarkedByCallGraphAnalyzer(analyzer.Id, id.Value, kind == DaemonProcessKind.GLOBAL_WARNINGS)); }
protected CallGraphContextProviderBase(IElementIdProvider elementIdProvider, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, CallGraphRootMarksProviderBase marksProviderBase) { myElementIdProvider = elementIdProvider; myCallGraphSwaExtensionProvider = callGraphSwaExtensionProvider; myMarksProviderBase = marksProviderBase; }
public InitialiseOnLoadCctorDetector(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, IApplicationWideContextBoundSettingStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, IElementIdProvider provider) : base(solution, settingsStore, callGraphSwaExtensionProvider, marksProvider, provider) { }
public ExpensiveInvocationAnalyzer(CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, ExpensiveCodeCallGraphAnalyzer expensiveCodeCallGraphAnalyzer, IElementIdProvider provider) { mySwaExtensionProvider = callGraphSwaExtensionProvider; myExpensiveCodeCallGraphAnalyzer = expensiveCodeCallGraphAnalyzer; myProvider = provider; }
public CallGraphLocalStage( CallGraphSwaExtensionProvider swaExtensionProvider, IEnumerable <ICallGraphContextProvider> contextProviders, IEnumerable <ICallGraphProblemAnalyzer> problemAnalyzers, ILogger logger) : base(swaExtensionProvider, contextProviders, problemAnalyzers, logger) { }
public EventHandlerDetector(ISolution solution, SettingsStore settingsStore, CallGraphSwaExtensionProvider callGraphSwaExtension, AssetMethodsElementContainer assetMethodsElementContainer, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, IElementIdProvider provider) : base(solution, callGraphSwaExtension, settingsStore, marksProvider, provider) { myCallGraphSwaExtension = callGraphSwaExtension; myAssetMethodsElementContainer = assetMethodsElementContainer; myProvider = provider; }
public UnityHighlightingStage(CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, PerformanceCriticalCodeCallGraphMarksProvider performanceCriticalCodeCallGraphMarksProvider, IEnumerable <IUnityDeclarationHighlightingProvider> higlightingProviders, IEnumerable <IUnityProblemAnalyzer> performanceProblemAnalyzers, UnityApi api, UnityCommonIconProvider commonIconProvider, IElementIdProvider provider, ILogger logger) : base(callGraphSwaExtensionProvider, performanceCriticalCodeCallGraphMarksProvider, higlightingProviders, performanceProblemAnalyzers, api, commonIconProvider, provider, logger) { }
public UnityDeclarationHighlightingProviderBase(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer) { Solution = solution; Swa = swa; CallGraphSwaExtensionProvider = callGraphSwaExtensionProvider; Analyzer = analyzer; Settings = settingsStore.BindToContextTransient(ContextRange.Smart(solution.ToDataContext())); }
public UnityDeclarationHighlightingProviderBase(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, IElementIdProvider provider) { Solution = solution; CallGraphSwaExtensionProvider = callGraphSwaExtensionProvider; MarksProvider = marksProvider; Settings = settingsStore.BindToContextTransient(ContextRange.Smart(solution.ToDataContext())); 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 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) { }
public UnityCommonIconProvider(ISolution solution, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, SettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, UnityApi unityApi) { Solution = solution; Swa = swa; CallGraphSwaExtensionProvider = callGraphSwaExtensionProvider; Analyzer = analyzer; UnityApi = unityApi; Settings = settingsStore.BindToContextTransient(ContextRange.Smart(solution.ToDataContext())); }
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; }
protected CallGraphAbstractStage( CallGraphSwaExtensionProvider swaExtensionProvider, IEnumerable <ICallGraphContextProvider> contextProviders, IEnumerable <ICallGraphProblemAnalyzer> problemAnalyzers, ILogger logger) { mySwaExtensionProvider = swaExtensionProvider; myContextProviders = contextProviders; myProblemAnalyzers = problemAnalyzers; myLogger = logger; }
protected UnityDeclarationHighlightingProviderBase(ISolution solution, IApplicationWideContextBoundSettingStore settingsStore, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, IElementIdProvider provider) { Solution = solution; CallGraphSwaExtensionProvider = callGraphSwaExtensionProvider; MarksProvider = marksProvider; SettingsStore = settingsStore; ElementIdProvider = provider; }
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; }
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 UnityCommonIconProvider(ISolution solution, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, SettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, UnityApi unityApi, IElementIdProvider provider) { Solution = solution; CallGraphSwaExtensionProvider = callGraphSwaExtensionProvider; MarksProvider = marksProvider; UnityApi = unityApi; Settings = settingsStore.BindToContextTransient(ContextRange.Smart(solution.ToDataContext())); myProvider = provider; }
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; }
public static bool HasHotIcon(this ICSharpDeclaration element, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, IContextBoundSettingsStore settingsStore, PerformanceCriticalCodeCallGraphMarksProvider marksProvider, DaemonProcessKind kind, IElementIdProvider provider) { var declaredElement = element.DeclaredElement; if (declaredElement == null) { return(false); } return(declaredElement.HasHotIcon(callGraphSwaExtensionProvider, settingsStore, marksProvider, kind, provider)); }
public static bool HasHotIcon(this ICSharpDeclaration element, SolutionAnalysisService swa, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, IContextBoundSettingsStore settingsStore, PerformanceCriticalCodeCallGraphAnalyzer analyzer, DaemonProcessKind kind) { var declaredElement = element.DeclaredElement; if (declaredElement == null) { return(false); } return(declaredElement.HasHotIcon(swa, callGraphSwaExtensionProvider, settingsStore, analyzer, kind)); }
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; }
public PerformanceCriticalCodeAnalysisStage(SolutionAnalysisService swa, UnitySolutionTracker solutionTracker, CallGraphActivityTracker tracker, CallGraphSwaExtensionProvider callGraphSwaExtension, PerformanceCriticalCodeCallGraphAnalyzer performanceAnalyzer, ExpensiveCodeCallGraphAnalyzer expensiveAnalyzer) { Swa = swa; mySolutionTracker = solutionTracker; Tracker = tracker; CallGraphSwaExtension = callGraphSwaExtension; PerformanceAnalyzer = performanceAnalyzer; ExpensiveAnalyzer = expensiveAnalyzer; }
public PerformanceCriticalCodeAnalysisProcess([NotNull] IDaemonProcess process, [NotNull] ICSharpFile file, CallGraphSwaExtensionProvider callGraphSwaExtensionProvider, [NotNull] SolutionAnalysisService swa, CallGraphActivityTracker tracker, [NotNull] PerformanceCriticalCodeCallGraphAnalyzer performanceAnalyzer, [NotNull] ExpensiveCodeCallGraphAnalyzer expensiveCodeCallGraphAnalyzer) : base(process, file) { myCallGraphSwaExtensionProvider = callGraphSwaExtensionProvider; mySwa = swa; myTracker = tracker; myPerformanceAnalyzerId = performanceAnalyzer.Id; myExpensiveAnalyzerId = expensiveCodeCallGraphAnalyzer.Id; myLineMarkerEnabled = DaemonProcess.ContextBoundSettingsStore.GetValue((UnitySettings key) => key.PerformanceHighlightingMode) == PerformanceHighlightingMode.Always; }
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; }