CIRCT 21.0.0git
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Attributes | List of all members
circt::lsp::VerilogServer Class Reference

This class implements all of the Verilog related functionality necessary for a language server. More...

#include <VerilogServer.h>

Collaboration diagram for circt::lsp::VerilogServer:
Collaboration graph
[legend]

Classes

struct  Impl
 

Public Member Functions

 VerilogServer (const circt::lsp::VerilogServerOptions &options)
 
 ~VerilogServer ()
 
void addDocument (const URIForFile &uri, llvm::StringRef contents, int64_t version, std::vector< Diagnostic > &diagnostics)
 Add the document, with the provided version, at the given URI.
 
void updateDocument (const URIForFile &uri, llvm::ArrayRef< TextDocumentContentChangeEvent > changes, int64_t version, std::vector< Diagnostic > &diagnostics)
 Update the document, with the provided version, at the given URI.
 
std::optional< int64_t > removeDocument (const URIForFile &uri)
 Remove the document with the given uri.
 

Private Attributes

std::unique_ptr< Implimpl
 

Detailed Description

This class implements all of the Verilog related functionality necessary for a language server.

This class allows for keeping the Verilog specific logic separate from the logic that involves LSP server/client communication.

Definition at line 42 of file VerilogServer.h.

Constructor & Destructor Documentation

◆ VerilogServer()

circt::lsp::VerilogServer::VerilogServer ( const circt::lsp::VerilogServerOptions options)

Definition at line 316 of file VerilogServer.cpp.

◆ ~VerilogServer()

circt::lsp::VerilogServer::~VerilogServer ( )
default

Member Function Documentation

◆ addDocument()

void circt::lsp::VerilogServer::addDocument ( const URIForFile uri,
llvm::StringRef  contents,
int64_t  version,
std::vector< Diagnostic > &  diagnostics 
)

Add the document, with the provided version, at the given URI.

Any diagnostics emitted for this document should be added to diagnostics.

Definition at line 320 of file VerilogServer.cpp.

◆ removeDocument()

std::optional< int64_t > circt::lsp::VerilogServer::removeDocument ( const URIForFile uri)

Remove the document with the given uri.

Returns the version of the removed document, or std::nullopt if the uri did not have a corresponding document within the server.

Definition at line 343 of file VerilogServer.cpp.

◆ updateDocument()

void circt::lsp::VerilogServer::updateDocument ( const URIForFile uri,
llvm::ArrayRef< TextDocumentContentChangeEvent changes,
int64_t  version,
std::vector< Diagnostic > &  diagnostics 
)

Update the document, with the provided version, at the given URI.

Any diagnostics emitted for this document should be added to diagnostics.

Definition at line 327 of file VerilogServer.cpp.

Member Data Documentation

◆ impl

std::unique_ptr<Impl> circt::lsp::VerilogServer::impl
private

Definition at line 65 of file VerilogServer.h.


The documentation for this class was generated from the following files: