struct SExprBuilder::CallingContext

Declaration

struct SExprBuilder::CallingContext { /* full declaration omitted */ };

Description

Encapsulates the lexical context of a function call. The lexical context includes the arguments to the call, including the implicit object argument. When an attribute containing a mutex expression is attached to a method, the expression may refer to formal parameters of the method. Actual arguments must be substituted for formal parameters to derive the appropriate mutex expression in the lexical context where the function is called. PrevCtx holds the context in which the arguments themselves should be evaluated; multiple calling contexts can be chained together by the lock_returned attribute.

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h:349

Member Variables

public clang::threadSafety::SExprBuilder::CallingContext* Prev
public const clang::NamedDecl* AttrDecl
public const clang::Expr* SelfArg = nullptr
public unsigned int NumArgs = 0
public const clang::Expr* const* FunArgs = nullptr
public bool SelfArrow = false

Method Overview

  • public CallingContext(clang::threadSafety::SExprBuilder::CallingContext * P, const clang::NamedDecl * D = nullptr)

Methods

ΒΆCallingContext(
    clang::threadSafety::SExprBuilder::
        CallingContext* P,
    const clang::NamedDecl* D = nullptr)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h:368

Parameters

clang::threadSafety::SExprBuilder::CallingContext* P
const clang::NamedDecl* D = nullptr