summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-overload.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-09-20 21:32:32 -0700
committerGitHub <noreply@github.com>2022-09-20 21:32:32 -0700
commita6fcb3b0ed2b185723afde750bd4491b5b4113eb (patch)
treeeef3ff3bc5616432a47e6a78ae0d76f662c6b701 /source/slang/slang-check-overload.cpp
parenta95fe92dafbd2a2e718bb4aac090a7156a46e79b (diff)
Fix regression in check-overload. (#2407)
* Fix regression in check-overload. * Make sure language server supports partiallyAppliedGenericExpr. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-check-overload.cpp')
-rw-r--r--source/slang/slang-check-overload.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/source/slang/slang-check-overload.cpp b/source/slang/slang-check-overload.cpp
index 57c9c1199..7dba3986a 100644
--- a/source/slang/slang-check-overload.cpp
+++ b/source/slang/slang-check-overload.cpp
@@ -729,7 +729,7 @@ namespace Slang
{
auto expr = m_astBuilder->create<PartiallyAppliedGenericExpr>();
expr->loc = context.loc;
-
+ expr->originalExpr = originalAppExpr;
expr->baseGenericDeclRef = as<DeclRefExpr>(baseExpr)->declRef.as<GenericDecl>();
expr->substWithKnownGenericArgs = (GenericSubstitution*)candidate.subst;
return expr;
@@ -1418,7 +1418,10 @@ namespace Slang
}
else if (auto genericDeclRef = item.declRef.as<GenericDecl>())
{
- addOverloadCandidatesForCallToGeneric(LookupResultItem(genericDeclRef), context);
+ LookupResultItem innerItem;
+ innerItem.breadcrumbs = item.breadcrumbs;
+ innerItem.declRef = genericDeclRef;
+ addOverloadCandidatesForCallToGeneric(innerItem, context);
}
else if( auto typeDefDeclRef = item.declRef.as<TypeDefDecl>() )
{