class RetainSummary

Declaration

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

Description

Summary for a function with respect to ownership changes.

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:282

Member Variables

private clang::ento::ArgEffects Args
Args - a map of (index, ArgEffect) pairs, where index specifies the argument (starting from 0). This can be sparsely populated; arguments with no entry in Args use 'DefaultArgEffect'.
private clang::ento::ArgEffect DefaultArgEffect
DefaultArgEffect - The default ArgEffect to apply to arguments that do not have an entry in Args.
private clang::ento::ArgEffect Receiver
Receiver - If this summary applies to an Objective-C message expression, this is the effect applied to the state of the receiver.
private clang::ento::ArgEffect This
Effect on "this" pointer - applicable only to C++ method calls.
private clang::ento::RetEffect Ret
Ret - The effect on the return value. Used to indicate if the function/method call returns a new tracked symbol.

Method Overview

Methods

void Profile(llvm::FoldingSetNodeID& ID) const

Description

Profile this summary for inclusion in a FoldingSet.

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:368

Parameters

llvm::FoldingSetNodeID& ID

RetainSummary(clang::ento::ArgEffects A,
              clang::ento::RetEffect R,
              clang::ento::ArgEffect defaultEff,
              clang::ento::ArgEffect ReceiverEff,
              clang::ento::ArgEffect ThisEff)

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:304

Parameters

clang::ento::ArgEffects A
clang::ento::RetEffect R
clang::ento::ArgEffect defaultEff
clang::ento::ArgEffect ReceiverEff
clang::ento::ArgEffect ThisEff

void addArg(ArgEffects::Factory& af,
            unsigned int idx,
            clang::ento::ArgEffect e)

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:321

Parameters

ArgEffects::Factory& af
unsigned int idx
clang::ento::ArgEffect e

clang::ento::ArgEffect getArg(
    unsigned int idx) const

Description

getArg - Return the argument effect on the argument specified by idx (starting from 0).

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:314

Parameters

unsigned int idx

clang::ento::ArgEffects getArgEffects() const

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:381

clang::ento::ArgEffect getDefaultArgEffect() const

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:384

clang::ento::ArgEffect getDefaultEffect() const

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:348

clang::ento::ArgEffect getReceiverEffect() const

Description

getReceiverEffect - Returns the effect on the receiver of the call. This is only meaningful if the summary applies to an ObjCMessageExpr*.

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:342

clang::ento::RetEffect getRetEffect() const

Description

getRetEffect - Returns the effect on the return value of the call.

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:331

clang::ento::ArgEffect getThisEffect() const

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:346

Returns

the effect on the "this" receiver of the method call. This is only meaningful if the summary applies to CXXMethodDecl*.

bool isNoop() const

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:353

bool isSimple() const

Description

A retain summary is simple if it has no ArgEffects other than the default.

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:377

void setDefaultArgEffect(clang::ento::ArgEffect E)

Description

setDefaultArgEffect - Set the default argument effect.

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:326

Parameters

clang::ento::ArgEffect E

void setReceiverEffect(clang::ento::ArgEffect e)

Description

Sets the effect on the receiver of the message.

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:338

Parameters

clang::ento::ArgEffect e

void setRetEffect(clang::ento::RetEffect E)

Description

setRetEffect - Set the effect of the return value of the call.

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:334

Parameters

clang::ento::RetEffect E

void setThisEffect(clang::ento::ArgEffect e)

Description

Set the effect of the method on "this".

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:351

Parameters

clang::ento::ArgEffect e