clang  6.0.0svn
Public Member Functions | Static Public Member Functions | List of all members
clang::ento::SymbolExtent Class Reference

SymbolExtent - Represents the extent (size in bytes) of a bounded region. More...

#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"

Inheritance diagram for clang::ento::SymbolExtent:
Inheritance graph
[legend]
Collaboration diagram for clang::ento::SymbolExtent:
Collaboration graph
[legend]

Public Member Functions

 SymbolExtent (SymbolID sym, const SubRegion *r)
 
const SubRegiongetRegion () const
 
QualType getType () const override
 
void dumpToStream (raw_ostream &os) const override
 
void Profile (llvm::FoldingSetNodeID &profile) override
 
- Public Member Functions inherited from clang::ento::SymbolData
 ~SymbolData () override
 
SymbolID getSymbolID () const
 
- Public Member Functions inherited from clang::ento::SymExpr
virtual ~SymExpr ()
 
Kind getKind () const
 
virtual void dump () const
 
symbol_iterator symbol_begin () const
 
unsigned computeComplexity () const
 
virtual const MemRegiongetOriginRegion () const
 Find the region from which this symbol originates. More...
 

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &profile, const SubRegion *R)
 
static bool classof (const SymExpr *SE)
 
- Static Public Member Functions inherited from clang::ento::SymbolData
static bool classof (const SymExpr *SE)
 
- Static Public Member Functions inherited from clang::ento::SymExpr
static symbol_iterator symbol_end ()
 

Additional Inherited Members

- Public Types inherited from clang::ento::SymExpr
enum  Kind
 
- Protected Member Functions inherited from clang::ento::SymbolData
 SymbolData (Kind k, SymbolID sym)
 
- Protected Member Functions inherited from clang::ento::SymExpr
 SymExpr (Kind k)
 
- Static Protected Member Functions inherited from clang::ento::SymExpr
static bool isValidTypeForSymbol (QualType T)
 

Detailed Description

SymbolExtent - Represents the extent (size in bytes) of a bounded region.

Clients should not ask the SymbolManager for a region's extent. Always use SubRegion::getExtent instead – the value returned may not be a symbol.

Definition at line 168 of file SymbolManager.h.

Constructor & Destructor Documentation

◆ SymbolExtent()

clang::ento::SymbolExtent::SymbolExtent ( SymbolID  sym,
const SubRegion r 
)
inline

Definition at line 172 of file SymbolManager.h.

Member Function Documentation

◆ classof()

static bool clang::ento::SymbolExtent::classof ( const SymExpr SE)
inlinestatic

Definition at line 193 of file SymbolManager.h.

References clang::ento::SymExpr::getKind().

◆ dumpToStream()

void SymbolExtent::dumpToStream ( raw_ostream &  os) const
overridevirtual

Reimplemented from clang::ento::SymExpr.

Definition at line 82 of file SymbolManager.cpp.

◆ getRegion()

const SubRegion* clang::ento::SymbolExtent::getRegion ( ) const
inline

◆ getType()

QualType SymbolExtent::getType ( ) const
overridevirtual

Implements clang::ento::SymExpr.

Definition at line 323 of file SymbolManager.cpp.

◆ Profile() [1/2]

static void clang::ento::SymbolExtent::Profile ( llvm::FoldingSetNodeID &  profile,
const SubRegion R 
)
inlinestatic

Definition at line 183 of file SymbolManager.h.

◆ Profile() [2/2]

void clang::ento::SymbolExtent::Profile ( llvm::FoldingSetNodeID &  profile)
inlineoverridevirtual

Implements clang::ento::SymExpr.

Definition at line 188 of file SymbolManager.h.

References clang::ento::SymbolRegionValue::Profile().


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