class AnyCall

Declaration

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

Description

An instance of this class corresponds to a call. It might be a syntactically-concrete call, done as a part of evaluating an expression, or it may be an abstract callee with no associated expression.

Declared at: clang/include/clang/Analysis/AnyCall.h:25

Member Variables

private const clang::Expr* E = nullptr
Call expression, is null when is not known (then declaration is non-null), or for implicit destructor calls (when no expression exists.)
private const clang::Decl* D = nullptr
Corresponds to a statically known declaration of the called function, or null if it is not known (e.g. for a function pointer).
private clang::AnyCall::Kind K

Method Overview

  • public AnyCall(const clang::ObjCMessageExpr * ME)
  • public AnyCall(const clang::CXXNewExpr * NE)
  • public AnyCall(const clang::CXXDeleteExpr * NE)
  • public AnyCall(const clang::CXXConstructExpr * NE)
  • public AnyCall(const clang::CXXInheritedCtorInitExpr * CIE)
  • public AnyCall(const clang::CXXDestructorDecl * D)
  • public AnyCall(const clang::CXXConstructorDecl * D)
  • public AnyCall(const clang::ObjCMethodDecl * D)
  • public AnyCall(const clang::FunctionDecl * D)
  • public AnyCall(const clang::CallExpr * CE)
  • public void dump() const
  • public static Optional<clang::AnyCall> forDecl(const clang::Decl * D)
  • public static Optional<clang::AnyCall> forExpr(const clang::Expr * E)
  • public const clang::Decl * getDecl() const
  • public const clang::Expr * getExpr() const
  • public const clang::IdentifierInfo * getIdentifier() const
  • public clang::AnyCall::Kind getKind() const
  • public clang::QualType getReturnType(clang::ASTContext & Ctx) const
  • public clang::AnyCall::param_const_iterator param_begin() const
  • public bool param_empty() const
  • public clang::AnyCall::param_const_iterator param_end() const
  • public size_t param_size() const
  • public ArrayRef<clang::ParmVarDecl *> parameters() const

Methods

AnyCall(const clang::ObjCMessageExpr* ME)

Declared at: clang/include/clang/Analysis/AnyCall.h:78

Parameters

const clang::ObjCMessageExpr* ME

AnyCall(const clang::CXXNewExpr* NE)

Declared at: clang/include/clang/Analysis/AnyCall.h:81

Parameters

const clang::CXXNewExpr* NE

AnyCall(const clang::CXXDeleteExpr* NE)

Declared at: clang/include/clang/Analysis/AnyCall.h:84

Parameters

const clang::CXXDeleteExpr* NE

AnyCall(const clang::CXXConstructExpr* NE)

Declared at: clang/include/clang/Analysis/AnyCall.h:87

Parameters

const clang::CXXConstructExpr* NE

AnyCall(
    const clang::CXXInheritedCtorInitExpr* CIE)

Declared at: clang/include/clang/Analysis/AnyCall.h:90

Parameters

const clang::CXXInheritedCtorInitExpr* CIE

AnyCall(const clang::CXXDestructorDecl* D)

Declared at: clang/include/clang/Analysis/AnyCall.h:93

Parameters

const clang::CXXDestructorDecl* D

AnyCall(const clang::CXXConstructorDecl* D)

Declared at: clang/include/clang/Analysis/AnyCall.h:95

Parameters

const clang::CXXConstructorDecl* D

AnyCall(const clang::ObjCMethodDecl* D)

Declared at: clang/include/clang/Analysis/AnyCall.h:97

Parameters

const clang::ObjCMethodDecl* D

AnyCall(const clang::FunctionDecl* D)

Declared at: clang/include/clang/Analysis/AnyCall.h:99

Parameters

const clang::FunctionDecl* D

AnyCall(const clang::CallExpr* CE)

Declared at: clang/include/clang/Analysis/AnyCall.h:69

Parameters

const clang::CallExpr* CE

void dump() const

Declared at: clang/include/clang/Analysis/AnyCall.h:208

static Optional<clang::AnyCall> forDecl(
    const clang::Decl* D)

Description

If @c D is a callable (Objective-C method or a function), return a constructed @c AnyCall object. Return None otherwise.

Declared at: clang/include/clang/Analysis/AnyCall.h:133

Parameters

const clang::Decl* D

static Optional<clang::AnyCall> forExpr(
    const clang::Expr* E)

Description

If @c E is a generic call (to ObjC method /function/block/etc), return a constructed @c AnyCall object. Return None otherwise.

Declared at: clang/include/clang/Analysis/AnyCall.h:112

Parameters

const clang::Expr* E

const clang::Decl* getDecl() const

Declared at: clang/include/clang/Analysis/AnyCall.h:196

const clang::Expr* getExpr() const

Declared at: clang/include/clang/Analysis/AnyCall.h:200

const clang::IdentifierInfo* getIdentifier() const

Declared at: clang/include/clang/Analysis/AnyCall.h:190

Returns

Function identifier if it is a named declaration,@c nullptr otherwise.

clang::AnyCall::Kind getKind() const

Declared at: clang/include/clang/Analysis/AnyCall.h:204

clang::QualType getReturnType(
    clang::ASTContext& Ctx) const

Declared at: clang/include/clang/Analysis/AnyCall.h:164

Parameters

clang::ASTContext& Ctx

clang::AnyCall::param_const_iterator param_begin()
    const

Declared at: clang/include/clang/Analysis/AnyCall.h:159

bool param_empty() const

Declared at: clang/include/clang/Analysis/AnyCall.h:162

clang::AnyCall::param_const_iterator param_end()
    const

Declared at: clang/include/clang/Analysis/AnyCall.h:160

size_t param_size() const

Declared at: clang/include/clang/Analysis/AnyCall.h:161

ArrayRef<clang::ParmVarDecl*> parameters() const

Declared at: clang/include/clang/Analysis/AnyCall.h:143

Returns

formal parameters for direct calls (including virtual calls)