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());
        }
Ejemplo n.º 2
0
 public UnityHighlightingStage(CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                               PerformanceCriticalCodeCallGraphMarksProvider performanceCriticalCodeCallGraphMarksProvider,
                               CallGraphBurstMarksProvider callGraphBurstMarksProvider,
                               IEnumerable <IUnityDeclarationHighlightingProvider> higlightingProviders,
                               IEnumerable <IUnityProblemAnalyzer> performanceProblemAnalyzers,
                               UnityApi api, UnityCommonIconProvider commonIconProvider, IElementIdProvider provider, ILogger logger)
     : base(callGraphSwaExtensionProvider, performanceCriticalCodeCallGraphMarksProvider, callGraphBurstMarksProvider,
            higlightingProviders, performanceProblemAnalyzers, api, commonIconProvider, provider, logger)
 {
 }
 protected UnityHighlightingAbstractStage(CallGraphSwaExtensionProvider callGraphSwaExtensionProvider,
                                          PerformanceCriticalCodeCallGraphMarksProvider performanceCriticalCodeCallGraphMarksProvider,
                                          CallGraphBurstMarksProvider callGraphBurstMarksProvider,
                                          IEnumerable <IUnityDeclarationHighlightingProvider> higlightingProviders,
                                          IEnumerable <IUnityProblemAnalyzer> performanceProblemAnalyzers, UnityApi api,
                                          UnityCommonIconProvider commonIconProvider, IElementIdProvider provider, ILogger logger)
 {
     myCallGraphSwaExtensionProvider = callGraphSwaExtensionProvider;
     myPerformanceCriticalCodeCallGraphMarksProvider = performanceCriticalCodeCallGraphMarksProvider;
     myCallGraphBurstMarksProvider = callGraphBurstMarksProvider;
     HiglightingProviders          = higlightingProviders;
     PerformanceProblemAnalyzers   = performanceProblemAnalyzers;
     API = api;
     myCommonIconProvider = commonIconProvider;
     myProvider           = provider;
     Logger = logger;
 }