clang-tools 20.0.0git
Public Attributes | List of all members
clang::clangd::ReferenceLoc Struct Reference

Information about a reference written in the source code, independent of the actual AST node that this reference lives in. More...

#include <FindTarget.h>

Public Attributes

NestedNameSpecifierLoc Qualifier
 Contains qualifier written in the code, if any, e.g. 'ns::' for 'ns::foo'.
 
SourceLocation NameLoc
 Start location of the last name part, i.e. 'foo' in 'ns::foo<int>'.
 
bool IsDecl = false
 True if the reference is a declaration or definition;.
 
llvm::SmallVector< const NamedDecl *, 1 > Targets
 A list of targets referenced by this name.
 

Detailed Description

Information about a reference written in the source code, independent of the actual AST node that this reference lives in.

Useful for tools that are source-aware, e.g. refactorings.

Definition at line 126 of file FindTarget.h.

Member Data Documentation

◆ IsDecl

bool clang::clangd::ReferenceLoc::IsDecl = false

True if the reference is a declaration or definition;.

Definition at line 132 of file FindTarget.h.

Referenced by clang::clangd::getSemanticHighlightings(), and clang::clangd::operator<<().

◆ NameLoc

SourceLocation clang::clangd::ReferenceLoc::NameLoc

Start location of the last name part, i.e. 'foo' in 'ns::foo<int>'.

Definition at line 130 of file FindTarget.h.

◆ Qualifier

NestedNameSpecifierLoc clang::clangd::ReferenceLoc::Qualifier

Contains qualifier written in the code, if any, e.g. 'ns::' for 'ns::foo'.

Definition at line 128 of file FindTarget.h.

Referenced by clang::clangd::operator<<().

◆ Targets

llvm::SmallVector<const NamedDecl *, 1> clang::clangd::ReferenceLoc::Targets

A list of targets referenced by this name.

Normally this has a single element, but multiple is also possible, e.g. in case of using declarations or unresolved overloaded functions. For dependent and unresolved references, Targets can also be empty.

Definition at line 138 of file FindTarget.h.

Referenced by clang::clangd::getSemanticHighlightings(), and clang::clangd::operator<<().


The documentation for this struct was generated from the following file: