merged mastser
This commit is contained in:
@@ -11,6 +11,8 @@
|
||||
#include "../Distribution/Distribution.h"
|
||||
#include "../Utils/AstWrapper.h"
|
||||
|
||||
#include "../Utils/json.hpp"
|
||||
|
||||
#if __SPF
|
||||
#include "../Utils/SgUtils.h"
|
||||
#endif
|
||||
@@ -253,35 +255,42 @@ public:
|
||||
return retVal;
|
||||
}
|
||||
|
||||
std::string toString()
|
||||
nlohmann::json toJson()
|
||||
{
|
||||
std::string retVal = "";
|
||||
nlohmann::json retVal;
|
||||
|
||||
retVal += "#" + std::to_string(regionId);
|
||||
retVal += "#" + originalName;
|
||||
retVal += "#" + std::to_string(lines.size());
|
||||
retVal["packedRegionId"] = std::to_string(regionId);
|
||||
retVal["originalName"] = originalName;
|
||||
|
||||
for (auto it = lines.begin(); it != lines.end(); ++it)
|
||||
nlohmann::json arrays = nlohmann::json::array();
|
||||
for (auto& array : allArrays.GetArrays())
|
||||
arrays.push_back(array->toJson());
|
||||
retVal["packedArrays"] = arrays;
|
||||
|
||||
nlohmann::json linesInfo = nlohmann::json::array();
|
||||
for (auto& [file, linesByFile] : lines)
|
||||
{
|
||||
retVal += "|" + it->first + "|";
|
||||
retVal += std::to_string(it->second.size());
|
||||
for (int i = 0; i < it->second.size(); ++i)
|
||||
retVal += "#" + std::to_string(it->second[i].lines.first) + "#" + std::to_string(it->second[i].lines.second);
|
||||
nlohmann::json linesRegs;
|
||||
nlohmann::json lines = nlohmann::json::array();
|
||||
|
||||
for (auto& elem : linesByFile)
|
||||
{
|
||||
JSON pair;
|
||||
pair["key"] = elem.lines.first;
|
||||
pair["value"] = elem.lines.second;
|
||||
lines.push_back(pair);
|
||||
}
|
||||
linesRegs["file"] = file;
|
||||
linesRegs["lines"] = lines;
|
||||
|
||||
linesInfo.push_back(linesRegs);
|
||||
}
|
||||
retVal["regionsLines"] = linesInfo;
|
||||
|
||||
const std::set<DIST::Array*> &arrays = allArrays.GetArrays();
|
||||
retVal += "#" + std::to_string(arrays.size());
|
||||
|
||||
//create map<array_address, DIST::Array_toString()>
|
||||
for (auto it = arrays.begin(); it != arrays.end(); ++it)
|
||||
{
|
||||
retVal += "#" + std::to_string((long long)(*it));
|
||||
retVal += "#" + (*it)->toString();
|
||||
}
|
||||
|
||||
retVal += "#" + std::to_string(dataDirectives.alignRules.size());
|
||||
for (int i = 0; i < dataDirectives.alignRules.size(); ++i)
|
||||
retVal += dataDirectives.alignRules[i].toString();
|
||||
nlohmann::json alignRules = nlohmann::json::array();
|
||||
for (auto& rule : dataDirectives.alignRules)
|
||||
alignRules.push_back(rule.toJson());
|
||||
retVal["alignRules"] = alignRules;
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user