diff options
Diffstat (limited to 'clang-tools-extra/clangd/XRefs.h')
-rw-r--r-- | clang-tools-extra/clangd/XRefs.h | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/clang-tools-extra/clangd/XRefs.h b/clang-tools-extra/clangd/XRefs.h index 8bd91024be3..dc9e4f23f1a 100644 --- a/clang-tools-extra/clangd/XRefs.h +++ b/clang-tools-extra/clangd/XRefs.h @@ -53,77 +53,6 @@ std::vector<LocatedSymbol> locateSymbolAt(ParsedAST &AST, Position Pos, std::vector<DocumentHighlight> findDocumentHighlights(ParsedAST &AST, Position Pos); -/// Contains detailed information about a Symbol. Especially useful when -/// generating hover responses. It can be rendered as a hover panel, or -/// embedding clients can use the structured information to provide their own -/// UI. -struct HoverInfo { - /// Represents parameters of a function, a template or a macro. - /// For example: - /// - void foo(ParamType Name = DefaultValue) - /// - #define FOO(Name) - /// - template <ParamType Name = DefaultType> class Foo {}; - struct Param { - /// The pretty-printed parameter type, e.g. "int", or "typename" (in - /// TemplateParameters) - llvm::Optional<std::string> Type; - /// None for unnamed parameters. - llvm::Optional<std::string> Name; - /// None if no default is provided. - llvm::Optional<std::string> Default; - }; - - /// For a variable named Bar, declared in clang::clangd::Foo::getFoo the - /// following fields will hold: - /// - NamespaceScope: clang::clangd:: - /// - LocalScope: Foo::getFoo:: - /// - Name: Bar - - /// Scopes might be None in cases where they don't make sense, e.g. macros and - /// auto/decltype. - /// Contains all of the enclosing namespaces, empty string means global - /// namespace. - llvm::Optional<std::string> NamespaceScope; - /// Remaining named contexts in symbol's qualified name, empty string means - /// symbol is not local. - std::string LocalScope; - /// Name of the symbol, does not contain any "::". - std::string Name; - llvm::Optional<Range> SymRange; - /// Scope containing the symbol. e.g, "global namespace", "function x::Y" - /// - None for deduced types, e.g "auto", "decltype" keywords. - SymbolKind Kind; - std::string Documentation; - /// Source code containing the definition of the symbol. - std::string Definition; - - /// Pretty-printed variable type. - /// Set only for variables. - llvm::Optional<std::string> Type; - /// Set for functions and lambadas. - llvm::Optional<std::string> ReturnType; - /// Set for functions, lambdas and macros with parameters. - llvm::Optional<std::vector<Param>> Parameters; - /// Set for all templates(function, class, variable). - llvm::Optional<std::vector<Param>> TemplateParameters; - /// Contains the evaluated value of the symbol if available. - llvm::Optional<std::string> Value; - - /// Produce a user-readable information. - FormattedString present() const; -}; -llvm::raw_ostream &operator<<(llvm::raw_ostream &, const HoverInfo::Param &); -inline bool operator==(const HoverInfo::Param &LHS, - const HoverInfo::Param &RHS) { - return std::tie(LHS.Type, LHS.Name, LHS.Default) == - std::tie(RHS.Type, RHS.Name, RHS.Default); -} - -/// Get the hover information when hovering at \p Pos. -llvm::Optional<HoverInfo> getHover(ParsedAST &AST, Position Pos, - format::FormatStyle Style, - const SymbolIndex *Index); - struct ReferencesResult { std::vector<Location> References; bool HasMore = false; @@ -151,16 +80,6 @@ void resolveTypeHierarchy(TypeHierarchyItem &Item, int ResolveLevels, TypeHierarchyDirection Direction, const SymbolIndex *Index); -/// Retrieves the deduced type at a given location (auto, decltype). -/// Retuns None unless SourceLocationBeg starts an auto/decltype token. -/// It will return the underlying type. -llvm::Optional<QualType> getDeducedType(ParsedAST &AST, - SourceLocation SourceLocationBeg); - -/// Check if there is a deduced type at a given location (auto, decltype). -/// SourceLocationBeg must point to the first character of the token -bool hasDeducedType(ParsedAST &AST, SourceLocation SourceLocationBeg); - /// Returns all decls that are referenced in the \p FD except local symbols. llvm::DenseSet<const Decl *> getNonLocalDeclRefs(ParsedAST &AST, const FunctionDecl *FD); |