diff options
Diffstat (limited to 'source/slang/slang-language-server.cpp')
| -rw-r--r-- | source/slang/slang-language-server.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/slang/slang-language-server.cpp b/source/slang/slang-language-server.cpp index da72ea65e..d3be5c4dc 100644 --- a/source/slang/slang-language-server.cpp +++ b/source/slang/slang-language-server.cpp @@ -243,7 +243,9 @@ String getDeclSignatureString(DeclRef<Decl> declRef, WorkspaceVersion* version) DiagnosticSink sink; SharedSemanticsContext semanticContext(version->linkage, getModule(varDecl), &sink); SemanticsVisitor semanticsVisitor(&semanticContext); - if (auto intVal = semanticsVisitor.tryFoldIntegerConstantExpression(varDecl->initExpr, nullptr)) + if (auto intVal = semanticsVisitor.tryFoldIntegerConstantExpression( + declRef.substitute(version->linkage->getASTBuilder(), varDecl->initExpr), + nullptr)) { if (auto constantInt = as<ConstantIntVal>(intVal)) { @@ -257,6 +259,11 @@ String getDeclSignatureString(DeclRef<Decl> declRef, WorkspaceVersion* version) sb << constantInt->value; } } + else + { + sb << " = "; + intVal->toText(sb); + } } } } |
