clang 23.0.0git
clang::lifetimes::LifetimeSafetySemaHelperImpl Class Reference

#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Sema/SemaLifetimeSafety.h"

Inheritance diagram for clang::lifetimes::LifetimeSafetySemaHelperImpl:
[legend]

Public Member Functions

 LifetimeSafetySemaHelperImpl (Sema &S)
void reportUseAfterFree (const Expr *IssueExpr, const Expr *UseExpr, const Expr *MovedExpr, SourceLocation FreeLoc) override
void reportUseAfterReturn (const Expr *IssueExpr, const Expr *ReturnExpr, const Expr *MovedExpr, SourceLocation ExpiryLoc) override
void reportDanglingField (const Expr *IssueExpr, const FieldDecl *DanglingField, const Expr *MovedExpr, SourceLocation ExpiryLoc) override
void reportDanglingGlobal (const Expr *IssueExpr, const VarDecl *DanglingGlobal, const Expr *MovedExpr, SourceLocation ExpiryLoc) override
void reportUseAfterInvalidation (const Expr *IssueExpr, const Expr *UseExpr, const Expr *InvalidationExpr) override
void reportUseAfterInvalidation (const ParmVarDecl *PVD, const Expr *UseExpr, const Expr *InvalidationExpr) override
void suggestLifetimeboundToParmVar (SuggestionScope Scope, const ParmVarDecl *ParmToAnnotate, const Expr *EscapeExpr) override
void suggestLifetimeboundToImplicitThis (SuggestionScope Scope, const CXXMethodDecl *MD, const Expr *EscapeExpr) override
void reportNoescapeViolation (const ParmVarDecl *ParmWithNoescape, const Expr *EscapeExpr) override
void reportNoescapeViolation (const ParmVarDecl *ParmWithNoescape, const FieldDecl *EscapeField) override
void reportNoescapeViolation (const ParmVarDecl *ParmWithNoescape, const VarDecl *EscapeGlobal) override
void addLifetimeBoundToImplicitThis (const CXXMethodDecl *MD) override
Public Member Functions inherited from clang::lifetimes::LifetimeSafetySemaHelper
 LifetimeSafetySemaHelper ()=default
virtual ~LifetimeSafetySemaHelper ()=default

Detailed Description

Definition at line 41 of file SemaLifetimeSafety.h.

Constructor & Destructor Documentation

◆ LifetimeSafetySemaHelperImpl()

clang::lifetimes::LifetimeSafetySemaHelperImpl::LifetimeSafetySemaHelperImpl ( Sema & S)
inline

Definition at line 44 of file SemaLifetimeSafety.h.

Member Function Documentation

◆ addLifetimeBoundToImplicitThis()

void clang::lifetimes::LifetimeSafetySemaHelperImpl::addLifetimeBoundToImplicitThis ( const CXXMethodDecl * MD)
inlineoverridevirtual

Reimplemented from clang::lifetimes::LifetimeSafetySemaHelper.

Definition at line 228 of file SemaLifetimeSafety.h.

◆ reportDanglingField()

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportDanglingField ( const Expr * IssueExpr,
const FieldDecl * DanglingField,
const Expr * MovedExpr,
SourceLocation ExpiryLoc )
inlineoverridevirtual

◆ reportDanglingGlobal()

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportDanglingGlobal ( const Expr * IssueExpr,
const VarDecl * DanglingGlobal,
const Expr * MovedExpr,
SourceLocation ExpiryLoc )
inlineoverridevirtual

◆ reportNoescapeViolation() [1/3]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportNoescapeViolation ( const ParmVarDecl * ParmWithNoescape,
const Expr * EscapeExpr )
inlineoverridevirtual

◆ reportNoescapeViolation() [2/3]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportNoescapeViolation ( const ParmVarDecl * ParmWithNoescape,
const FieldDecl * EscapeField )
inlineoverridevirtual

◆ reportNoescapeViolation() [3/3]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportNoescapeViolation ( const ParmVarDecl * ParmWithNoescape,
const VarDecl * EscapeGlobal )
inlineoverridevirtual

◆ reportUseAfterFree()

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportUseAfterFree ( const Expr * IssueExpr,
const Expr * UseExpr,
const Expr * MovedExpr,
SourceLocation FreeLoc )
inlineoverridevirtual

◆ reportUseAfterInvalidation() [1/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportUseAfterInvalidation ( const Expr * IssueExpr,
const Expr * UseExpr,
const Expr * InvalidationExpr )
inlineoverridevirtual

◆ reportUseAfterInvalidation() [2/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportUseAfterInvalidation ( const ParmVarDecl * PVD,
const Expr * UseExpr,
const Expr * InvalidationExpr )
inlineoverridevirtual

◆ reportUseAfterReturn()

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportUseAfterReturn ( const Expr * IssueExpr,
const Expr * ReturnExpr,
const Expr * MovedExpr,
SourceLocation ExpiryLoc )
inlineoverridevirtual

◆ suggestLifetimeboundToImplicitThis()

◆ suggestLifetimeboundToParmVar()


The documentation for this class was generated from the following file: