@@ -488,8 +488,10 @@ bool AbstractFunctionDecl::isDistributedActorSystemRemoteCall(bool isVoidReturn)
488
488
}
489
489
490
490
// === Must be declared in a 'DistributedActorSystem' conforming type
491
- ProtocolDecl *systemProto =
492
- C.getDistributedActorSystemDecl ();
491
+ ProtocolDecl *systemProto = C.getDistributedActorSystemDecl ();
492
+ if (!systemProto) {
493
+ return false ;
494
+ }
493
495
494
496
auto systemNominal = DC->getSelfNominalTypeDecl ();
495
497
auto distSystemConformance = lookupConformance (
@@ -794,6 +796,9 @@ AbstractFunctionDecl::isDistributedTargetInvocationEncoderRecordArgument() const
794
796
// === Must be declared in a 'DistributedTargetInvocationEncoder' conforming type
795
797
ProtocolDecl *encoderProto =
796
798
C.getProtocol (KnownProtocolKind::DistributedTargetInvocationEncoder);
799
+ if (!encoderProto) {
800
+ return false ;
801
+ }
797
802
798
803
auto encoderNominal = getDeclContext ()->getSelfNominalTypeDecl ();
799
804
auto protocolConformance = lookupConformance (
@@ -925,6 +930,9 @@ AbstractFunctionDecl::isDistributedTargetInvocationEncoderRecordReturnType() con
925
930
// === Must be declared in a 'DistributedTargetInvocationEncoder' conforming type
926
931
ProtocolDecl *encoderProto =
927
932
C.getProtocol (KnownProtocolKind::DistributedTargetInvocationEncoder);
933
+ if (!encoderProto) {
934
+ return false ;
935
+ }
928
936
929
937
auto encoderNominal = getDeclContext ()->getSelfNominalTypeDecl ();
930
938
auto protocolConformance = lookupConformance (
@@ -1051,6 +1059,9 @@ AbstractFunctionDecl::isDistributedTargetInvocationEncoderRecordErrorType() cons
1051
1059
// === Must be declared in a 'DistributedTargetInvocationEncoder' conforming type
1052
1060
ProtocolDecl *encoderProto =
1053
1061
C.getProtocol (KnownProtocolKind::DistributedTargetInvocationEncoder);
1062
+ if (!encoderProto) {
1063
+ return false ;
1064
+ }
1054
1065
1055
1066
auto encoderNominal = getDeclContext ()->getSelfNominalTypeDecl ();
1056
1067
auto protocolConformance = lookupConformance (
@@ -1158,7 +1169,9 @@ AbstractFunctionDecl::isDistributedTargetInvocationDecoderDecodeNextArgument() c
1158
1169
// === Must be declared in a 'DistributedTargetInvocationEncoder' conforming type
1159
1170
ProtocolDecl *decoderProto =
1160
1171
C.getProtocol (KnownProtocolKind::DistributedTargetInvocationDecoder);
1161
-
1172
+ if (!decoderProto) {
1173
+ return false ;
1174
+ }
1162
1175
auto decoderNominal = getDeclContext ()->getSelfNominalTypeDecl ();
1163
1176
auto protocolConformance = lookupConformance (
1164
1177
decoderNominal->getDeclaredInterfaceType (), decoderProto);
@@ -1251,6 +1264,9 @@ AbstractFunctionDecl::isDistributedTargetInvocationResultHandlerOnReturn() const
1251
1264
// === Must be declared in a 'DistributedTargetInvocationEncoder' conforming type
1252
1265
ProtocolDecl *decoderProto =
1253
1266
C.getProtocol (KnownProtocolKind::DistributedTargetInvocationResultHandler);
1267
+ if (!decoderProto) {
1268
+ return false ;
1269
+ }
1254
1270
1255
1271
auto decoderNominal = getDeclContext ()->getSelfNominalTypeDecl ();
1256
1272
auto protocolConformance = lookupConformance (
0 commit comments