распаковка с учетом интов
This commit is contained in:
2
.idea/workspace.xml
generated
2
.idea/workspace.xml
generated
@@ -9,6 +9,8 @@
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SPF_GetGraphLoops.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SPF_GetGraphLoops.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/DBProjectFile.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/DBProjectFile.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Loops/Loop.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Loops/Loop.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
||||
@@ -6,7 +6,9 @@ import _VisualDVM.ProjectData.Files.DBProjectFile;
|
||||
import _VisualDVM.ProjectData.SapforData.Loops.Json.FileLoopsJson;
|
||||
import _VisualDVM.ProjectData.SapforData.Loops.Json.LoopsJson;
|
||||
import _VisualDVM.ProjectData.SapforData.Loops.Loop;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Vector;
|
||||
public class SPF_GetGraphLoops extends SapforAnalysis {
|
||||
@Override
|
||||
@@ -41,16 +43,15 @@ public class SPF_GetGraphLoops extends SapforAnalysis {
|
||||
int allLoops=0;
|
||||
Vector<String> loops_programs = new Vector<>();
|
||||
System.out.println(packed);
|
||||
File debug = new File(Global.TempDirectory, "debug.txt");
|
||||
FileUtils.writeStringToFile(debug,packed);
|
||||
LoopsJson loopsJson = Utils_.gson.fromJson(packed, LoopsJson.class);
|
||||
for (FileLoopsJson fileLoopsJson: loopsJson.allLoops){
|
||||
for (Loop loop: fileLoopsJson.loops)
|
||||
loop.setFile(fileLoopsJson.file);
|
||||
//-
|
||||
DBProjectFile dbProjectFile = target.db.files.get(fileLoopsJson.file);
|
||||
dbProjectFile.saveAllLoops();
|
||||
dbProjectFile.LoopGraphTitle = "Всего циклов: " + dbProjectFile.AllLoops.size();
|
||||
//-
|
||||
target.numLoops += dbProjectFile.AllLoops.size();
|
||||
DBProjectFile projectFile = target.db.files.get(fileLoopsJson.file);
|
||||
projectFile.LoopNests.addAll(fileLoopsJson.loops);
|
||||
projectFile.saveAllLoops();
|
||||
projectFile.LoopGraphTitle = "Всего циклов: " + projectFile.AllLoops.size();
|
||||
target.numLoops += projectFile.AllLoops.size();
|
||||
}
|
||||
}
|
||||
@Override
|
||||
|
||||
@@ -258,7 +258,7 @@ public class DBProjectFile extends ProjectFile {
|
||||
public DefaultMutableTreeNode show_loop_graph_r(FileObjectWithMessages element) {
|
||||
DefaultMutableTreeNode res = new DefaultMutableTreeNode(element);
|
||||
if (element instanceof Loop) {
|
||||
for (FileObjectWithMessages child : ((Loop) element).getAllChildren())
|
||||
for (FileObjectWithMessages child : ((Loop) element).getGraphNodes(this))
|
||||
res.add(show_loop_graph_r(child));
|
||||
}
|
||||
return res;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package _VisualDVM.ProjectData.SapforData.Loops;
|
||||
import Common.Visual.Fonts.VisualiserFonts;
|
||||
import _VisualDVM.ProjectData.Files.DBProjectFile;
|
||||
import _VisualDVM.ProjectData.Messages.Message;
|
||||
import _VisualDVM.ProjectData.SapforData.FileObject;
|
||||
import _VisualDVM.ProjectData.SapforData.FileObjectWithMessages;
|
||||
import _VisualDVM.ProjectData.SapforData.Functions.FuncCall;
|
||||
import com.google.gson.annotations.Expose;
|
||||
@@ -34,24 +34,33 @@ public class Loop extends FileObjectWithMessages {
|
||||
// @Expose
|
||||
// public List<NonRectIter> non_rect_iters = new Vector<>();
|
||||
@Expose
|
||||
public List<EGoto> extGotos = new Vector<>();
|
||||
public List<Integer> extGotos = new Vector<>();
|
||||
@Expose
|
||||
public List<IGoto> intGotos = new Vector<>();
|
||||
public List<Integer> intGotos = new Vector<>();
|
||||
@Expose
|
||||
public List<IO> ios = new Vector<>();
|
||||
public List<Integer> ios = new Vector<>();
|
||||
@Expose
|
||||
public List<Stop> stops = new Vector<>();
|
||||
public List<Integer> stops = new Vector<>();
|
||||
@Expose
|
||||
public List<Loop> children = new Vector<>();
|
||||
//--
|
||||
public List<FileObjectWithMessages> getAllChildren(){
|
||||
public List<FileObjectWithMessages> getGraphNodes(DBProjectFile dbProjectFile){
|
||||
List<FileObjectWithMessages> all_children = new Vector<>();
|
||||
//-
|
||||
if (hasNonRectangularBounds!=0)
|
||||
all_children.add(new NonRectIter(dbProjectFile, line));
|
||||
//-
|
||||
all_children.addAll(funcCalls);
|
||||
// all_children.addAll(non_rect_iters);
|
||||
all_children.addAll(extGotos);
|
||||
all_children.addAll(intGotos);
|
||||
all_children.addAll(ios);
|
||||
all_children.addAll(stops);
|
||||
//-
|
||||
for (int line_: extGotos)
|
||||
all_children.add(new EGoto(dbProjectFile, line_));
|
||||
for (int line_: intGotos)
|
||||
all_children.add(new IGoto(dbProjectFile, line_));
|
||||
for (int line_: ios)
|
||||
all_children.add(new IO(dbProjectFile, line_));
|
||||
for (int line_: stops)
|
||||
all_children.add(new Stop(dbProjectFile, line_));
|
||||
//-
|
||||
all_children.addAll(children);
|
||||
return all_children;
|
||||
}
|
||||
@@ -80,10 +89,4 @@ public class Loop extends FileObjectWithMessages {
|
||||
for (Loop loop: children)
|
||||
loop.toMap_r(loops_map);
|
||||
}
|
||||
@Override
|
||||
public void setFile(String file_in) {
|
||||
super.setFile(file_in);
|
||||
for (FileObject fileObject: getAllChildren())
|
||||
fileObject.setFile(file_in);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user