class PointerToMember
Declaration
class PointerToMember : public NonLoc { /* full declaration omitted */ };
Description
Value representing pointer-to-member. This value is qualified as NonLoc because neither loading nor storing operations are applied to it. Instead, the analyzer uses the L-value coming from pointer-to-member applied to an object. This SVal is represented by a NamedDecl which can be a member function pointer or a member data pointer and an optional list of CXXBaseSpecifiers. This list is required to accumulate the pointer-to-member cast history to figure out the correct subobject field. In particular, implicit casts grow this list and explicit casts like static_cast shrink this list.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:442
Inherits from: NonLoc
Member Variables
Inherited from SVal:
- protected Data = nullptr
- protected Kind = 0
Method Overview
- private PointerToMember(const clang::ento::nonloc::PointerToMember::PTMDataType D)
- public clang::ento::nonloc::PointerToMember::iterator begin() const
- public static bool classof(clang::ento::SVal V)
- public static bool classof(clang::ento::NonLoc V)
- public clang::ento::nonloc::PointerToMember::iterator end() const
- public const clang::NamedDecl * getDecl() const
- public template <typename AdjustedDecl>const AdjustedDecl * getDeclAs() const
- public const clang::ento::nonloc::PointerToMember::PTMDataType getPTMData() const
- public bool isNullMemberPointer() const
Inherited from NonLoc:
Inherited from DefinedSVal:
Inherited from DefinedOrUnknownSVal:
Inherited from SVal:
- public Profile
- public castAs
- public dump
- public dumpToStream
- public getAs
- public getAsFunctionDecl
- public getAsInteger
- public getAsLocSymbol
- public getAsRegion
- public getAsSymbol
- public getBaseKind
- public getLocSymbolInBase
- public getRawKind
- public getSubKind
- public getType
- public isConstant
- public isConstant
- public isUndef
- public isUnknown
- public isUnknownOrUndef
- public isValid
- public isZeroConstant
- public printJson
- public symbol_begin
- public symbol_end
Methods
¶PointerToMember(
const clang::ento::nonloc::PointerToMember::
PTMDataType D)
PointerToMember(
const clang::ento::nonloc::PointerToMember::
PTMDataType D)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:477
Parameters
- const clang::ento::nonloc::PointerToMember:: PTMDataType D
¶clang::ento::nonloc::PointerToMember::iterator
begin() const
clang::ento::nonloc::PointerToMember::iterator
begin() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:464
¶static bool classof(clang::ento::SVal V)
static bool classof(clang::ento::SVal V)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:467
Parameters
¶static bool classof(clang::ento::NonLoc V)
static bool classof(clang::ento::NonLoc V)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:472
Parameters
¶clang::ento::nonloc::PointerToMember::iterator
end() const
clang::ento::nonloc::PointerToMember::iterator
end() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:465
¶const clang::NamedDecl* getDecl() const
const clang::NamedDecl* getDecl() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:455
¶template <typename AdjustedDecl>
const AdjustedDecl* getDeclAs() const
template <typename AdjustedDecl>
const AdjustedDecl* getDeclAs() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:458
Templates
- AdjustedDecl
¶const clang::ento::nonloc::PointerToMember::
PTMDataType
getPTMData() const
const clang::ento::nonloc::PointerToMember::
PTMDataType
getPTMData() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:449
¶bool isNullMemberPointer() const
bool isNullMemberPointer() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:453