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)

Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:168

Parameters

FieldChain::Factory& F
clang::ento::FieldChainInfo::FieldChain NewChain

FieldChainInfo()

Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:174

FieldChainInfo(FieldChain::Factory& F)

Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:175

Parameters

FieldChain::Factory& F

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)

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

Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:185

Parameters

const clang::ento::FieldRegion* FR

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

Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:188

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

Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:189

bool isEmpty() const

Declared at: clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h:186

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)

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