class FieldChainInfo
Declaration
class FieldChainInfo { /* full declaration omitted */ };
Description
Represents a field chain. A field chain is a list of fields where the first element of the chain is the object under checking (not stored), and every other element is a field, and the element that precedes it is the object that contains it. Note that this class is immutable (essentially a wrapper around an ImmutableList), new FieldChainInfo objects may be created by member functions such as add() and replaceHead().
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:160
Member Variables
- private FieldChain::Factory& ChainFactory
- private clang::ento::FieldChainInfo::FieldChain Chain
Method Overview
- private FieldChainInfo(FieldChain::Factory & F, clang::ento::FieldChainInfo::FieldChain NewChain)
- public FieldChainInfo()
- public FieldChainInfo(FieldChain::Factory & F)
- public FieldChainInfo(const clang::ento::FieldChainInfo & Other)
- public template <class FieldNodeT>clang::ento::FieldChainInfo add(const FieldNodeT & FN)
- public bool contains(const clang::ento::FieldRegion * FR) const
- public const clang::ento::FieldNode & getHead() const
- public const clang::ento::FieldRegion * getUninitRegion() const
- public bool isEmpty() const
- public void printNoteMsg(llvm::raw_ostream & Out) const
- public template <class FieldNodeT>clang::ento::FieldChainInfo replaceHead(const FieldNodeT & FN)
Methods
¶FieldChainInfo(
FieldChain::Factory& F,
clang::ento::FieldChainInfo::FieldChain
NewChain)
FieldChainInfo(
FieldChain::Factory& F,
clang::ento::FieldChainInfo::FieldChain
NewChain)
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:168
Parameters
¶FieldChainInfo()
FieldChainInfo()
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:174
¶FieldChainInfo(FieldChain::Factory& F)
FieldChainInfo(FieldChain::Factory& F)
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:175
Parameters
¶FieldChainInfo(
const clang::ento::FieldChainInfo& Other)
FieldChainInfo(
const clang::ento::FieldChainInfo& Other)
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:176
Parameters
- const clang::ento::FieldChainInfo& Other
¶template <class FieldNodeT>
clang::ento::FieldChainInfo add(
const FieldNodeT& FN)
template <class FieldNodeT>
clang::ento::FieldChainInfo add(
const FieldNodeT& FN)
Description
Constructs a new FieldChainInfo object with \p FN appended.
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:179
Templates
- FieldNodeT
Parameters
- const FieldNodeT& FN
¶bool contains(
const clang::ento::FieldRegion* FR) const
bool contains(
const clang::ento::FieldRegion* FR) const
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:185
Parameters
- const clang::ento::FieldRegion* FR
¶const clang::ento::FieldNode& getHead() const
const clang::ento::FieldNode& getHead() const
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:188
¶const clang::ento::FieldRegion* getUninitRegion()
const
const clang::ento::FieldRegion* getUninitRegion()
const
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:189
¶bool isEmpty() const
bool isEmpty() const
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:186
¶void printNoteMsg(llvm::raw_ostream& Out) const
void printNoteMsg(llvm::raw_ostream& Out) const
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:191
Parameters
- llvm::raw_ostream& Out
¶template <class FieldNodeT>
clang::ento::FieldChainInfo replaceHead(
const FieldNodeT& FN)
template <class FieldNodeT>
clang::ento::FieldChainInfo replaceHead(
const FieldNodeT& FN)
Description
Constructs a new FieldChainInfo object with \p FN as the new head of the list.
Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:183
Templates
- FieldNodeT
Parameters
- const FieldNodeT& FN