class Value

Declaration

class Value { /* full declaration omitted */ };

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`.

Declared at: clang/include/clang/Analysis/FlowSensitive/Value.h:32

Member Variables

private clang::dataflow::Value::Kind ValKind
private llvm::StringMap<Value*> Properties

Method Overview

  • public Value(clang::dataflow::Value::Kind ValKind)
  • public Value(const clang::dataflow::Value &)
  • public clang::dataflow::Value::Kind getKind() const
  • public clang::dataflow::Value * getProperty(llvm::StringRef Name) const
  • public void setProperty(llvm::StringRef Name, clang::dataflow::Value & Val)
  • public virtual ~Value()

Methods

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

Declared at: clang/include/clang/Analysis/FlowSensitive/Value.h:49

Parameters

clang::dataflow::Value::Kind ValKind

Value(const clang::dataflow::Value&)

Declared at: clang/include/clang/Analysis/FlowSensitive/Value.h:54

Parameters

const clang::dataflow::Value&

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

Declared at: clang/include/clang/Analysis/FlowSensitive/Value.h:59

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

Description

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

Declared at: clang/include/clang/Analysis/FlowSensitive/Value.h:63

Parameters

llvm::StringRef Name

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

Description

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

Declared at: clang/include/clang/Analysis/FlowSensitive/Value.h:70

Parameters

llvm::StringRef Name
clang::dataflow::Value& Val

virtual ~Value()

Declared at: clang/include/clang/Analysis/FlowSensitive/Value.h:57