clang 10.0.0git

Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::ento::Environment Class Reference

An immutable map from EnvironemntEntries to SVals. More...

`#include "clang/StaticAnalyzer/Core/PathSensitive/Environment.h"`

## Public Types
using | iterator = BindingsTy::iterator

## Public Member Functions
iterator | begin () const
iterator | end () const
SVal | getSVal (const EnvironmentEntry &E, SValBuilder &svalBuilder) const
| Fetches the current binding of the expression in the Environment. More...
void | Profile (llvm::FoldingSetNodeID &ID) const
| Profile - Used to profile the contents of this object for inclusion in a FoldingSet. More...
bool | operator== (const Environment &RHS) const
void | printJson (raw_ostream &Out, const ASTContext &Ctx, const LocationContext *LCtx=nullptr, const char *NL="\, unsigned int Space=0, bool IsDot=false) const

## Static Public Member Functions
static void | Profile (llvm::FoldingSetNodeID &ID, const Environment *env)
| Profile - Profile the contents of an Environment object for use in a FoldingSet. More...

## Friends
class | EnvironmentManager

## Detailed Description

An immutable map from EnvironemntEntries to SVals.

Definition at line 56 of file Environment.h.

## Member Typedef Documentation

## ◆ iterator

using clang::ento::Environment::iterator = BindingsTy::iterator

Definition at line 69 of file Environment.h.

## Member Function Documentation

## ◆ begin()

iterator clang::ento::Environment::begin | ( |  | ) | const
| inline

Definition at line 71 of file Environment.h.

Referenced by clang::ento::EnvironmentManager::removeDeadBindings().

## ◆ end()

iterator clang::ento::Environment::end | ( |  | ) | const
| inline

Definition at line 72 of file Environment.h.

Referenced by clang::ento::EnvironmentManager::removeDeadBindings().

## ◆ getSVal()

SVal Environment::getSVal | ( | const EnvironmentEntry & | E,
|  | SValBuilder & | svalBuilder
| ) |  | const

Fetches the current binding of the expression in the Environment.

Definition at line 85 of file Environment.cpp.

## ◆ operator==()

bool clang::ento::Environment::operator== | ( | const Environment & | RHS | ) | const
| inline

Definition at line 90 of file Environment.h.

## ◆ printJson()

void Environment::printJson | ( | raw_ostream & | Out,
|  | const ASTContext & | Ctx,
|  | const LocationContext * | LCtx = `nullptr`,
|  | const char * | NL = `"\n"`,
|  | unsigned int | Space = `0`,
|  | bool | IsDot = `false`
| ) |  | const

Definition at line 204 of file Environment.cpp.

References clang::LocationContext::getParent(), clang::ASTContext::getPrintingPolicy(), clang::LocationContext::getStackFrame(), clang::Indent(), and clang::LocationContext::printJson().

## ◆ Profile() [1/2]

static void clang::ento::Environment::Profile | ( | llvm::FoldingSetNodeID & | ID,
|  | const Environment * | env
| ) |  |
| inline static

Profile - Profile the contents of an Environment object for use in a FoldingSet.

Definition at line 80 of file Environment.h.

Referenced by clang::ento::ProgramState::Profile().

## ◆ Profile() [2/2]

void clang::ento::Environment::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | const
| inline

Profile - Used to profile the contents of this object for inclusion in a FoldingSet.

Definition at line 86 of file Environment.h.

References clang::ento::EnvironmentEntry::Profile().

## Friends And Related Function Documentation

## ◆ EnvironmentManager

friend class EnvironmentManager
| friend

Definition at line 58 of file Environment.h.

The documentation for this class was generated from the following files:

- include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
- lib/StaticAnalyzer/Core/Environment.cpp