From 11b29eff99910d55a54658b8a1d053cc4ec076fc Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 4 Aug 2022 14:05:02 -0700 Subject: Implicit pointer dereference when using member operator. (#2348) * Implicit pointer dereference when using member operator. * Add expected test result * Fix lookup. Co-authored-by: Yong He --- source/slang/slang-check-type.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'source/slang/slang-check-type.cpp') diff --git a/source/slang/slang-check-type.cpp b/source/slang/slang-check-type.cpp index dc0d69f04..50bc55641 100644 --- a/source/slang/slang-check-type.cpp +++ b/source/slang/slang-check-type.cpp @@ -22,6 +22,19 @@ namespace Slang return typeOut.type; } + Type* getPointedToTypeIfCanImplicitDeref(Type* type) + { + if (auto ptrLike = as(type)) + { + return ptrLike->getElementType(); + } + else if (auto ptrType = as(type)) + { + return ptrType->getValueType(); + } + return nullptr; + } + Expr* SemanticsVisitor::TranslateTypeNodeImpl(Expr* node) { if (!node) return nullptr; -- cgit v1.2.3