diff options
| author | Yong He <yonghe@outlook.com> | 2025-08-09 09:43:25 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-09 16:43:25 +0000 |
| commit | dcdebc1a76a0a6ffbfd6a5805354f8f679c60202 (patch) | |
| tree | 126d60d157e73e401aacf1e13b400b8533ec8828 /source/slang/slang-linkable.h | |
| parent | fc6aea37483446372425aca8471f0e8bf7c3a910 (diff) | |
Allow specializing entrypoints with generic value args or variadic types from API (#8119)
Closes #8110.
Closes #8011.
Diffstat (limited to 'source/slang/slang-linkable.h')
| -rw-r--r-- | source/slang/slang-linkable.h | 6 |
1 files changed, 4 insertions, 2 deletions
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<SpecializationInfo> _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<SpecializationInfo> _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` |
