clang 20.0.0git
|
Analyzes whether any mutative operations are applied to an expression within a given statement. More...
#include "clang/Analysis/Analyses/ExprMutationAnalyzer.h"
Classes | |
struct | Analyzer |
struct | Memoized |
Public Member Functions | |
ExprMutationAnalyzer (const Stmt &Stm, ASTContext &Context) | |
bool | isMutated (const Expr *Exp) |
bool | isMutated (const Decl *Dec) |
const Stmt * | findMutation (const Expr *Exp) |
const Stmt * | findMutation (const Decl *Dec) |
bool | isPointeeMutated (const Expr *Exp) |
bool | isPointeeMutated (const Decl *Dec) |
const Stmt * | findPointeeMutation (const Expr *Exp) |
const Stmt * | findPointeeMutation (const Decl *Dec) |
Static Public Member Functions | |
static bool | isUnevaluated (const Stmt *Stm, ASTContext &Context) |
check whether stmt is unevaluated. | |
Friends | |
class | FunctionParmMutationAnalyzer |
Analyzes whether any mutative operations are applied to an expression within a given statement.
Definition at line 21 of file ExprMutationAnalyzer.h.
|
inline |
Definition at line 83 of file ExprMutationAnalyzer.h.
Definition at line 93 of file ExprMutationAnalyzer.h.
References clang::ExprMutationAnalyzer::Analyzer::findMutation().
Definition at line 92 of file ExprMutationAnalyzer.h.
References clang::ExprMutationAnalyzer::Analyzer::findMutation().
Referenced by isMutated().
Definition at line 104 of file ExprMutationAnalyzer.h.
References clang::ExprMutationAnalyzer::Analyzer::findPointeeMutation().
Definition at line 101 of file ExprMutationAnalyzer.h.
References clang::ExprMutationAnalyzer::Analyzer::findPointeeMutation().
Referenced by isPointeeMutated().
Definition at line 91 of file ExprMutationAnalyzer.h.
References findMutation().
Definition at line 90 of file ExprMutationAnalyzer.h.
References findMutation().
Definition at line 98 of file ExprMutationAnalyzer.h.
References findPointeeMutation().
Definition at line 95 of file ExprMutationAnalyzer.h.
References findPointeeMutation().
|
static |
check whether stmt is unevaluated.
mutation analyzer will ignore the content in unevaluated stmt.
Definition at line 323 of file ExprMutationAnalyzer.cpp.
References clang::ast_matchers::anyOf, clang::ast_matchers::cxxNoexceptExpr, clang::ast_matchers::expr, clang::ast_matchers::genericSelectionExpr, clang::ast_matchers::hasAncestor, clang::ast_matchers::hasDescendant, clang::ast_matchers::match(), clang::ast_matchers::sizeOfExpr(), clang::ast_matchers::stmt, clang::ast_matchers::typeLoc, clang::ast_matchers::unaryExprOrTypeTraitExpr, clang::ast_matchers::unless, and clang::ast_matchers::variableArrayType.
|
friend |
Definition at line 22 of file ExprMutationAnalyzer.h.