class CapabilityExpr

Declaration

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

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

Member Variables

private llvm::PointerIntPair<const til::SExpr*, 1, bool> CapExpr
The capability expression and whether it's negated.
private llvm::StringRef CapKind
The kind of capability as specified by @ref CapabilityAttr::getName.

Method Overview

  • public CapabilityExpr()
  • public CapabilityExpr(const til::SExpr * E, llvm::StringRef Kind, bool Neg)
  • public template <typename T> CapabilityExpr(const til::SExpr *, T, bool)
  • public bool equals(const clang::threadSafety::CapabilityExpr & other) const
  • public llvm::StringRef getKind() const
  • public bool isInvalid() const
  • public bool isUniversal() const
  • public bool matches(const clang::threadSafety::CapabilityExpr & other) const
  • public bool matchesUniv(const clang::threadSafety::CapabilityExpr & CapE) const
  • public bool negative() const
  • public bool partiallyMatches(const clang::threadSafety::CapabilityExpr & other) const
  • public const til::SExpr * sexpr() const
  • public bool shouldIgnore() const
  • public std::string toString() const
  • public const clang::ValueDecl * valueDecl() const

Methods

CapabilityExpr()

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

CapabilityExpr(const til::SExpr* E,
               llvm::StringRef Kind,
               bool Neg)

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

Parameters

const til::SExpr* E
llvm::StringRef Kind
bool Neg

template <typename T>
CapabilityExpr(const til::SExpr*, T, bool)

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

Templates

T

Parameters

const til::SExpr*
T
bool

bool equals(
    const clang::threadSafety::CapabilityExpr&
        other) const

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

Parameters

const clang::threadSafety::CapabilityExpr& other

llvm::StringRef getKind() const

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

bool isInvalid() const

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

bool isUniversal() const

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

bool matches(
    const clang::threadSafety::CapabilityExpr&
        other) const

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

Parameters

const clang::threadSafety::CapabilityExpr& other

bool matchesUniv(
    const clang::threadSafety::CapabilityExpr&
        CapE) const

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

Parameters

const clang::threadSafety::CapabilityExpr& CapE

bool negative() const

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

bool partiallyMatches(
    const clang::threadSafety::CapabilityExpr&
        other) const

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

Parameters

const clang::threadSafety::CapabilityExpr& other

const til::SExpr* sexpr() const

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

bool shouldIgnore() const

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

std::string toString() const

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

const clang::ValueDecl* valueDecl() const

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