14#ifndef LLVM_CLANG_ANALYSIS_FLOWSENSITIVE_STORAGELOCATION_H
15#define LLVM_CLANG_ANALYSIS_FLOWSENSITIVE_STORAGELOCATION_H
19#include "llvm/ADT/DenseMap.h"
79 llvm::DenseMap<const ValueDecl *, StorageLocation *> Children)
88 auto It = Children.find(&D);
89 assert(It != Children.end());
94 llvm::DenseMap<const ValueDecl *, StorageLocation *> Children;
C Language Family Type Representation.
A (possibly-)qualified type.
The base class of the type hierarchy.
Represent the declaration of a variable (in which case it is an lvalue) a function (in which case it ...
A storage location which is subdivided into smaller storage locations that can be traced independentl...
AggregateStorageLocation(QualType Type, llvm::DenseMap< const ValueDecl *, StorageLocation * > Children)
AggregateStorageLocation(QualType Type)
StorageLocation & getChild(const ValueDecl &D) const
Returns the child storage location for D.
static bool classof(const StorageLocation *Loc)
A storage location that is not subdivided further for the purposes of abstract interpretation.
ScalarStorageLocation(QualType Type)
static bool classof(const StorageLocation *Loc)
Base class for elements of the local variable store and of the heap.
virtual ~StorageLocation()=default
StorageLocation(Kind LocKind, QualType Type)
StorageLocation & operator=(const StorageLocation &)=delete
StorageLocation(const StorageLocation &)=delete
YAML serialization mapping.