clang 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::ento::EnvironmentEntry Class Reference

An entry in the environment consists of a Stmt and an LocationContext. More...

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

Inheritance diagram for clang::ento::EnvironmentEntry:
Inheritance graph
[legend]

Public Member Functions

 EnvironmentEntry (const Stmt *s, const LocationContext *L)
 
const StmtgetStmt () const
 
const LocationContextgetLocationContext () const
 
void Profile (llvm::FoldingSetNodeID &ID) const
 

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, const EnvironmentEntry &E)
 Profile an EnvironmentEntry for inclusion in a FoldingSet.
 

Detailed Description

An entry in the environment consists of a Stmt and an LocationContext.

This allows the environment to manage context-sensitive bindings, which is essentially for modeling recursive function analysis, among other things.

Definition at line 35 of file Environment.h.

Constructor & Destructor Documentation

◆ EnvironmentEntry()

EnvironmentEntry::EnvironmentEntry ( const Stmt s,
const LocationContext L 
)

Definition at line 74 of file Environment.cpp.

Member Function Documentation

◆ getLocationContext()

const LocationContext * clang::ento::EnvironmentEntry::getLocationContext ( ) const
inline

◆ getStmt()

const Stmt * clang::ento::EnvironmentEntry::getStmt ( ) const
inline

◆ Profile() [1/2]

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

Definition at line 50 of file Environment.h.

References ID, and Profile().

◆ Profile() [2/2]

static void clang::ento::EnvironmentEntry::Profile ( llvm::FoldingSetNodeID &  ID,
const EnvironmentEntry E 
)
inlinestatic

Profile an EnvironmentEntry for inclusion in a FoldingSet.

Definition at line 44 of file Environment.h.

References getLocationContext(), getStmt(), and ID.

Referenced by Profile().


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