clang-tools 22.0.0git
UseAfterMoveCheck.cpp File Reference
#include "UseAfterMoveCheck.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/Analysis/Analyses/CFGReachabilityAnalysis.h"
#include "clang/Analysis/CFG.h"
#include "clang/Lex/Lexer.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "../utils/ExprSequence.h"
#include "../utils/Matchers.h"
#include "../utils/OptionsUtils.h"
#include <optional>

Go to the source code of this file.

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
namespace  clang::tidy
namespace  clang::tidy::bugprone

Enumerations

enum  clang::tidy::bugprone::MoveType { clang::tidy::bugprone::Forward = 0 , clang::tidy::bugprone::Move = 1 , clang::tidy::bugprone::Invalidation = 2 }

Functions

static auto clang::tidy::bugprone::getNameMatcher (llvm::ArrayRef< StringRef > InvalidationFunctions)
static StatementMatcher clang::tidy::bugprone::inDecltypeOrTemplateArg ()
static bool clang::tidy::bugprone::isStandardSmartPointer (const ValueDecl *VD)
static MoveType clang::tidy::bugprone::determineMoveType (const FunctionDecl *FuncDecl)
static void clang::tidy::bugprone::emitDiagnostic (const Expr *MovingCall, const DeclRefExpr *MoveArg, const UseAfterMove &Use, ClangTidyCheck *Check, ASTContext *Context, MoveType Type)