версия под джсон. в графе циклов временно закоммичена старая распаковка

This commit is contained in:
2025-03-28 19:57:24 +03:00
parent 41b98607cd
commit ef5bd5b1a8
7 changed files with 89 additions and 19 deletions

View File

@@ -4,6 +4,7 @@ import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.Passes.Sapfor.SapforAnalysis;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.SapforData.Loops.Json.LoopsJson;
import _VisualDVM.ProjectData.SapforData.Loops.Loop;
import java.util.Vector;
@@ -38,6 +39,7 @@ public class SPF_GetGraphLoops extends SapforAnalysis {
@Override
protected void unpack(String packed) throws Exception {
//System.out.println(Utils_.Brackets(packed));
/*old
Vector<String> done_programs = new Vector<>();
String[] splitedPackedGraph = packed.split("\\|");
for (int i = 0; i < splitedPackedGraph.length; i += 2) {
@@ -57,6 +59,26 @@ public class SPF_GetGraphLoops extends SapforAnalysis {
}
}
target.UpdateLoopsCount();
//--
*/
int allLoops=0;
Vector<String> loops_programs = new Vector<>();
System.out.println("packed_loops = "+Utils_.Brackets(packed));
LoopsJson loopsJson = Utils_.gson.fromJson(packed, LoopsJson.class);
for (Loop loop: loopsJson.values){
target.db.files.get(loop.file).LoopNests.add(loop);
//-
if (!loops_programs.contains(loop.file)){
loops_programs.add(loop.file);
}
}
//-
for (String program_name: loops_programs){
DBProjectFile program = target.db.files.get(program_name);
program.saveAllLoops();
program.LoopGraphTitle = "Всего циклов: " + program.AllLoops.size();
target.numLoops += program.AllLoops.size();
}
}
@Override
protected void FocusResult() {