From dcdebc1a76a0a6ffbfd6a5805354f8f679c60202 Mon Sep 17 00:00:00 2001 From: Yong He Date: Sat, 9 Aug 2025 09:43:25 -0700 Subject: Allow specializing entrypoints with generic value args or variadic types from API (#8119) Closes #8110. Closes #8011. --- source/slang/slang-linkable.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/slang/slang-linkable.h') diff --git a/source/slang/slang-linkable.h b/source/slang/slang-linkable.h index 04a5c3c88..da97fbf9a 100644 --- a/source/slang/slang-linkable.h +++ b/source/slang/slang-linkable.h @@ -262,7 +262,7 @@ public: /// it only really makes sense on `Module`. /// Type* getTypeFromString(String const& typeStr, DiagnosticSink* sink); - + Expr* parseExprFromString(String expr, DiagnosticSink* sink); Expr* findDeclFromString(String const& name, DiagnosticSink* sink); Expr* tryResolveOverloadedExpr(Expr* exprIn); @@ -348,6 +348,7 @@ public: virtual RefPtr _validateSpecializationArgsImpl( SpecializationArg const* args, Index argCount, + Index& outConsumedArgCount, DiagnosticSink* sink) = 0; /// Validate the given specialization `args` and compute any side-band specialization info. @@ -363,11 +364,12 @@ public: RefPtr _validateSpecializationArgs( SpecializationArg const* args, Index argCount, + Index& outConsumedArgCount, DiagnosticSink* sink) { if (argCount == 0) return nullptr; - return _validateSpecializationArgsImpl(args, argCount, sink); + return _validateSpecializationArgsImpl(args, argCount, outConsumedArgCount, sink); } /// Specialize this component type given `specializationArgs` -- cgit v1.2.3