class StructValue

Declaration

class StructValue : public Value { /* full declaration omitted */ };

Description

Models a value of `struct` or `class` type, with a flat map of fields to child storage locations, containing all accessible members of base struct and class types.

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

Inherits from: Value

Member Variables

private llvm::DenseMap<const ValueDecl*, Value*> Children

Method Overview

  • public StructValue()
  • public StructValue(llvm::DenseMap<const ValueDecl *, Value *> Children)
  • public static bool classof(const clang::dataflow::Value * Val)
  • public clang::dataflow::Value * getChild(const clang::ValueDecl & D) const
  • public void setChild(const clang::ValueDecl & D, clang::dataflow::Value & Val)

Inherited from Value:

Methods

StructValue()

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

StructValue(llvm::DenseMap<const ValueDecl*,
                           Value*> Children)

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

Parameters

llvm::DenseMap<const ValueDecl*, Value*> Children

static bool classof(
    const clang::dataflow::Value* Val)

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

Parameters

const clang::dataflow::Value* Val

clang::dataflow::Value* getChild(
    const clang::ValueDecl& D) const

Description

Returns the child value that is assigned for `D` or null if the child is not initialized.

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

Parameters

const clang::ValueDecl& D

void setChild(const clang::ValueDecl& D,
              clang::dataflow::Value& Val)

Description

Assigns `Val` as the child value for `D`.

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

Parameters

const clang::ValueDecl& D
clang::dataflow::Value& Val