clang 18.0.0git
Classes | Namespaces | Enumerations | Functions
DataflowEnvironment.h File Reference
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/Expr.h"
#include "clang/AST/Type.h"
#include "clang/Analysis/FlowSensitive/ControlFlowContext.h"
#include "clang/Analysis/FlowSensitive/DataflowAnalysisContext.h"
#include "clang/Analysis/FlowSensitive/DataflowLattice.h"
#include "clang/Analysis/FlowSensitive/Formula.h"
#include "clang/Analysis/FlowSensitive/Logger.h"
#include "clang/Analysis/FlowSensitive/StorageLocation.h"
#include "clang/Analysis/FlowSensitive/Value.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include <memory>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

class  clang::dataflow::Environment
 Holds the state of the program (store and heap) at a given program point. More...
 
class  clang::dataflow::Environment::ValueModel
 Supplements Environment with non-standard comparison and join operations. More...
 

Namespaces

namespace  clang
 
namespace  clang::dataflow
 Dataflow Directional Tag Classes.
 

Enumerations

enum class  clang::dataflow::ComparisonResult { clang::dataflow::Same , clang::dataflow::Different , clang::dataflow::Unknown }
 Indicates the result of a tentative comparison. More...
 

Functions

RecordStorageLocation * clang::dataflow::getImplicitObjectLocation (const CXXMemberCallExpr &MCE, const Environment &Env)
 Returns the storage location for the implicit object of a CXXMemberCallExpr, or null if none is defined in the environment.
 
RecordStorageLocation * clang::dataflow::getBaseObjectLocation (const MemberExpr &ME, const Environment &Env)
 Returns the storage location for the base object of a MemberExpr, or null if none is defined in the environment.
 
std::vector< FieldDecl * > clang::dataflow::getFieldsForInitListExpr (const RecordDecl *RD)
 Returns the fields of RD that are initialized by an InitListExpr, in the order in which they appear in InitListExpr::inits().
 
RecordValue & clang::dataflow::refreshRecordValue (RecordStorageLocation &Loc, Environment &Env)
 Associates a new RecordValue with Loc and returns the new value.
 
RecordValue & clang::dataflow::refreshRecordValue (const Expr &Expr, Environment &Env)
 Associates a new RecordValue with Expr and returns the new value.