clang  14.0.0git
Public Member Functions | List of all members
clang::ento::DynamicTypeInfo Class Reference

Stores the currently inferred strictest bound on the runtime type of a region in a given state along the analysis path. More...

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

Public Member Functions

 DynamicTypeInfo ()
 
 DynamicTypeInfo (QualType Ty, bool CanBeSub=true)
 
bool canBeASubClass () const
 Returns false if the type information is precise (the type 'DynTy' is the only type in the lattice), true otherwise. More...
 
bool isValid () const
 Returns true if the dynamic type info is available. More...
 
QualType getType () const
 Returns the currently inferred upper bound on the runtime type. More...
 
 operator bool () const
 
bool operator== (const DynamicTypeInfo &RHS) const
 
void Profile (llvm::FoldingSetNodeID &ID) const
 

Detailed Description

Stores the currently inferred strictest bound on the runtime type of a region in a given state along the analysis path.

Definition at line 19 of file DynamicTypeInfo.h.

Constructor & Destructor Documentation

◆ DynamicTypeInfo() [1/2]

clang::ento::DynamicTypeInfo::DynamicTypeInfo ( )
inline

Definition at line 21 of file DynamicTypeInfo.h.

◆ DynamicTypeInfo() [2/2]

clang::ento::DynamicTypeInfo::DynamicTypeInfo ( QualType  Ty,
bool  CanBeSub = true 
)
inline

Definition at line 23 of file DynamicTypeInfo.h.

Member Function Documentation

◆ canBeASubClass()

bool clang::ento::DynamicTypeInfo::canBeASubClass ( ) const
inline

Returns false if the type information is precise (the type 'DynTy' is the only type in the lattice), true otherwise.

Definition at line 28 of file DynamicTypeInfo.h.

Referenced by clang::ento::CXXInstanceCall::getRuntimeDefinition(), and clang::ento::ObjCMethodCall::getRuntimeDefinition().

◆ getType()

QualType clang::ento::DynamicTypeInfo::getType ( ) const
inline

Returns the currently inferred upper bound on the runtime type.

Definition at line 34 of file DynamicTypeInfo.h.

Referenced by clang::ento::CXXInstanceCall::getRuntimeDefinition(), and clang::ento::ObjCMethodCall::getRuntimeDefinition().

◆ isValid()

bool clang::ento::DynamicTypeInfo::isValid ( ) const
inline

Returns true if the dynamic type info is available.

Definition at line 31 of file DynamicTypeInfo.h.

References clang::QualType::isNull().

Referenced by clang::ento::CXXInstanceCall::getRuntimeDefinition(), clang::ento::ObjCMethodCall::getRuntimeDefinition(), and operator bool().

◆ operator bool()

clang::ento::DynamicTypeInfo::operator bool ( ) const
inline

Definition at line 36 of file DynamicTypeInfo.h.

References isValid().

◆ operator==()

bool clang::ento::DynamicTypeInfo::operator== ( const DynamicTypeInfo RHS) const
inline

Definition at line 38 of file DynamicTypeInfo.h.

◆ Profile()

void clang::ento::DynamicTypeInfo::Profile ( llvm::FoldingSetNodeID &  ID) const
inline

Definition at line 42 of file DynamicTypeInfo.h.


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