added json for call graph

This commit is contained in:
ALEXks
2025-04-13 17:24:49 +03:00
parent 5acbd10a26
commit b068a49b0b
6 changed files with 77 additions and 66 deletions

View File

@@ -940,28 +940,13 @@ static int getLoopState(const LoopGraph* currLoop)
return loopState;
}
static void printToBuffer(const LoopGraph *currLoop, const int childSize, char buf[512])
{
sprintf(buf, "#%d#%d#%d#%d#%d#%d#%d#%d",
currLoop->lineNum, currLoop->lineNumAfterLoop, currLoop->perfectLoop, currLoop->hasGoto, currLoop->hasPrints, childSize, getLoopState(currLoop),
currLoop->hasNonRectangularBounds);
}
static int calculateNormalChildSize(const LoopGraph *currLoop)
{
int count = 0;
for (auto &elem : currLoop->children)
count += (elem->lineNum > 0) ? 1 : 0;
return count;
}
static json convertToJson(const LoopGraph* currLoop)
{
json loop;
const auto& file = currLoop->fileName;
if (currLoop && currLoop->lineNum > 0)
{
loop["file"] = file;
loop["file"] = currLoop->fileName;
loop["line"] = currLoop->lineNum;
loop["lineNumAfterLoop"] = currLoop->lineNumAfterLoop;
loop["perfectLoop"] = currLoop->perfectLoop;
@@ -974,8 +959,6 @@ static json convertToJson(const LoopGraph* currLoop)
json call;
call["line"] = line;
call["funcName"] = func;
call["canBeInlined"] = 0;
call["parentLineOffset"] = 0;
calls.push_back(call);
}