clang-tools  14.0.0git
Namespaces | Typedefs | Functions
XRefs.cpp File Reference
#include "XRefs.h"
#include "AST.h"
#include "CodeCompletionStrings.h"
#include "FindSymbols.h"
#include "FindTarget.h"
#include "ParsedAST.h"
#include "Protocol.h"
#include "Quality.h"
#include "Selection.h"
#include "SourceCode.h"
#include "URI.h"
#include "index/Index.h"
#include "index/Merge.h"
#include "index/Relation.h"
#include "index/SymbolLocation.h"
#include "support/Logger.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTTypeTraits.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Attrs.inc"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/Type.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/TokenKinds.h"
#include "clang/Index/IndexDataConsumer.h"
#include "clang/Index/IndexSymbol.h"
#include "clang/Index/IndexingAction.h"
#include "clang/Index/IndexingOptions.h"
#include "clang/Index/USRGeneration.h"
#include "clang/Tooling/Syntax/Tokens.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"

Go to the source code of this file.

Namespaces

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

Typedefs

using clang::clangd::RecursionProtectionSet = llvm::SmallSet< const CXXRecordDecl *, 4 >
 

Functions

std::vector< LocatedSymbol > clang::clangd::locateSymbolTextually (const SpelledWord &Word, ParsedAST &AST, const SymbolIndex *Index, const std::string &MainFilePath, ASTNodeKind NodeKind)
 
const syntax::Token * clang::clangd::findNearbyIdentifier (const SpelledWord &Word, const syntax::TokenBuffer &TB)
 
std::vector< LocatedSymbol > clang::clangd::locateSymbolAt (ParsedAST &AST, Position Pos, const SymbolIndex *Index=nullptr)
 Get definition of symbol at a specified Pos. More...
 
std::vector< DocumentLink > clang::clangd::getDocumentLinks (ParsedAST &AST)
 Get all document links. More...
 
std::vector< DocumentHighlight > clang::clangd::findDocumentHighlights (ParsedAST &AST, Position Pos)
 Returns highlights for all usages of a symbol at Pos. More...
 
std::vector< LocatedSymbol > clang::clangd::findImplementations (ParsedAST &AST, Position Pos, const SymbolIndex *Index)
 Returns implementations at a specified Pos: More...
 
ReferencesResult clang::clangd::findReferences (ParsedAST &AST, Position Pos, uint32_t Limit, const SymbolIndex *Index=nullptr)
 Returns references of the symbol at a specified Pos. More...
 
std::vector< SymbolDetails > clang::clangd::getSymbolInfo (ParsedAST &AST, Position Pos)
 Get info about symbols at Pos. More...
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const LocatedSymbol &S)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const ReferencesResult::Reference &R)
 
template<typename HierarchyItem >
static llvm::Optional< HierarchyItem > clang::clangd::declToHierarchyItem (const NamedDecl &ND)
 
static llvm::Optional< TypeHierarchyItem > clang::clangd::declToTypeHierarchyItem (const NamedDecl &ND)
 
static llvm::Optional< CallHierarchyItem > clang::clangd::declToCallHierarchyItem (const NamedDecl &ND)
 
template<typename HierarchyItem >
static llvm::Optional< HierarchyItem > clang::clangd::symbolToHierarchyItem (const Symbol &S, PathRef TUPath)
 
static llvm::Optional< TypeHierarchyItem > clang::clangd::symbolToTypeHierarchyItem (const Symbol &S, PathRef TUPath)
 
static llvm::Optional< CallHierarchyItem > clang::clangd::symbolToCallHierarchyItem (const Symbol &S, PathRef TUPath)
 
static void clang::clangd::fillSubTypes (const SymbolID &ID, std::vector< TypeHierarchyItem > &SubTypes, const SymbolIndex *Index, int Levels, PathRef TUPath)
 
static void clang::clangd::fillSuperTypes (const CXXRecordDecl &CXXRD, ASTContext &ASTCtx, std::vector< TypeHierarchyItem > &SuperTypes, RecursionProtectionSet &RPSet)
 
const CXXRecordDecl * clang::clangd::findRecordTypeAt (ParsedAST &AST, Position Pos)
 Find the record type references at Pos. More...
 
std::vector< const CXXRecordDecl * > clang::clangd::typeParents (const CXXRecordDecl *CXXRD)
 Given a record type declaration, find its base (parent) types. More...
 
llvm::Optional< TypeHierarchyItem > clang::clangd::getTypeHierarchy (ParsedAST &AST, Position Pos, int Resolve, TypeHierarchyDirection Direction, const SymbolIndex *Index=nullptr, PathRef TUPath=PathRef{})
 Get type hierarchy information at Pos. More...
 
void clang::clangd::resolveTypeHierarchy (TypeHierarchyItem &Item, int ResolveLevels, TypeHierarchyDirection Direction, const SymbolIndex *Index)
 
std::vector< CallHierarchyItem > clang::clangd::prepareCallHierarchy (ParsedAST &AST, Position Pos, PathRef TUPath)
 Get call hierarchy information at Pos. More...
 
std::vector< CallHierarchyIncomingCall > clang::clangd::incomingCalls (const CallHierarchyItem &Item, const SymbolIndex *Index)
 
llvm::DenseSet< const Decl * > clang::clangd::getNonLocalDeclRefs (ParsedAST &AST, const FunctionDecl *FD)
 Returns all decls that are referenced in the FD except local symbols. More...
 

Variable Documentation

◆ Role

index::SymbolRoleSet Role

Definition at line 883 of file XRefs.cpp.

◆ SpelledTok

syntax::Token SpelledTok

Definition at line 882 of file XRefs.cpp.

Referenced by clang::clangd::locateMacroAt().

◆ Target

SymbolID Target

Definition at line 884 of file XRefs.cpp.