From 88f04c29244af23c1cdd472d8d1ae3e5a650494e Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 10 Aug 2022 14:11:27 -0700 Subject: `is` and `as` operator and `Optional`. (#2355) * `is` and `as` operator and `Optional`. * Fix. Co-authored-by: Yong He --- source/slang/core.meta.slang | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'source/slang/core.meta.slang') diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang index 41f066486..616511b01 100644 --- a/source/slang/core.meta.slang +++ b/source/slang/core.meta.slang @@ -456,6 +456,25 @@ __intrinsic_type($(kIROp_RefType)) struct Ref {}; +__generic +__magic_type(OptionalType) +__intrinsic_type($(kIROp_OptionalType)) +struct Optional +{ + property bool hasValue + { + __intrinsic_op($(kIROp_OptionalHasValue)) + get; + } + + property T value + { + __intrinsic_op($(kIROp_GetOptionalValue)) + get; + } +}; + + __magic_type(StringType) __intrinsic_type($(kIROp_StringType)) struct String -- cgit v1.2.3