class CXXMemberOperatorCall
Declaration
class CXXMemberOperatorCall : public CXXInstanceCall { /* full declaration omitted */ };
Description
Represents a C++ overloaded operator call where the operator is implemented as a non-static member function. Example: iter + 1
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:738
Inherits from: CXXInstanceCall
Member Variables
Inherited from CallEvent:
Method Overview
- protected CXXMemberOperatorCall(const clang::CXXOperatorCallExpr * CE, clang::ento::ProgramStateRef St, const clang::LocationContext * LCtx)
- protected CXXMemberOperatorCall(const clang::ento::CXXMemberOperatorCall & Other)
- public static bool classof(const clang::ento::CallEvent * CA)
- protected void cloneTo(void * Dest) const
- public unsigned int getASTArgumentIndex(unsigned int CallArgumentIndex) const
- public Optional<unsigned int> getAdjustedParameterIndex(unsigned int ASTArgumentIndex) const
- public const clang::Expr * getArgExpr(unsigned int Index) const
- public const clang::Expr * getCXXThisExpr() const
- public clang::ento::CallEvent::Kind getKind() const
- public llvm::StringRef getKindAsString() const
- public unsigned int getNumArgs() const
- public const clang::CXXOperatorCallExpr * getOriginExpr() const
- public clang::OverloadedOperatorKind getOverloadedOperator() const
Inherited from CXXInstanceCall:
- public classof
- public getCXXThisExpr
- public getCXXThisVal
- public getDecl
- protected getExtraInvalidatedValues
- public getInitialStackFrameContents
- public getRuntimeDefinition
Inherited from AnyFunctionCall:
- public argumentsMayEscape
- public classof
- public getDecl
- public getInitialStackFrameContents
- public getRuntimeDefinition
- public parameters
Inherited from CallEvent:
- public argumentsMayEscape
- protected cloneTo
- public cloneWithState
- public cloneWithState
- public dump
- public dump
- public getASTArgumentIndex
- public getAdjustedParameterIndex
- public getArgExpr
- public getArgSVal
- public getArgSourceRange
- public getCalleeAnalysisDeclContext
- public getCalleeIdentifier
- public getCalleeStackFrame
- public getConstructionContext
- public getDecl
- public getDeclaredResultType
- protected getExtraInvalidatedValues
- public getInitialStackFrameContents
- public getKind
- public getKindAsString
- public getLocationContext
- public getNumArgs
- public getOriginExpr
- public getParameterLocation
- public getProgramPoint
- public getResultType
- public getReturnValue
- public getReturnValueUnderConstruction
- public getRuntimeDefinition
- protected getSVal
- public getSourceRange
- public getState
- public hasNonNullArgumentsWithType
- public hasNonZeroCallbackArg
- public hasVoidPointerToNonConstArg
- public invalidateRegions
- public isArgumentConstructedDirectly
- public isCallStmt
- public isForeign
- public isGlobalCFunction
- public isInSystemHeader
- public isVariadic
- public param_type_begin
- public param_type_end
- public parameters
- public setForeign
Methods
¶CXXMemberOperatorCall(
const clang::CXXOperatorCallExpr* CE,
clang::ento::ProgramStateRef St,
const clang::LocationContext* LCtx)
CXXMemberOperatorCall(
const clang::CXXOperatorCallExpr* CE,
clang::ento::ProgramStateRef St,
const clang::LocationContext* LCtx)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:742
Parameters
- const clang::CXXOperatorCallExpr* CE
- clang::ento::ProgramStateRef St
- const clang::LocationContext* LCtx
¶CXXMemberOperatorCall(
const clang::ento::CXXMemberOperatorCall&
Other)
CXXMemberOperatorCall(
const clang::ento::CXXMemberOperatorCall&
Other)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:745
Parameters
- const clang::ento::CXXMemberOperatorCall& Other
¶static bool classof(
const clang::ento::CallEvent* CA)
static bool classof(
const clang::ento::CallEvent* CA)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:769
Parameters
- const clang::ento::CallEvent* CA
¶void cloneTo(void* Dest) const
void cloneTo(void* Dest) const
Description
Copies this CallEvent, with vtable intact, into a new block of memory.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:747
Parameters
- void* Dest
¶unsigned int getASTArgumentIndex(
unsigned int CallArgumentIndex) const
unsigned int getASTArgumentIndex(
unsigned int CallArgumentIndex) const
Description
Some call event sub-classes conveniently adjust mismatching AST indices to match parameter indices. This function converts an argument index as understood by CallEvent to the argument index as understood by the AST.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:781
Parameters
- unsigned int CallArgumentIndex
¶Optional<unsigned int> getAdjustedParameterIndex(
unsigned int ASTArgumentIndex) const
Optional<unsigned int> getAdjustedParameterIndex(
unsigned int ASTArgumentIndex) const
Description
Some calls have parameter numbering mismatched from argument numbering. This function converts an argument index to the corresponding parameter index. Returns None is the argument doesn't correspond to any parameter variable.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:774
Parameters
- unsigned int ASTArgumentIndex
¶const clang::Expr* getArgExpr(
unsigned int Index) const
const clang::Expr* getArgExpr(
unsigned int Index) const
Description
Returns the expression associated with a given argument. May be null if this expression does not appear in the source.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:760
Parameters
- unsigned int Index
¶const clang::Expr* getCXXThisExpr() const
const clang::Expr* getCXXThisExpr() const
Description
Returns the expression representing the implicit 'this' object.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:764
¶clang::ento::CallEvent::Kind getKind() const
clang::ento::CallEvent::Kind getKind() const
Description
Returns the kind of call this is.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:766
¶llvm::StringRef getKindAsString() const
llvm::StringRef getKindAsString() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:767
¶unsigned int getNumArgs() const
unsigned int getNumArgs() const
Description
Returns the number of arguments (explicit and implicit). Note that this may be greater than the number of parameters in the callee's declaration, and that it may include arguments not written in the source.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:756
¶const clang::CXXOperatorCallExpr* getOriginExpr()
const
const clang::CXXOperatorCallExpr* getOriginExpr()
const
Description
Returns the expression whose value will be the result of this call. May be null.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:752
¶clang::OverloadedOperatorKind
getOverloadedOperator() const
clang::OverloadedOperatorKind
getOverloadedOperator() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:787