clang-tools 20.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
LoopConvertUtils.h File Reference
#include "clang/AST/ASTContext.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/Basic/SourceLocation.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include <algorithm>
#include <memory>
#include <string>
#include <utility>

Go to the source code of this file.

Classes

class  clang::tidy::modernize::StmtAncestorASTVisitor
 Class used build the reverse AST properties needed to detect name conflicts and free variables. More...
 
class  clang::tidy::modernize::ComponentFinderASTVisitor
 Class used to find the variables and member expressions on which an arbitrary expression depends. More...
 
class  clang::tidy::modernize::DependencyFinderASTVisitor
 Class used to determine if an expression is dependent on a variable declared inside of the loop where it would be used. More...
 
class  clang::tidy::modernize::DeclFinderASTVisitor
 Class used to determine if any declarations used in a Stmt would conflict with a particular identifier. More...
 
struct  clang::tidy::modernize::Usage
 The information needed to describe a valid convertible usage of an array index or iterator. More...
 
class  clang::tidy::modernize::Confidence
 A class to encapsulate lowering of the tool's confidence level. More...
 
class  clang::tidy::modernize::ForLoopIndexUseVisitor
 Discover usages of expressions consisting of index or iterator access. More...
 
struct  clang::tidy::modernize::TUTrackingInfo
 
class  clang::tidy::modernize::VariableNamer
 Create names for generated variables within a particular statement. More...
 

Namespaces

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

Typedefs

using clang::tidy::modernize::StmtParentMap = llvm::DenseMap< const clang::Stmt *, const clang::Stmt * >
 A map used to walk the AST in reverse: maps child Stmt to parent Stmt.
 
using clang::tidy::modernize::DeclParentMap = llvm::DenseMap< const clang::VarDecl *, const clang::DeclStmt * >
 A map used to walk the AST in reverse: maps VarDecl to the to parent DeclStmt.
 
using clang::tidy::modernize::ReplacedVarsMap = llvm::DenseMap< const clang::ForStmt *, const clang::VarDecl * >
 A map used to track which variables have been removed by a refactoring pass.
 
using clang::tidy::modernize::StmtGeneratedVarNameMap = llvm::DenseMap< const clang::Stmt *, std::string >
 A map used to remember the variable names generated in a Stmt.
 
using clang::tidy::modernize::ComponentVector = llvm::SmallVector< const clang::Expr *, 16 >
 A vector used to store the AST subtrees of an Expr.
 
using clang::tidy::modernize::UsageResult = llvm::SmallVector< Usage, 8 >
 

Enumerations

enum  clang::tidy::modernize::LoopFixerKind { clang::tidy::modernize::LFK_Array , clang::tidy::modernize::LFK_Iterator , clang::tidy::modernize::LFK_ReverseIterator , clang::tidy::modernize::LFK_PseudoArray }
 

Functions

const Expr * clang::tidy::modernize::digThroughConstructorsConversions (const Expr *E)
 Look through conversion/copy constructors and member functions to find the explicit initialization expression, returning it is found.
 
bool clang::tidy::modernize::areSameExpr (ASTContext *Context, const Expr *First, const Expr *Second)
 Returns true when two Exprs are equivalent.
 
const DeclRefExpr * clang::tidy::modernize::getDeclRef (const Expr *E)
 Returns the DeclRefExpr represented by E, or NULL if there isn't one.
 
bool clang::tidy::modernize::areSameVariable (const ValueDecl *First, const ValueDecl *Second)
 Returns true when two ValueDecls are the same variable.