clang API Documentation
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
Go to the source code of this file.
Classes | |
| class | clang::ento::CheckerContext |
Namespaces | |
| namespace | clang |
| namespace | clang::ento |
Defines | |
| #define | REGISTER_MAP_WITH_PROGRAMSTATE(Name, Key, Value) |
| #define | REGISTER_SET_WITH_PROGRAMSTATE(Name, Elem) REGISTER_TRAIT_WITH_PROGRAMSTATE(Name, llvm::ImmutableSet<Elem>) |
| #define | REGISTER_LIST_WITH_PROGRAMSTATE(Name, Elem) REGISTER_TRAIT_WITH_PROGRAMSTATE(Name, llvm::ImmutableList<Elem>) |
| #define REGISTER_LIST_WITH_PROGRAMSTATE | ( | Name, | |
| Elem | |||
| ) | REGISTER_TRAIT_WITH_PROGRAMSTATE(Name, llvm::ImmutableList<Elem>) |
Declares an immutable list of type NameTy, suitable for placement into the ProgramState. This is implementing using llvm::ImmutableList.
State = State->add<Name>(E); // Adds to the /end/ of the list. bool Present = State->contains<Name>(E); NameTy List = State->get<Name>();
The macro should not be used inside namespaces, or for traits that must be accessible from more than one translation unit.
Definition at line 66 of file CheckerContext.h.
| #define REGISTER_MAP_WITH_PROGRAMSTATE | ( | Name, | |
| Key, | |||
| Value | |||
| ) |
REGISTER_TRAIT_WITH_PROGRAMSTATE(Name, \ CLANG_ENTO_PROGRAMSTATE_MAP(Key, Value))
Declares an immutable map of type NameTy, suitable for placement into the ProgramState. This is implementing using llvm::ImmutableMap.
State = State->set<Name>(K, V); const Value *V = State->get<Name>(K); // Returns NULL if not in the map. State = State->remove<Name>(K); NameTy Map = State->get<Name>();
The macro should not be used inside namespaces, or for traits that must be accessible from more than one translation unit.
Definition at line 36 of file CheckerContext.h.
| #define REGISTER_SET_WITH_PROGRAMSTATE | ( | Name, | |
| Elem | |||
| ) | REGISTER_TRAIT_WITH_PROGRAMSTATE(Name, llvm::ImmutableSet<Elem>) |
Declares an immutable set of type NameTy, suitable for placement into the ProgramState. This is implementing using llvm::ImmutableSet.
State = State->add<Name>(E);
State = State->remove<Name>(E);
bool Present = State->contains<Name>(E);
NameTy Set = State->get<Name>();
The macro should not be used inside namespaces, or for traits that must be accessible from more than one translation unit.
Definition at line 52 of file CheckerContext.h.