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:

protected Data
protected Location

Method Overview

Inherited from CXXInstanceCall:

Inherited from AnyFunctionCall:

Inherited from CallEvent:

Methods

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)

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)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:769

Parameters

const clang::ento::CallEvent* CA

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

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

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

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

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

Description

Returns the kind of call this is.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:766

llvm::StringRef getKindAsString() const

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:767

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

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

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:787