clang  19.0.0git
ProgramState_Fwd.h
Go to the documentation of this file.
1 //== ProgramState_Fwd.h - Incomplete declarations of ProgramState -*- C++ -*--=/
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_PROGRAMSTATE_FWD_H
10 #define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_PROGRAMSTATE_FWD_H
11 
12 #include "clang/Basic/LLVM.h"
13 #include "llvm/ADT/IntrusiveRefCntPtr.h"
14 
15 namespace clang {
16 namespace ento {
17  class ProgramState;
18  class ProgramStateManager;
19  void ProgramStateRetain(const ProgramState *state);
20  void ProgramStateRelease(const ProgramState *state);
21 }
22 }
23 
24 namespace llvm {
25  template <> struct IntrusiveRefCntPtrInfo<const clang::ento::ProgramState> {
26  static void retain(const clang::ento::ProgramState *state) {
28  }
29  static void release(const clang::ento::ProgramState *state) {
31  }
32  };
33 }
34 
35 namespace clang {
36 namespace ento {
38 }
39 }
40 
41 #endif
42 
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
ProgramState - This class encapsulates:
Definition: ProgramState.h:71
IntrusiveRefCntPtr< const ProgramState > ProgramStateRef
void ProgramStateRetain(const ProgramState *state)
Increments the number of times this state is referenced.
void ProgramStateRelease(const ProgramState *state)
Decrement the number of times this state is referenced.
The JSON file list parser is used to communicate input to InstallAPI.
Diagnostic wrappers for TextAPI types for error reporting.
Definition: Dominators.h:30
static void release(const clang::ento::ProgramState *state)
static void retain(const clang::ento::ProgramState *state)