summaryrefslogtreecommitdiff
path: root/source/compiler-core
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-10-27 14:27:52 -0700
committerGitHub <noreply@github.com>2024-10-27 14:27:52 -0700
commit1dd6ec26776081274604a94a96a1d87818830e82 (patch)
tree25b3a7d2df98cc152986b04725f61e69e1492b3a /source/compiler-core
parentfaa7d6ba4d73d8e3d89f083deea103afda456a21 (diff)
Export language server to wasm. (#5419)
Diffstat (limited to 'source/compiler-core')
-rw-r--r--source/compiler-core/slang-language-server-protocol.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/source/compiler-core/slang-language-server-protocol.h b/source/compiler-core/slang-language-server-protocol.h
index ff5cd394e..506969dcc 100644
--- a/source/compiler-core/slang-language-server-protocol.h
+++ b/source/compiler-core/slang-language-server-protocol.h
@@ -6,6 +6,7 @@
#include "../../source/core/slang-rtti-info.h"
#include "../../source/compiler-core/slang-json-value.h"
+#include <optional>
namespace Slang
{
@@ -1124,3 +1125,32 @@ struct DocumentFormattingParams
} // namespace LanguageServerProtocol
} // namespace Slang
+
+namespace Slang
+{
+ template<typename T>
+ struct LanguageServerResult
+ {
+ SlangResult returnCode;
+ bool isNull = true;
+ T result;
+ LanguageServerResult()
+ {
+ returnCode = SLANG_OK;
+ }
+ LanguageServerResult(std::nullopt_t)
+ {
+ returnCode = SLANG_OK;
+ }
+ LanguageServerResult(const T& value)
+ {
+ result = value;
+ isNull = false;
+ returnCode = SLANG_OK;
+ }
+ LanguageServerResult(SlangResult code)
+ {
+ returnCode = code;
+ }
+ };
+}