From 60ebadab1ec269c7017148a028307a9b5f32b1d4 Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 10 Aug 2023 13:19:37 -0700 Subject: Allow member lookup through modified type. (#3091) * Allow member lookup through modified type. * Disable `lockFileSync` test. --------- Co-authored-by: Yong He --- source/slang/slang-check-expr.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp index e343e3113..05cb6262b 100644 --- a/source/slang/slang-check-expr.cpp +++ b/source/slang/slang-check-expr.cpp @@ -3574,7 +3574,12 @@ namespace Slang Expr* SemanticsExprVisitor::visitMemberExpr(MemberExpr * expr) { expr->baseExpression = checkBaseForMemberExpr(expr->baseExpression); - auto & baseType = expr->baseExpression->type; + auto baseType = expr->baseExpression->type; + + // If we are looking up through a modified type, just pass straight + // through the inner type. + if (auto modifiedType = as(baseType)) + baseType = modifiedType->getBase(); // Note: Checking for vector types before declaration-reference types, // because vectors are also declaration reference types... -- cgit v1.2.3