summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-check-type.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-06-07 14:10:49 -0700
committerGitHub <noreply@github.com>2022-06-07 14:10:49 -0700
commit0c64995ea28febcc7d38e1519da8d93391ce2e7d (patch)
tree8696ab86b29caf80c3ebbd205c700e24b8c20bf3 /source/slang/slang-check-type.cpp
parent8c4a15c522861d2f30eacc9cd2b03ad793018639 (diff)
Major language server features. (#2264)
* Major language server features. * Include slangd in binary release. * Fix compiler issues. * Fix compiler error. * Completion resolve. * Various improvements. * Update diagnostic test expected output. * Bug fix for source locations. * Adjust diagnostic update frequency. * Update github actions to store artifacts. * Fix infinite parser loop. * Fix parser recovery. * Fix parser recovery. * Update test. * Fix test. * Disable IR gen for language server. * Allow commit characters in auto completion. * Fix lookup for invoke exprs. * More parser robustness fixes. * update solution file Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-check-type.cpp')
-rw-r--r--source/slang/slang-check-type.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/slang/slang-check-type.cpp b/source/slang/slang-check-type.cpp
index bd7b89e16..dc0d69f04 100644
--- a/source/slang/slang-check-type.cpp
+++ b/source/slang/slang-check-type.cpp
@@ -131,7 +131,6 @@ namespace Slang
// assume that if it is overloaded, we want a type
exp = resolveOverloadedExpr(overloadedExpr, LookupMask::type);
}
-
if (auto typeType = as<TypeType>(exp->type))
{
return typeType->type;
@@ -142,6 +141,10 @@ namespace Slang
}
else
{
+ if (!exp->type.type)
+ {
+ CheckExpr(exp);
+ }
return ExtractGenericArgInteger(exp);
}
}
@@ -269,7 +272,6 @@ namespace Slang
// ignore non-parameter members
}
}
-
if (outProperType)
{
*outProperType = InstantiateGenericType(genericDeclRef, args);