summaryrefslogtreecommitdiffstats
path: root/source/slang/syntax.h
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-10-30 10:03:52 -0700
committerTim Foley <tfoley@nvidia.com>2017-10-30 10:26:22 -0700
commit11f44241ffef478560eaba79af330c16f0bc8d69 (patch)
tree5f7b06149f5d6e0af9241db8f60b28b9c07785f1 /source/slang/syntax.h
parent42f1cff5c1471e6bc3988a9810c20b8bcc1c84dd (diff)
Allow for implicit `this` expressions.
- When peforming ordinary lookup, if the container declaration for a scope is an aggregate type or `extension` decl, then use a "breadcrumb" to make sure that we use a `this` expression as the base of any resulting declaration reference - Add a test case for implicit `this` usage - Update constrained generic test case to use implicit `this` for member reference, as was originally intended
Diffstat (limited to 'source/slang/syntax.h')
-rw-r--r--source/slang/syntax.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/slang/syntax.h b/source/slang/syntax.h
index d32c4de15..0b5a38631 100644
--- a/source/slang/syntax.h
+++ b/source/slang/syntax.h
@@ -859,6 +859,12 @@ namespace Slang
// lookup was able to find a member through type `U`
// instead.
Constraint,
+
+ // The lookup process considered a member of an
+ // enclosing type as being in scope, so that any
+ // reference to that member needs to use a `this`
+ // expression as appropriate.
+ This,
};
// The kind of lookup step that was performed