diff options
| author | Yong He <yonghe@outlook.com> | 2022-08-04 14:05:02 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-04 14:05:02 -0700 |
| commit | 11b29eff99910d55a54658b8a1d053cc4ec076fc (patch) | |
| tree | ac82bef698df94f74a788cdc160dfd30472fb601 /source/slang/slang-check-type.cpp | |
| parent | e43ef82e288afe486f45ef2736d378e88f40cc90 (diff) | |
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 <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-check-type.cpp')
| -rw-r--r-- | source/slang/slang-check-type.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
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<PointerLikeType>(type)) + { + return ptrLike->getElementType(); + } + else if (auto ptrType = as<PtrType>(type)) + { + return ptrType->getValueType(); + } + return nullptr; + } + Expr* SemanticsVisitor::TranslateTypeNodeImpl(Expr* node) { if (!node) return nullptr; |
