|
CIRCT 24.0.0git
|
This class implements all of the Verilog related functionality necessary for a language server. More...
#include <VerilogServer.h>

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. | |
| void | getLocationsOf (const URIForFile &uri, const llvm::lsp::Position &defPos, std::vector< llvm::lsp::Location > &locations) |
| Return the locations of the object pointed at by the given position. | |
| void | findReferencesOf (const URIForFile &uri, const llvm::lsp::Position &pos, std::vector< llvm::lsp::Location > &references) |
| Find all references of the object pointed at by the given position. | |
Private Attributes | |
| std::unique_ptr< Impl > | impl |
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 49 of file VerilogServer.h.
| circt::lsp::VerilogServer::VerilogServer | ( | const circt::lsp::VerilogServerOptions & | options | ) |
Definition at line 55 of file VerilogServer.cpp.
References impl.
|
default |
| 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 59 of file VerilogServer.cpp.
References impl.
| void circt::lsp::VerilogServer::findReferencesOf | ( | const URIForFile & | uri, |
| const llvm::lsp::Position & | pos, | ||
| std::vector< llvm::lsp::Location > & | references ) |
Find all references of the object pointed at by the given position.
Definition at line 101 of file VerilogServer.cpp.
References impl.
| void circt::lsp::VerilogServer::getLocationsOf | ( | const URIForFile & | uri, |
| const llvm::lsp::Position & | defPos, | ||
| std::vector< llvm::lsp::Location > & | locations ) |
Return the locations of the object pointed at by the given position.
Definition at line 93 of file VerilogServer.cpp.
References impl.
| 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 83 of file VerilogServer.cpp.
References impl.
| 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 67 of file VerilogServer.cpp.
References impl.
|
private |
Definition at line 80 of file VerilogServer.h.
Referenced by addDocument(), findReferencesOf(), getLocationsOf(), removeDocument(), updateDocument(), and VerilogServer().