class RefVal

Declaration

class RefVal { /* full declaration omitted */ };

Description

Metadata on reference.

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:51

Member Variables

private unsigned int Cnt
The number of outstanding retains.
private unsigned int ACnt
The number of outstanding autoreleases.
private clang::QualType T
The (static) type of the object at the time we started tracking it.
private unsigned int RawKind
See the RefVal::Kind enum for possible values.
private unsigned int RawObjectKind
See the ObjKind enum for possible values.
private unsigned int RawIvarAccessHistory
This setting should not be propagated to state derived from this state. Once we start deriving new states, it would be inconsistent to override them.

Method Overview

  • public void Profile(llvm::FoldingSetNodeID & ID) const
  • private RefVal(clang::ento::retaincountchecker::RefVal::Kind k, clang::ento::ObjKind o, unsigned int cnt, unsigned int acnt, clang::QualType t, clang::ento::retaincountchecker::RefVal::IvarAccessHistory IvarAccess)
  • public clang::ento::retaincountchecker::RefVal autorelease() const
  • public void clearCounts()
  • public unsigned int getAutoreleaseCount() const
  • public unsigned int getCombinedCounts() const
  • public unsigned int getCount() const
  • public clang::ento::retaincountchecker::RefVal::IvarAccessHistory getIvarAccessHistory() const
  • public clang::ento::retaincountchecker::RefVal::Kind getKind() const
  • public clang::ento::ObjKind getObjKind() const
  • public clang::QualType getType() const
  • public bool hasSameState(const clang::ento::retaincountchecker::RefVal & X) const
  • public bool isNotOwned() const
  • public bool isOwned() const
  • public bool isReturnedNotOwned() const
  • public bool isReturnedOwned() const
  • public static clang::ento::retaincountchecker::RefVal makeNotOwned(clang::ento::ObjKind o, clang::QualType t)
  • public static clang::ento::retaincountchecker::RefVal makeOwned(clang::ento::ObjKind o, clang::QualType t)
  • public void print(llvm::raw_ostream & Out) const
  • public clang::ento::retaincountchecker::RefVal releaseViaIvar() const
  • public void setAutoreleaseCount(unsigned int i)
  • public void setCount(unsigned int i)
  • public clang::ento::retaincountchecker::RefVal withIvarAccess() const

Methods

void Profile(llvm::FoldingSetNodeID& ID) const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:226

Parameters

llvm::FoldingSetNodeID& ID

RefVal(
    clang::ento::retaincountchecker::RefVal::Kind
        k,
    clang::ento::ObjKind o,
    unsigned int cnt,
    unsigned int acnt,
    clang::QualType t,
    clang::ento::retaincountchecker::RefVal::
        IvarAccessHistory IvarAccess)

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:110

Parameters

clang::ento::retaincountchecker::RefVal::Kind k
clang::ento::ObjKind o
unsigned int cnt
unsigned int acnt
clang::QualType t
clang::ento::retaincountchecker::RefVal:: IvarAccessHistory IvarAccess

clang::ento::retaincountchecker::RefVal
autorelease() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:199

void clearCounts()

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:130

unsigned int getAutoreleaseCount() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:128

unsigned int getCombinedCounts() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:129

unsigned int getCount() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:127

clang::ento::retaincountchecker::RefVal::
    IvarAccessHistory
    getIvarAccessHistory() const

Description

Returns what the analyzer knows about direct accesses to a particular instance variable. If the object with this refcount wasn't originally from an Objective-C ivar region, this should always return IvarAccessHistory::None.

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:148

clang::ento::retaincountchecker::RefVal::Kind
getKind() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:121

clang::ento::ObjKind getObjKind() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:123

clang::QualType getType() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:141

bool hasSameState(
    const clang::ento::retaincountchecker::RefVal&
        X) const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:217

Parameters

const clang::ento::retaincountchecker::RefVal& X

bool isNotOwned() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:156

bool isOwned() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:152

bool isReturnedNotOwned() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:164

bool isReturnedOwned() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:160

static clang::ento::retaincountchecker::RefVal
makeNotOwned(clang::ento::ObjKind o,
             clang::QualType t)

Description

Create a state for an object whose lifetime is not the responsibility of the current function. Most commonly, this is an unowned object with a retain count of +0.

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:180

Parameters

clang::ento::ObjKind o
clang::QualType t

static clang::ento::retaincountchecker::RefVal
makeOwned(clang::ento::ObjKind o,
          clang::QualType t)

Description

Create a state for an object whose lifetime is the responsibility of the current function, at least partially. Most commonly, this is an owned object with a retain count of +1.

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:172

Parameters

clang::ento::ObjKind o
clang::QualType t

void print(llvm::raw_ostream& Out) const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:235

Parameters

llvm::raw_ostream& Out

clang::ento::retaincountchecker::RefVal
releaseViaIvar() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:210

void setAutoreleaseCount(unsigned int i)

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:137

Parameters

unsigned int i

void setCount(unsigned int i)

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:134

Parameters

unsigned int i

clang::ento::retaincountchecker::RefVal
withIvarAccess() const

Declared at: clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h:204