#ifndef LLVM_CLANG_ANALYSIS_PATHDIAGNOSTIC_H
#define LLVM_CLANG_ANALYSIS_PATHDIAGNOSTIC_H
#include "clang/AST/Stmt.h"
#include "clang/Analysis/AnalysisDeclContext.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceLocation.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Allocator.h"
#include <cassert>
#include <deque>
#include <iterator>
#include <list>
#include <map>
#include <memory>
#include <optional>
#include <set>
#include <string>
#include <utility>
#include <vector>
namespace clang {
class AnalysisDeclContext;
class BinaryOperator;
class CallEnter;
class CallExitEnd;
class ConditionalOperator;
class Decl;
class LocationContext;
class MemberExpr;
class ProgramPoint;
class SourceManager;
namespace ento {
class PathDiagnostic;
struct PathDiagnosticConsumerOptions { … };
class PathDiagnosticConsumer { … };
class PathDiagnosticRange : public SourceRange { … };
LocationOrAnalysisDeclContext;
class PathDiagnosticLocation { … };
class PathDiagnosticLocationPair { … };
class PathDiagnosticPiece: public llvm::FoldingSetNode { … };
PathDiagnosticPieceRef;
class PathPieces : public std::list<PathDiagnosticPieceRef> { … };
class PathDiagnosticSpotPiece : public PathDiagnosticPiece { … };
class PathDiagnosticEventPiece : public PathDiagnosticSpotPiece { … };
class PathDiagnosticCallPiece : public PathDiagnosticPiece { … };
class PathDiagnosticControlFlowPiece : public PathDiagnosticPiece { … };
class PathDiagnosticMacroPiece : public PathDiagnosticSpotPiece { … };
class PathDiagnosticNotePiece: public PathDiagnosticSpotPiece { … };
class PathDiagnosticPopUpPiece: public PathDiagnosticSpotPiece { … };
FilesToLineNumsMap;
class PathDiagnostic : public llvm::FoldingSetNode { … };
}
}
#endif