@@ -572,6 +572,7 @@ class NodePrinter {
572572 case Node::Kind::DifferentiableFunctionType:
573573 case Node::Kind::GlobalActorFunctionType:
574574 case Node::Kind::IsolatedAnyFunctionType:
575+ case Node::Kind::NonIsolatedCallerFunctionType:
575576 case Node::Kind::SendingResultFunctionType:
576577 case Node::Kind::AsyncAnnotation:
577578 case Node::Kind::ThrowsAnnotation:
@@ -915,6 +916,14 @@ class NodePrinter {
915916 print (node->getChild (startIndex), depth + 1 );
916917 ++startIndex;
917918 }
919+
920+ Node *nonIsolatedCallerNode = nullptr ;
921+ if (node->getChild (startIndex)->getKind () ==
922+ Node::Kind::NonIsolatedCallerFunctionType) {
923+ nonIsolatedCallerNode = node->getChild (startIndex);
924+ ++startIndex;
925+ }
926+
918927 if (node->getChild (startIndex)->getKind () ==
919928 Node::Kind::GlobalActorFunctionType) {
920929 print (node->getChild (startIndex), depth + 1 );
@@ -963,6 +972,9 @@ class NodePrinter {
963972 break ;
964973 }
965974
975+ if (nonIsolatedCallerNode)
976+ print (nonIsolatedCallerNode, depth + 1 );
977+
966978 if (isSendable)
967979 Printer << " @Sendable " ;
968980
@@ -3108,6 +3120,9 @@ NodePointer NodePrinter::print(NodePointer Node, unsigned depth,
31083120 case Node::Kind::IsolatedAnyFunctionType:
31093121 Printer << " @isolated(any) " ;
31103122 return nullptr ;
3123+ case Node::Kind::NonIsolatedCallerFunctionType:
3124+ Printer << " @execution(caller) " ;
3125+ return nullptr ;
31113126 case Node::Kind::SendingResultFunctionType:
31123127 Printer << " sending " ;
31133128 return nullptr ;
0 commit comments