class AggregateStorageLocation

Declaration

class AggregateStorageLocation : public StorageLocation { /* full declaration omitted */ };

Description

A storage location which is subdivided into smaller storage locations that can be traced independently by abstract interpretation. For example: a struct with public members. The child map is flat, so when used for a struct or class type, all accessible members of base struct and class types are directly accesible as children of this location.

Declared at: clang/include/clang/Analysis/FlowSensitive/StorageLocation.h:68

Inherits from: StorageLocation

Member Variables

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

Method Overview

  • public AggregateStorageLocation(clang::QualType Type)
  • public AggregateStorageLocation(clang::QualType Type, llvm::DenseMap<const ValueDecl *, StorageLocation *> Children)
  • public static bool classof(const clang::dataflow::StorageLocation * Loc)
  • public clang::dataflow::StorageLocation & getChild(const clang::ValueDecl & D) const

Inherited from StorageLocation:

Methods

AggregateStorageLocation(clang::QualType Type)

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

Parameters

clang::QualType Type

AggregateStorageLocation(
    clang::QualType Type,
    llvm::DenseMap<const ValueDecl*,
                   StorageLocation*> Children)

Declared at: clang/include/clang/Analysis/FlowSensitive/StorageLocation.h:74

Parameters

clang::QualType Type
llvm::DenseMap<const ValueDecl*, StorageLocation*> Children

static bool classof(
    const clang::dataflow::StorageLocation* Loc)

Declared at: clang/include/clang/Analysis/FlowSensitive/StorageLocation.h:79

Parameters

const clang::dataflow::StorageLocation* Loc

clang::dataflow::StorageLocation& getChild(
    const clang::ValueDecl& D) const

Description

Returns the child storage location for `D`.

Declared at: clang/include/clang/Analysis/FlowSensitive/StorageLocation.h:84

Parameters

const clang::ValueDecl& D