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
- public void Profile(llvm::FoldingSetNodeID & ID) const
- public RetainSummary(clang::ento::ArgEffects A, clang::ento::RetEffect R, clang::ento::ArgEffect defaultEff, clang::ento::ArgEffect ReceiverEff, clang::ento::ArgEffect ThisEff)
- public void addArg(ArgEffects::Factory & af, unsigned int idx, clang::ento::ArgEffect e)
- public clang::ento::ArgEffect getArg(unsigned int idx) const
- public clang::ento::ArgEffects getArgEffects() const
- private clang::ento::ArgEffect getDefaultArgEffect() const
- public clang::ento::ArgEffect getDefaultEffect() const
- public clang::ento::ArgEffect getReceiverEffect() const
- public clang::ento::RetEffect getRetEffect() const
- public clang::ento::ArgEffect getThisEffect() const
- public bool isNoop() const
- public bool isSimple() const
- public void setDefaultArgEffect(clang::ento::ArgEffect E)
- public void setReceiverEffect(clang::ento::ArgEffect e)
- public void setRetEffect(clang::ento::RetEffect E)
- public void setThisEffect(clang::ento::ArgEffect e)
Methods
¶void Profile(llvm::FoldingSetNodeID& ID) const
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
¶RetainSummary(clang::ento::ArgEffects A,
clang::ento::RetEffect R,
clang::ento::ArgEffect defaultEff,
clang::ento::ArgEffect ReceiverEff,
clang::ento::ArgEffect ThisEff)
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)
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
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
clang::ento::ArgEffects getArgEffects() const
Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:381
¶clang::ento::ArgEffect getDefaultArgEffect() const
clang::ento::ArgEffect getDefaultArgEffect() const
Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:384
¶clang::ento::ArgEffect getDefaultEffect() const
clang::ento::ArgEffect getDefaultEffect() const
Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:348
¶clang::ento::ArgEffect getReceiverEffect() const
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
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
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
bool isNoop() const
Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:353
¶bool isSimple() const
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)
void setDefaultArgEffect(clang::ento::ArgEffect E)
Description
setDefaultArgEffect - Set the default argument effect.
Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:326
Parameters
¶void setReceiverEffect(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
¶void setRetEffect(clang::ento::RetEffect 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
¶void setThisEffect(clang::ento::ArgEffect 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