clang-tools  16.0.0git
Public Attributes | List of all members
clang::clangd::Diagnostic Struct Reference

#include <Protocol.h>

Collaboration diagram for clang::clangd::Diagnostic:
Collaboration graph
[legend]

Public Attributes

Range range
 The range at which the message applies. More...
 
int severity = 0
 The diagnostic's severity. More...
 
std::string code
 The diagnostic's code. Can be omitted. More...
 
llvm::Optional< CodeDescriptioncodeDescription
 An optional property to describe the error code. More...
 
std::string source
 A human-readable string describing the source of this diagnostic, e.g. More...
 
std::string message
 The diagnostic's message. More...
 
llvm::SmallVector< DiagnosticTag, 1 > tags
 Additional metadata about the diagnostic. More...
 
llvm::Optional< std::vector< DiagnosticRelatedInformation > > relatedInformation
 An array of related diagnostic information, e.g. More...
 
llvm::Optional< std::string > category
 The diagnostic's category. More...
 
llvm::Optional< std::vector< CodeAction > > codeActions
 Clangd extension: code actions related to this diagnostic. More...
 
llvm::json::Object data
 A data entry field that is preserved between a textDocument/publishDiagnostics notification and textDocument/codeAction request. More...
 

Detailed Description

Definition at line 855 of file Protocol.h.

Member Data Documentation

◆ category

llvm::Optional<std::string> clang::clangd::Diagnostic::category

The diagnostic's category.

Can be omitted. An LSP extension that's used to send the name of the category over to the client. The category typically describes the compilation stage during which the issue was produced, e.g. "Semantic Issue" or "Parse Issue".

Definition at line 887 of file Protocol.h.

◆ code

std::string clang::clangd::Diagnostic::code

The diagnostic's code. Can be omitted.

Definition at line 864 of file Protocol.h.

◆ codeActions

llvm::Optional<std::vector<CodeAction> > clang::clangd::Diagnostic::codeActions

Clangd extension: code actions related to this diagnostic.

Only with capability textDocument.publishDiagnostics.codeActionsInline. (These actions can also be obtained using textDocument/codeAction).

Definition at line 892 of file Protocol.h.

◆ codeDescription

llvm::Optional<CodeDescription> clang::clangd::Diagnostic::codeDescription

An optional property to describe the error code.

Definition at line 867 of file Protocol.h.

◆ data

llvm::json::Object clang::clangd::Diagnostic::data

A data entry field that is preserved between a textDocument/publishDiagnostics notification and textDocument/codeAction request.

Mutating users should associate their data with a unique key they can use to retrieve later on.

Definition at line 899 of file Protocol.h.

◆ message

std::string clang::clangd::Diagnostic::message

The diagnostic's message.

Definition at line 874 of file Protocol.h.

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

◆ range

Range clang::clangd::Diagnostic::range

The range at which the message applies.

Definition at line 857 of file Protocol.h.

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

◆ relatedInformation

llvm::Optional<std::vector<DiagnosticRelatedInformation> > clang::clangd::Diagnostic::relatedInformation

An array of related diagnostic information, e.g.

when symbol-names within a scope collide all definitions can be marked via this property.

Definition at line 881 of file Protocol.h.

◆ severity

int clang::clangd::Diagnostic::severity = 0

The diagnostic's severity.

Can be omitted. If omitted it is up to the client to interpret diagnostics as error, warning, info or hint.

Definition at line 861 of file Protocol.h.

◆ source

std::string clang::clangd::Diagnostic::source

A human-readable string describing the source of this diagnostic, e.g.

'typescript' or 'super lint'.

Definition at line 871 of file Protocol.h.

◆ tags

llvm::SmallVector<DiagnosticTag, 1> clang::clangd::Diagnostic::tags

Additional metadata about the diagnostic.

Definition at line 877 of file Protocol.h.


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