Lines Matching defs:FieldChainInfo
158 /// ImmutableList), new FieldChainInfo objects may be created by member
160 class FieldChainInfo {
168 FieldChainInfo(FieldChain::Factory &F, FieldChain NewChain)
169 : FieldChainInfo(F) {
174 FieldChainInfo() = delete;
175 FieldChainInfo(FieldChain::Factory &F) : ChainFactory(F) {}
176 FieldChainInfo(const FieldChainInfo &Other) = default;
178 /// Constructs a new FieldChainInfo object with \p FN appended.
179 template <class FieldNodeT> FieldChainInfo add(const FieldNodeT &FN);
181 /// Constructs a new FieldChainInfo object with \p FN as the new head of the
183 template <class FieldNodeT> FieldChainInfo replaceHead(const FieldNodeT &FN);
204 FieldChainInfo::FieldChain::Factory ChainFactory;
294 bool isNonUnionUninit(const TypedValueRegion *R, FieldChainInfo LocalChain);
299 bool isDereferencableUninit(const FieldRegion *FR, FieldChainInfo LocalChain);
318 bool addFieldToUninits(FieldChainInfo LocalChain,
337 inline FieldChainInfo FieldChainInfo::add(const FieldNodeT &FN) {
342 FieldChainInfo NewChain = *this;
348 inline FieldChainInfo FieldChainInfo::replaceHead(const FieldNodeT &FN) {
349 FieldChainInfo NewChain(ChainFactory, Chain.getTail());