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 reportUseAfterScope (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 reportInvalidatedField (const Expr *IssueExpr, const FieldDecl *DanglingField, const Expr *InvalidationExpr) override
void reportInvalidatedField (const ParmVarDecl *PVD, const FieldDecl *DanglingField, const Expr *InvalidationExpr) override
void reportInvalidatedGlobal (const Expr *IssueExpr, const VarDecl *DanglingGlobal, const Expr *InvalidationExpr) override
void reportInvalidatedGlobal (const ParmVarDecl *PVD, const VarDecl *DanglingGlobal, const Expr *InvalidationExpr) override
void suggestLifetimeboundToParmVar (WarningScope Scope, const ParmVarDecl *ParmToAnnotate, EscapingTarget Target) override
void reportLifetimeboundViolation (const ParmVarDecl *ParmWithLifetimebound) override
void reportLifetimeboundViolation (const CXXMethodDecl *MDWithLifetimebound) override
void reportMisplacedLifetimebound (WarningScope Scope, const CXXMethodDecl *FDef, const CXXMethodDecl *FDecl) override
void reportMisplacedLifetimebound (WarningScope Scope, const ParmVarDecl *PVDDef, const ParmVarDecl *PVDDecl) override
void suggestLifetimeboundToImplicitThis (WarningScope 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

Additional Inherited Members

Public Types inherited from clang::lifetimes::LifetimeSafetySemaHelper
using EscapingTarget

Detailed Description

Definition at line 51 of file SemaLifetimeSafety.h.

Constructor & Destructor Documentation

◆ LifetimeSafetySemaHelperImpl()

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

Definition at line 54 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 388 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

◆ reportInvalidatedField() [1/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportInvalidatedField ( const Expr * IssueExpr,
const FieldDecl * DanglingField,
const Expr * InvalidationExpr )
inlineoverridevirtual

◆ reportInvalidatedField() [2/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportInvalidatedField ( const ParmVarDecl * PVD,
const FieldDecl * DanglingField,
const Expr * InvalidationExpr )
inlineoverridevirtual

◆ reportInvalidatedGlobal() [1/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportInvalidatedGlobal ( const Expr * IssueExpr,
const VarDecl * DanglingGlobal,
const Expr * InvalidationExpr )
inlineoverridevirtual

◆ reportInvalidatedGlobal() [2/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportInvalidatedGlobal ( const ParmVarDecl * PVD,
const VarDecl * DanglingGlobal,
const Expr * InvalidationExpr )
inlineoverridevirtual

◆ reportLifetimeboundViolation() [1/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportLifetimeboundViolation ( const CXXMethodDecl * MDWithLifetimebound)
inlineoverridevirtual

◆ reportLifetimeboundViolation() [2/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportLifetimeboundViolation ( const ParmVarDecl * ParmWithLifetimebound)
inlineoverridevirtual

◆ reportMisplacedLifetimebound() [1/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportMisplacedLifetimebound ( WarningScope Scope,
const CXXMethodDecl * FDef,
const CXXMethodDecl * FDecl )
inlineoverridevirtual

◆ reportMisplacedLifetimebound() [2/2]

void clang::lifetimes::LifetimeSafetySemaHelperImpl::reportMisplacedLifetimebound ( WarningScope Scope,
const ParmVarDecl * PVDDef,
const ParmVarDecl * PVDDecl )
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

◆ 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

◆ reportUseAfterScope()

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

◆ suggestLifetimeboundToImplicitThis()

◆ suggestLifetimeboundToParmVar()


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