|
clang 23.0.0git
|
Abstract interface for operations requiring Sema access. More...
#include "clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h"
Public Member Functions | |
| LifetimeSafetySemaHelper ()=default | |
| virtual | ~LifetimeSafetySemaHelper ()=default |
| virtual void | reportUseAfterFree (const Expr *IssueExpr, const Expr *UseExpr, SourceLocation FreeLoc, Confidence Confidence) |
| virtual void | reportUseAfterReturn (const Expr *IssueExpr, const Expr *EscapeExpr, SourceLocation ExpiryLoc, Confidence Confidence) |
| virtual void | suggestLifetimeboundToParmVar (SuggestionScope Scope, const ParmVarDecl *ParmToAnnotate, const Expr *EscapeExpr) |
| virtual void | reportNoescapeViolation (const ParmVarDecl *ParmWithNoescape, const Expr *EscapeExpr) |
| virtual void | suggestLifetimeboundToImplicitThis (SuggestionScope Scope, const CXXMethodDecl *MD, const Expr *EscapeExpr) |
| virtual void | addLifetimeBoundToImplicitThis (const CXXMethodDecl *MD) |
Abstract interface for operations requiring Sema access.
This class exists to break a circular dependency: the LifetimeSafety analysis target cannot directly depend on clangSema (which would create the cycle: clangSema -> clangAnalysis -> clangAnalysisLifetimeSafety -> clangSema).
Instead, this interface is implemented in AnalysisBasedWarnings.cpp (part of clangSema), allowing the analysis to report diagnostics and modify the AST through Sema without introducing a circular dependency.
Definition at line 55 of file LifetimeSafety.h.
|
default |
|
virtualdefault |
|
inlinevirtual |
Definition at line 85 of file LifetimeSafety.h.
|
inlinevirtual |
Definition at line 75 of file LifetimeSafety.h.
|
inlinevirtual |
Definition at line 60 of file LifetimeSafety.h.
|
inlinevirtual |
Definition at line 64 of file LifetimeSafety.h.
|
inlinevirtual |
Definition at line 79 of file LifetimeSafety.h.
|
inlinevirtual |
Definition at line 70 of file LifetimeSafety.h.