File indexing completed on 2026-05-10 08:37:09
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_PROGRAMSTATE_FWD_H
0010 #define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_PROGRAMSTATE_FWD_H
0011
0012 #include "clang/Basic/LLVM.h"
0013 #include "llvm/ADT/IntrusiveRefCntPtr.h"
0014
0015 namespace clang {
0016 namespace ento {
0017 class ProgramState;
0018 class ProgramStateManager;
0019 void ProgramStateRetain(const ProgramState *state);
0020 void ProgramStateRelease(const ProgramState *state);
0021 }
0022 }
0023
0024 namespace llvm {
0025 template <> struct IntrusiveRefCntPtrInfo<const clang::ento::ProgramState> {
0026 static void retain(const clang::ento::ProgramState *state) {
0027 clang::ento::ProgramStateRetain(state);
0028 }
0029 static void release(const clang::ento::ProgramState *state) {
0030 clang::ento::ProgramStateRelease(state);
0031 }
0032 };
0033 }
0034
0035 namespace clang {
0036 namespace ento {
0037 typedef IntrusiveRefCntPtr<const ProgramState> ProgramStateRef;
0038 }
0039 }
0040
0041 #endif
0042