clang 20.0.0git
|
A lightweight polymorphic wrapper around FieldRegion *. More...
Public Member Functions | |
FieldNode (const FieldRegion *FR) | |
FieldNode ()=delete | |
FieldNode (const FieldNode &)=delete | |
FieldNode (FieldNode &&)=delete | |
FieldNode & | operator= (const FieldNode &)=delete |
FieldNode & | operator= (const FieldNode &&)=delete |
void | Profile (llvm::FoldingSetNodeID &ID) const |
bool | isSameRegion (const FieldRegion *OtherFR) const |
Helper method for uniqueing. | |
const FieldRegion * | getRegion () const |
const FieldDecl * | getDecl () const |
virtual void | printNoteMsg (llvm::raw_ostream &Out) const =0 |
If this is the last element of the fieldchain, this method will print the note message associated with it. | |
virtual void | printPrefix (llvm::raw_ostream &Out) const =0 |
Print any prefixes before the fieldchain. Could contain casts, etc. | |
virtual void | printNode (llvm::raw_ostream &Out) const =0 |
Print the node. Should contain the name of the field stored in FR. | |
virtual void | printSeparator (llvm::raw_ostream &Out) const =0 |
Print the separator. | |
virtual bool | isBase () const |
Protected Member Functions | |
~FieldNode ()=default | |
FieldNodes are never meant to be created on the heap, see FindUninitializedFields::addFieldToUninits(). | |
Protected Attributes | |
const FieldRegion * | FR |
A lightweight polymorphic wrapper around FieldRegion *.
We'll use this interface to store addinitional information about fields. As described later, a list of these objects (i.e. "fieldchain") will be constructed and used for printing note messages should an uninitialized value be found.
Definition at line 85 of file UninitializedObject.h.
|
protecteddefault |
FieldNodes are never meant to be created on the heap, see FindUninitializedFields::addFieldToUninits().
|
inline |
Definition at line 94 of file UninitializedObject.h.
|
delete |
|
delete |
|
delete |
|
inline |
Definition at line 118 of file UninitializedObject.h.
References FR, and clang::ento::FieldRegion::getDecl().
|
inline |
Definition at line 117 of file UninitializedObject.h.
References FR.
Referenced by clang::ento::FieldChainInfo::getUninitRegion().
|
inlinevirtual |
Definition at line 145 of file UninitializedObject.h.
|
inline |
|
pure virtual |
Print the node. Should contain the name of the field stored in FR.
Referenced by clang::ento::FieldChainInfo::printNoteMsg().
|
pure virtual |
If this is the last element of the fieldchain, this method will print the note message associated with it.
The note message should state something like "uninitialized field" or "uninitialized pointee" etc.
Referenced by clang::ento::FieldChainInfo::printNoteMsg().
|
pure virtual |
Print any prefixes before the fieldchain. Could contain casts, etc.
|
pure virtual |
Print the separator.
For example, fields may be separated with '.' or "->".
|
inline |
Definition at line 104 of file UninitializedObject.h.
References ID.
|
protected |
Definition at line 87 of file UninitializedObject.h.
Referenced by getDecl(), getRegion(), and isSameRegion().