clang 19.0.0git
Public Types | Public Member Functions | List of all members
clang::dataflow::Value Class Reference

Base class for all values computed by abstract interpretation. More...

#include "clang/Analysis/FlowSensitive/Value.h"

Inheritance diagram for clang::dataflow::Value:
Inheritance graph
[legend]

Public Types

enum class  Kind {
  Integer , Pointer , Record , TopBool ,
  AtomicBool , FormulaBool
}
 

Public Member Functions

 Value (Kind ValKind)
 
 Value (const Value &)=delete
 
Valueoperator= (const Value &)=delete
 
virtual ~Value ()=default
 
Kind getKind () const
 
ValuegetProperty (llvm::StringRef Name) const
 Returns the value of the synthetic property with the given Name or null if the property isn't assigned a value.
 
void setProperty (llvm::StringRef Name, Value &Val)
 Assigns Val as the value of the synthetic property with the given Name.
 
llvm::iterator_range< llvm::StringMap< Value * >::const_iterator > properties () const
 

Detailed Description

Base class for all values computed by abstract interpretation.

Don't use Value instances by value. All Value instances are allocated and owned by DataflowAnalysisContext.

Definition at line 33 of file Value.h.

Member Enumeration Documentation

◆ Kind

enum class clang::dataflow::Value::Kind
strong
Enumerator
Integer 
Pointer 
Record 
TopBool 
AtomicBool 
FormulaBool 

Definition at line 35 of file Value.h.

Constructor & Destructor Documentation

◆ Value() [1/2]

clang::dataflow::Value::Value ( Kind  ValKind)
inlineexplicit

Definition at line 46 of file Value.h.

◆ Value() [2/2]

clang::dataflow::Value::Value ( const Value )
delete

◆ ~Value()

virtual clang::dataflow::Value::~Value ( )
virtualdefault

Member Function Documentation

◆ getKind()

Kind clang::dataflow::Value::getKind ( ) const
inline

◆ getProperty()

Value * clang::dataflow::Value::getProperty ( llvm::StringRef  Name) const
inline

Returns the value of the synthetic property with the given Name or null if the property isn't assigned a value.

Definition at line 60 of file Value.h.

◆ operator=()

Value & clang::dataflow::Value::operator= ( const Value )
delete

◆ properties()

llvm::iterator_range< llvm::StringMap< Value * >::const_iterator > clang::dataflow::Value::properties ( ) const
inline

Definition at line 75 of file Value.h.

Referenced by clang::dataflow::areEquivalentValues().

◆ setProperty()

void clang::dataflow::Value::setProperty ( llvm::StringRef  Name,
Value Val 
)
inline

Assigns Val as the value of the synthetic property with the given Name.

Properties may not be set on RecordValues; use synthetic fields instead (for details, see documentation for RecordStorageLocation).

Definition at line 69 of file Value.h.

References getKind(), and Record.


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