diff options
| author | Yong He <yonghe@outlook.com> | 2022-08-22 09:43:05 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-22 09:43:05 -0700 |
| commit | 393185196ed65a9eeaf9502edbf3dcce87337d81 (patch) | |
| tree | 91c9fa14ddb21d15e6cedf83f7aa6b649e99db86 /source/slang/slang-language-server.cpp | |
| parent | 15055d20c143cb398bd3e269541eebf24777390a (diff) | |
Support compile-time constant int val in the form of polynomials. (#2372)
Co-authored-by: Yong He <yhe@nvidia.com>
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); + } } } } |
