68 lines
2.6 KiB
Java
68 lines
2.6 KiB
Java
package _VisualDVM.Passes.All;
|
|
import Common.Utils.Utils_;
|
|
import _VisualDVM.Global;
|
|
import _VisualDVM.Passes.Sapfor.SapforAnalysis;
|
|
import _VisualDVM.ProjectData.Files.DBProjectFile;
|
|
import _VisualDVM.ProjectData.SapforData.Arrays.ArrayDecl;
|
|
import _VisualDVM.ProjectData.SapforData.Arrays.ArraysJson;
|
|
import _VisualDVM.ProjectData.SapforData.Arrays.ProjectArray;
|
|
public class SPF_GetAllDeclaratedArrays extends SapforAnalysis {
|
|
@Override
|
|
public String phase() {
|
|
return "GET_ALL_ARRAY_DECL";
|
|
}
|
|
@Override
|
|
protected void performPreparation() throws Exception {
|
|
super.performPreparation(); //удаление интеррупта.
|
|
target.declaratedArrays.clear();
|
|
for (DBProjectFile f : target.db.files.Data.values())
|
|
f.array_decls.clear();
|
|
}
|
|
@Override
|
|
protected void showPreparation() {
|
|
Global.mainModule.getUI().getMainWindow().getProjectWindow().getArraysWindow().ShowNoArrays();
|
|
if (Global.mainModule.HasFile())
|
|
Global.mainModule.getFile().form.ShowNoArrays();
|
|
}
|
|
@Override
|
|
public void unpack(String packed) throws Exception {
|
|
ArraysJson arraysJson = Utils_.gson.fromJson(packed, ArraysJson.class);
|
|
for (ProjectArray array : arraysJson.allArrays) {
|
|
array.Init();
|
|
target.declaratedArrays.put(array.id, array);
|
|
//--
|
|
for (ArrayDecl decl : array.declPlaces) {
|
|
DBProjectFile projectFile = target.db.files.get(decl.file);
|
|
projectFile.array_decls.add(decl);
|
|
}
|
|
}
|
|
for (DBProjectFile file : target.db.files.Data.values()) {
|
|
file.ArrayGraphTitle = "Объявлений: " + file.array_decls.size();
|
|
}
|
|
target.UpdateArraysCount();
|
|
}
|
|
@Override
|
|
protected boolean alwaysCheck() {
|
|
return true;
|
|
}
|
|
@Override
|
|
protected boolean isAtomic() {
|
|
return false;
|
|
}
|
|
@Override
|
|
protected void FocusResult() {
|
|
Global.mainModule.getUI().getMainWindow().getProjectWindow().FocusArrays();
|
|
if (Global.mainModule.HasFile())
|
|
Global.mainModule.getFile().form.FocusArrays();
|
|
}
|
|
@Override
|
|
protected void showDone() throws Exception {
|
|
Global.mainModule.getUI().getMainWindow().getProjectWindow().getArraysWindow().ShowArrays();
|
|
Global.mainModule.getUI().getMainWindow().getProjectWindow().getAnalysisWindow().ShowArraysCount();
|
|
Global.mainModule.getUI().getMainWindow().getProjectWindow().getAnalysisWindow().ShowRegions();
|
|
if (Global.mainModule.HasFile())
|
|
Global.mainModule.getFile().form.ShowArrays();
|
|
super.showDone();
|
|
}
|
|
}
|