From 39a62d260993b4729ab0c4fda337d1db87d79f56 Mon Sep 17 00:00:00 2001 From: William Zhang Date: Fri, 5 Jun 2026 16:37:59 -0400 Subject: [PATCH] Add all discovered analyses to map used in getter function for getDependentAnalyses() function. This allows using the TmfTraceUtils functions to see all available analyses and mark them as dependencies in the getDependentAnalyses() for each Analysis. --- .../tracecompass/tmf/core/trace/TmfTrace.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/TmfTrace.java b/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/TmfTrace.java index d7b5d157b2..35f72edd68 100644 --- a/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/TmfTrace.java +++ b/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/TmfTrace.java @@ -850,6 +850,19 @@ private IStatus refreshAnalysisModulesImpl() { Set oldAnalysisModulesKeys = new HashSet<>(previousAnalysisModules.keySet()); Set keys = new HashSet<>(newAnalysisModules.keySet()); + /* Get all modules in the fAnalysisModules Map to allow + for dependent analysis builds */ + synchronized(fAnalysisModules){ + for (String key : keys) { + if (!fAnalysisModules.containsKey(key)) { + IAnalysisModule module = newAnalysisModules.get(key); + if (module != null) { + fAnalysisModules.put(key, module); + } + } + } + } + for (String key : keys) { IAnalysisModule module = newAnalysisModules.remove(key); if (!oldAnalysisModulesKeys.contains(key)) { @@ -861,6 +874,8 @@ private IStatus refreshAnalysisModulesImpl() { } else { oldAnalysisModulesKeys.remove(key); if (module != null) { + /* Remove the newly computed analysis module since it already + was done previously*/ module.dispose(); } }