clang  8.0.0
Public Types | Public Member Functions | List of all members
clang::ento::FieldChainInfo Class Reference

Represents a field chain. More...

#include "/work/www-prereleases/8.0.0/rc5/docsbuild/llvm.src/tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h"

Public Types

using FieldChain = llvm::ImmutableList< const FieldNode & >
 

Public Member Functions

 FieldChainInfo ()=delete
 
 FieldChainInfo (FieldChain::Factory &F)
 
 FieldChainInfo (const FieldChainInfo &Other)=default
 
template<class FieldNodeT >
FieldChainInfo add (const FieldNodeT &FN)
 Constructs a new FieldChainInfo object with FN appended. More...
 
template<class FieldNodeT >
FieldChainInfo replaceHead (const FieldNodeT &FN)
 Constructs a new FieldChainInfo object with FN as the new head of the list. More...
 
bool contains (const FieldRegion *FR) const
 
bool isEmpty () const
 
const FieldNodegetHead () const
 
const FieldRegiongetUninitRegion () const
 
void printNoteMsg (llvm::raw_ostream &Out) const
 

Detailed 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().

Definition at line 153 of file UninitializedObject.h.

Member Typedef Documentation

◆ FieldChain

using clang::ento::FieldChainInfo::FieldChain = llvm::ImmutableList<const FieldNode &>

Definition at line 155 of file UninitializedObject.h.

Constructor & Destructor Documentation

◆ FieldChainInfo() [1/3]

clang::ento::FieldChainInfo::FieldChainInfo ( )
delete

◆ FieldChainInfo() [2/3]

clang::ento::FieldChainInfo::FieldChainInfo ( FieldChain::Factory &  F)
inline

Definition at line 168 of file UninitializedObject.h.

◆ FieldChainInfo() [3/3]

clang::ento::FieldChainInfo::FieldChainInfo ( const FieldChainInfo Other)
default

Member Function Documentation

◆ add()

template<class FieldNodeT >
FieldChainInfo clang::ento::FieldChainInfo::add ( const FieldNodeT &  FN)
inline

◆ contains()

bool FieldChainInfo::contains ( const FieldRegion FR) const

◆ getHead()

const FieldNode& clang::ento::FieldChainInfo::getHead ( ) const
inline

◆ getUninitRegion()

const FieldRegion* clang::ento::FieldChainInfo::getUninitRegion ( ) const
inline

◆ isEmpty()

bool clang::ento::FieldChainInfo::isEmpty ( ) const
inline

◆ printNoteMsg()

void FieldChainInfo::printNoteMsg ( llvm::raw_ostream &  Out) const

◆ replaceHead()

template<class FieldNodeT >
FieldChainInfo clang::ento::FieldChainInfo::replaceHead ( const FieldNodeT &  FN)
inline

Constructs a new FieldChainInfo object with FN as the new head of the list.

Definition at line 341 of file UninitializedObject.h.

References add().

Referenced by clang::ento::FindUninitializedFields::FindUninitializedFields().


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