clang-tools  10.0.0svn
Namespaces | Typedefs | Functions
XRefs.cpp File Reference
#include "XRefs.h"
#include "AST.h"
#include "CodeCompletionStrings.h"
#include "FindSymbols.h"
#include "FindTarget.h"
#include "FormattedString.h"
#include "Logger.h"
#include "ParsedAST.h"
#include "Protocol.h"
#include "SourceCode.h"
#include "URI.h"
#include "index/Index.h"
#include "index/Merge.h"
#include "index/Relation.h"
#include "index/SymbolCollector.h"
#include "index/SymbolLocation.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/PrettyPrinter.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/Type.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.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 "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for XRefs.cpp:

Go to the source code of this file.


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


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


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< DocumentHighlight > clang::clangd::findDocumentHighlights (ParsedAST &AST, Position Pos)
 Returns highlights for all usages of a symbol at Pos. More...
static PrintingPolicy clang::clangd::printingPolicyForDecls (PrintingPolicy Base)
static std::string clang::clangd::getLocalScope (const Decl *D)
 Given a declaration D, return a human-readable string representing the local scope in which it is declared, i.e. More...
static std::string clang::clangd::getNamespaceScope (const Decl *D)
 Returns the human-readable representation for namespace containing the declaration D. More...
static std::string clang::clangd::printDefinition (const Decl *D)
static void clang::clangd::printParams (llvm::raw_ostream &OS, const std::vector< HoverInfo::Param > &Params)
static std::vector< HoverInfo::Param > clang::clangd::fetchTemplateParameters (const TemplateParameterList *Params, const PrintingPolicy &PP)
static const FunctionDecl * clang::clangd::getUnderlyingFunction (const Decl *D)
static void clang::clangd::enhanceFromIndex (HoverInfo &Hover, const Decl *D, const SymbolIndex *Index)
static HoverInfo clang::clangd::getHoverContents (const Decl *D, const SymbolIndex *Index)
 Generate a Hover object given the declaration D. More...
static HoverInfo clang::clangd::getHoverContents (QualType T, const Decl *D, ASTContext &ASTCtx, const SymbolIndex *Index)
 Generate a Hover object given the type T. More...
static HoverInfo clang::clangd::getHoverContents (const DefinedMacro &Macro, ParsedAST &AST)
 Generate a Hover object given the macro MacroDecl. More...
llvm::Optional< QualType > clang::clangd::getDeducedType (ParsedAST &AST, SourceLocation SourceLocationBeg)
 Retrieves the deduced type at a given location (auto, decltype). More...
bool clang::clangd::hasDeducedType (ParsedAST &AST, SourceLocation SourceLocationBeg)
 Retrieves the deduced type at a given location (auto, decltype). More...
llvm::Optional< HoverInfo > clang::clangd::getHover (ParsedAST &AST, Position Pos, format::FormatStyle Style, const SymbolIndex *Index)
 Get the hover information when hovering at Pos. More...
std::vector< Locationclang::clangd::findReferences (ParsedAST &AST, Position Pos, uint32_t Limit, const SymbolIndex *Index=nullptr)
 Returns reference locations 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)
static llvm::Optional< TypeHierarchyItem > clang::clangd::declToTypeHierarchyItem (ASTContext &Ctx, const NamedDecl &ND)
static Optional< TypeHierarchyItem > clang::clangd::symbolToTypeHierarchyItem (const Symbol &S, const SymbolIndex *Index, 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)
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const HoverInfo::Param &P)
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

◆ D

const Decl* D = nullptr

◆ DeducedType

QualType DeducedType

Definition at line 848 of file XRefs.cpp.

◆ Loc

SourceLocation Loc

Definition at line 352 of file XRefs.cpp.

◆ Role

index::SymbolRoleSet Role

Definition at line 353 of file XRefs.cpp.