@@ -2773,6 +2773,12 @@ class ValueDecl : public Decl {
27732773 Bits.ValueDecl .Synthesized = value;
27742774 }
27752775
2776+ // / Does this have a 'distributed' modifier?
2777+ // /
2778+ // / Only member methods and computed properties of a `distributed actor`
2779+ // / can be distributed.
2780+ bool isDistributed () const ;
2781+
27762782 bool hasName () const { return bool (Name); }
27772783 bool isOperator () const { return Name.isOperator (); }
27782784
@@ -5869,9 +5875,6 @@ class AbstractStorageDecl : public ValueDecl {
58695875
58705876 bool hasAnyNativeDynamicAccessors () const ;
58715877
5872- // / Does this have a 'distributed' modifier?
5873- bool isDistributed () const ;
5874-
58755878 // / Return a distributed thunk if this computed property is marked as
58765879 // / 'distributed' and and nullptr otherwise.
58775880 FuncDecl *getDistributedThunk () const ;
@@ -7379,9 +7382,6 @@ class AbstractFunctionDecl : public GenericContext, public ValueDecl {
73797382 // / Returns if the function is 'rethrows' or 'reasync'.
73807383 bool hasPolymorphicEffect (EffectKind kind) const ;
73817384
7382- // / Returns 'true' if the function is distributed.
7383- bool isDistributed () const ;
7384-
73857385 // / Is this a thunk function used to access a distributed method
73867386 // / or computed property outside of its actor isolation context?
73877387 bool isDistributedThunk () const {
@@ -7528,6 +7528,15 @@ class AbstractFunctionDecl : public GenericContext, public ValueDecl {
75287528 getSILSynthesizeKind () == SILSynthesizeKind::DistributedActorFactory;
75297529 }
75307530
7531+ // / Return a vector of distributed requirements that this distributed method
7532+ // / is implementing.
7533+ // /
7534+ // / If the method is witness to multiple requirements this is incorrect and
7535+ // / should be diagnosed during type-checking as it may make remoteCalls
7536+ // / ambiguous.
7537+ llvm::ArrayRef<ValueDecl *>
7538+ getDistributedMethodWitnessedProtocolRequirements () const ;
7539+
75317540 // / Determines whether this function is a 'remoteCall' function,
75327541 // / which is used as ad-hoc protocol requirement by the
75337542 // / 'DistributedActorSystem' protocol.
0 commit comments