package Visual_DVM_2021.Passes.All; import Common.Global; import ProjectData.SapforData.Arrays.ProjectArray; import Visual_DVM_2021.Passes.SilentSapforPass; public class SPF_GetArrayLinks extends SilentSapforPass { @Override protected void body() throws Exception { sapfor.RunAnalysis( getSapforPassName(), -Global.messagesServer.getPort(), Global.packSapforSettings(), target.getProjFile().getAbsolutePath()); } protected void unpack(String packed) throws Exception { //---------------------------------------- /* map {"); j++; break; default: if (links_size > 0) { long link_id = Long.parseLong(data[i]); System.out.print(link_id + ","); current_array.links.put(link_id, target.declaratedArrays.get(link_id)); links_size--; } if (links_size == 0) { j = 0; current_array = null; System.out.println("}"); } break; } } System.out.println("DONE"); /* for (long id: target.arraysLinks.keySet()){ System.out.print(id+"|"); System.out.print(target.arraysLinks.get(id).size()+"|"); for (long link_id: target.arraysLinks.get(id)) System.out.print(link_id+"|"); } */ } @Override protected void performDone() throws Exception { if (!sapfor.getResult().isEmpty()) { unpack(sapfor.getResult()); } } }