summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-check-impl.h')
-rw-r--r--source/slang/slang-check-impl.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/source/slang/slang-check-impl.h b/source/slang/slang-check-impl.h
index 702fe5619..b1618dfb6 100644
--- a/source/slang/slang-check-impl.h
+++ b/source/slang/slang-check-impl.h
@@ -1586,6 +1586,17 @@ namespace Slang
Dictionary<DeclRef<InterfaceDecl>, RefPtr<WitnessTable>> mapInterfaceToWitnessTable;
};
+ void addModifiersToSynthesizedDecl(
+ ConformanceCheckingContext* context,
+ DeclRef<Decl> requirement,
+ FunctionDeclBase* synthesized,
+ ThisExpr* &synThis);
+
+ void addRequiredParamsToSynthesizedDecl(
+ DeclRef<CallableDecl> requirement,
+ CallableDecl* synthesized,
+ List<Expr*>& synArgs);
+
FuncDecl* synthesizeMethodSignatureForRequirementWitness(
ConformanceCheckingContext* context,
DeclRef<FuncDecl> requiredMemberDeclRef,
@@ -1614,6 +1625,12 @@ namespace Slang
DeclRef<FuncDecl> requiredMemberDeclRef,
RefPtr<WitnessTable> witnessTable);
+ bool trySynthesizeConstructorRequirementWitness(
+ ConformanceCheckingContext* context,
+ LookupResult const& lookupResult,
+ DeclRef<ConstructorDecl> requiredMemberDeclRef,
+ RefPtr<WitnessTable> witnessTable);
+
/// Attempt to synthesize a property that can satisfy `requiredMemberDeclRef` using `lookupResult`.
///
/// On success, installs the syntethesized method in `witnessTable` and returns `true`.