Visit nodes in the order of the user output to create better reports


Why does the ‘generateVisitorsDiagnostics()’ function in BugReporter.cpp work backwards? It starts from the node of the error and iterate over the preds.

I have tried to make it to work forward with storing the ‘const ExplodedNode *’ nodes in a vector, but ‘auto P = V->VisitNode(NextNode, BRC, *R);’ crashes. I just found out the ‘LastPiece’ checking could be moved out from the while-loop, that is it for now.

Is it possible to achieve? What is could be problematic with that code snippet?

Thanks you for the suggestions,