@@ -659,6 +659,50 @@ class ASTContext final {
659659 // Retrieve the declaration of Swift._stdlib_isOSVersionAtLeast.
660660 FuncDecl *getIsOSVersionAtLeastDecl () const ;
661661
662+ // / Retrieve the declaration of DistributedActorSystem.remoteCall(Void)(...).
663+ // /
664+ // / \param actorOrSystem distributed actor or actor system to get the
665+ // / remoteCall function for. Since the method we're looking for is an ad-hoc
666+ // / requirement, a specific type MUST be passed here as it is not possible
667+ // / to obtain the decl from just the `DistributedActorSystem` protocol type.
668+ // / \param isVoidReturn true if the call will be returning `Void`.
669+ AbstractFunctionDecl *getRemoteCallOnDistributedActorSystem (
670+ NominalTypeDecl *actorOrSystem,
671+ bool isVoidReturn) const ;
672+
673+ // Retrieve the declaration of DistributedInvocationEncoder.recordArgument(_:).
674+ //
675+ // \param nominal optionally provide a 'NominalTypeDecl' from which the
676+ // function decl shall be extracted. This is useful to avoid witness calls
677+ // through the protocol which is looked up when nominal is null.
678+ FuncDecl *getRecordArgumentOnDistributedInvocationEncoder (
679+ NominalTypeDecl *nominal = nullptr ) const ;
680+
681+ // Retrieve the declaration of DistributedInvocationEncoder.recordErrorType().
682+ //
683+ // \param nominal optionally provide a 'NominalTypeDecl' from which the
684+ // function decl shall be extracted. This is useful to avoid witness calls
685+ // through the protocol which is looked up when nominal is null.
686+ FuncDecl *getRecordErrorTypeOnDistributedInvocationEncoder (
687+ NominalTypeDecl *nominal = nullptr ) const ;
688+
689+ // Retrieve the declaration of DistributedInvocationEncoder.recordReturnType().
690+ //
691+ // \param nominal optionally provide a 'NominalTypeDecl' from which the
692+ // function decl shall be extracted. This is useful to avoid witness calls
693+ // through the protocol which is looked up when nominal is null.
694+ FuncDecl *getRecordReturnTypeOnDistributedInvocationEncoder (
695+ NominalTypeDecl *nominal = nullptr ) const ;
696+
697+ // Retrieve the declaration of DistributedInvocationEncoder.doneRecording().
698+ //
699+ // \param nominal optionally provide a 'NominalTypeDecl' from which the
700+ // function decl shall be extracted. This is useful to avoid witness calls
701+ // through the protocol which is looked up when nominal is null.
702+ FuncDecl *getDoneRecordingOnDistributedInvocationEncoder (
703+ NominalTypeDecl *nominal = nullptr ) const ;
704+
705+
662706 // / Look for the declaration with the given name within the
663707 // / passed in module.
664708 void lookupInModule (ModuleDecl *M, StringRef name,
0 commit comments