clang-tools  14.0.0git
Classes | Namespaces | Enumerations | Functions
FindTarget.h File Reference
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTTypeTraits.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/Stmt.h"
#include "clang/Basic/SourceLocation.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/raw_ostream.h"
#include <bitset>
Include dependency graph for FindTarget.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  clang::clangd::ReferenceLoc
 Information about a reference written in the source code, independent of the actual AST node that this reference lives in. More...
 
class  clang::clangd::DeclRelationSet
 

Namespaces

 clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
 clang::clangd
 

Enumerations

enum  clang::clangd::DeclRelation : unsigned { clang::clangd::DeclRelation::TemplateInstantiation, clang::clangd::DeclRelation::TemplatePattern, clang::clangd::DeclRelation::Alias, clang::clangd::DeclRelation::Underlying }
 

Functions

llvm::SmallVector< const NamedDecl *, 1 > clang::clangd::targetDecl (const DynTypedNode &, DeclRelationSet Mask, const HeuristicResolver *Resolver)
 targetDecl() finds the declaration referred to by an AST node. More...
 
llvm::SmallVector< std::pair< const NamedDecl *, DeclRelationSet >, 1 > clang::clangd::allTargetDecls (const DynTypedNode &, const HeuristicResolver *)
 Similar to targetDecl(), however instead of applying a filter, all possible decls are returned along with their DeclRelationSets. More...
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, DeclRelation R)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, ReferenceLoc R)
 
void clang::clangd::findExplicitReferences (const Stmt *S, llvm::function_ref< void(ReferenceLoc)> Out, const HeuristicResolver *Resolver)
 Recursively traverse S and report all references explicitly written in the code. More...
 
void clang::clangd::findExplicitReferences (const Decl *D, llvm::function_ref< void(ReferenceLoc)> Out, const HeuristicResolver *Resolver)
 
void clang::clangd::findExplicitReferences (const ASTContext &AST, llvm::function_ref< void(ReferenceLoc)> Out, const HeuristicResolver *Resolver)
 
llvm::SmallVector< const NamedDecl *, 1 > clang::clangd::explicitReferenceTargets (DynTypedNode N, DeclRelationSet Mask, const HeuristicResolver *Resolver)
 Find declarations explicitly referenced in the source code defined by N. More...
 
DeclRelationSet clang::clangd::operator| (DeclRelation L, DeclRelation R)
 
DeclRelationSet clang::clangd::operator& (DeclRelation L, DeclRelation R)
 
DeclRelationSet clang::clangd::operator~ (DeclRelation R)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, DeclRelationSet RS)