From 65c2e7f1ccc6cdb5daec343c7e32b4a9dc463ae4 Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 12 Apr 2022 15:23:53 -0700 Subject: Support `[DllImport]` (#2181) * Support `[DllImport]` * Fix. * Fix. * Fix array type emit in cpp. * Fix. * Fix. * Fix Co-authored-by: Yong He --- source/slang/slang-parser.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-parser.cpp') diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp index c08f5cf34..40bb91d77 100644 --- a/source/slang/slang-parser.cpp +++ b/source/slang/slang-parser.cpp @@ -3551,8 +3551,9 @@ namespace Slang { // User is specifying the class that should be construted auto classNameAndLoc = expectIdentifier(parser); - syntaxClass = parser->astBuilder->findSyntaxClass(classNameAndLoc.name); + + assert(syntaxClass.classInfo); } else { @@ -4822,6 +4823,11 @@ namespace Slang return parseBoolLitExpr(parser, false); } + static NodeBase* parseNullPtrExpr(Parser* parser, void* /*userData*/) + { + return parser->astBuilder->create(); + } + static bool _isFinite(double value) { // Lets type pun double to uint64_t, so we can detect special double values @@ -6296,6 +6302,7 @@ namespace Slang _makeParseExpr("This", parseThisTypeExpr), _makeParseExpr("true", parseTrueExpr), _makeParseExpr("false", parseFalseExpr), + _makeParseExpr("nullptr", parseNullPtrExpr), _makeParseExpr("__TaggedUnion", parseTaggedUnionType), }; -- cgit v1.2.3