diff --git a/src/Utils/version.h b/src/Utils/version.h index 4127406..5b6a2a3 100644 --- a/src/Utils/version.h +++ b/src/Utils/version.h @@ -1,3 +1,3 @@ #pragma once -#define VERSION_SPF "2410" +#define VERSION_SPF "2411" diff --git a/src/VisualizerCalls/get_information.cpp b/src/VisualizerCalls/get_information.cpp index f4f74f9..1908ec3 100644 --- a/src/VisualizerCalls/get_information.cpp +++ b/src/VisualizerCalls/get_information.cpp @@ -1464,19 +1464,33 @@ int SPF_GetFileLineInfo(void*& context, int winHandler, short *options, short *p { runPassesForVisualizer(projName, { FILE_LINE_INFO }); - string resVal = ""; - for (auto it = lineInfo.begin(); it != lineInfo.end(); ++it) + json metric_array = json::array(); + for (const auto& fileInfo : lineInfo) { - if (it != lineInfo.begin()) - resVal += "@"; + json fileMetric; - auto itD = dirsInfo.find(it->first); - if (itD == dirsInfo.end()) - resVal += it->first + "@" + to_string(it->second) + "_0_0"; + fileMetric["file"] = fileInfo.first; + fileMetric["linesCount"] = fileInfo.second; + + auto it = dirsInfo.find(fileInfo.first); + if (it == dirsInfo.end()) + { + fileMetric["numSPF"] = 0; + fileMetric["numDVM"] = 0; + } else - resVal += it->first + "@" + to_string(it->second) + "_" + to_string(itD->second.first.size()) + "_" + to_string(itD->second.second.size()); + { + fileMetric["numSPF"] = (int)it->second.first.size(); + fileMetric["numDVM"] = (int)it->second.second.size(); + } + + metric_array.push_back(fileMetric); } + json allMetrics; + allMetrics["allMetrics"] = metric_array; + string resVal = allMetrics.dump(); + copyStringToShort(result, resVal); retSize = (int)resVal.size() + 1; }