@@ -444,6 +444,29 @@ ITypeSymbol capability
444
444
) ;
445
445
}
446
446
447
+ public static ArrowExpressionClauseSyntax GetVoidRequestCapabilityHandlerExpression (
448
+ ExpressionSyntax nameExpression , ITypeSymbol requestType ,
449
+ ITypeSymbol capability
450
+ )
451
+ {
452
+ var requestName = ResolveTypeName ( requestType ) ;
453
+ var capabilityName = ResolveTypeName ( capability ) ;
454
+ return ArrowExpressionClause (
455
+ AddHandler (
456
+ Argument ( nameExpression ) ,
457
+ Argument (
458
+ CreateHandlerArgument (
459
+ IdentifierName ( "LanguageProtocolDelegatingHandlers" ) ,
460
+ "RequestCapability" ,
461
+ requestName ,
462
+ capabilityName
463
+ )
464
+ . WithArgumentList ( GetHandlerArgumentList ( ) )
465
+ )
466
+ )
467
+ ) ;
468
+ }
469
+
447
470
public static BlockSyntax GetRequestRegistrationHandlerExpression (
448
471
ExpressionSyntax nameExpression , ITypeSymbol requestType , ITypeSymbol responseType ,
449
472
ITypeSymbol registrationOptions
@@ -593,36 +616,44 @@ public static ArrowExpressionClauseSyntax GetRequestHandlerExpression(Expression
593
616
}
594
617
595
618
public static ArrowExpressionClauseSyntax GetPartialResultCapabilityHandlerExpression (
596
- ExpressionSyntax nameExpression , ITypeSymbol requestType , ITypeSymbol responseType ,
619
+ ExpressionSyntax nameExpression , ITypeSymbol requestType , ITypeSymbol itemType , ITypeSymbol responseType ,
597
620
ITypeSymbol capability
598
621
)
599
622
{
600
623
var requestName = ResolveTypeName ( requestType ) ;
624
+ var itemName = ResolveTypeName ( itemType ) ;
601
625
var responseName = ResolveTypeName ( responseType ) ;
602
626
var capabilityName = ResolveTypeName ( capability ) ;
603
627
return ArrowExpressionClause (
604
628
AddHandler (
605
629
Argument ( nameExpression ) ,
606
630
Argument (
631
+ SimpleLambdaExpression (
632
+ Parameter (
633
+ Identifier ( "_" )
634
+ ) ,
607
635
CreateHandlerArgument (
608
636
IdentifierName ( "LanguageProtocolDelegatingHandlers" ) ,
609
637
"PartialResultCapability" ,
610
638
requestName ,
611
639
responseName ,
640
+ itemName ,
612
641
capabilityName
613
642
)
614
643
. WithArgumentList ( GetPartialResultArgumentList ( responseName ) )
644
+ )
615
645
)
616
646
)
617
647
) ;
618
648
}
619
649
620
650
public static BlockSyntax GetPartialResultRegistrationHandlerExpression (
621
- ExpressionSyntax nameExpression , ITypeSymbol requestType , ITypeSymbol responseType ,
651
+ ExpressionSyntax nameExpression , ITypeSymbol requestType , ITypeSymbol itemType , ITypeSymbol responseType ,
622
652
ITypeSymbol registrationOptions
623
653
)
624
654
{
625
655
var requestName = ResolveTypeName ( requestType ) ;
656
+ var itemName = ResolveTypeName ( itemType ) ;
626
657
var responseName = ResolveTypeName ( responseType ) ;
627
658
var registrationOptionsName = ResolveTypeName ( registrationOptions ) ;
628
659
return Block (
@@ -631,27 +662,34 @@ ITypeSymbol registrationOptions
631
662
AddHandler (
632
663
Argument ( nameExpression ) ,
633
664
Argument (
665
+ SimpleLambdaExpression (
666
+ Parameter (
667
+ Identifier ( "_" )
668
+ ) ,
634
669
CreateHandlerArgument (
635
670
IdentifierName ( "LanguageProtocolDelegatingHandlers" ) ,
636
671
"PartialResult" ,
637
672
requestName ,
638
673
responseName ,
674
+ itemName ,
639
675
registrationOptionsName
640
676
)
641
677
. WithArgumentList ( GetPartialResultRegistrationArgumentList ( IdentifierName ( "registrationOptions" ) , responseName ) )
678
+ )
642
679
)
643
680
)
644
681
)
645
682
) ;
646
683
}
647
684
648
685
public static BlockSyntax GetPartialResultRegistrationHandlerExpression (
649
- ExpressionSyntax nameExpression , ITypeSymbol requestType , ITypeSymbol responseType ,
686
+ ExpressionSyntax nameExpression , ITypeSymbol requestType , ITypeSymbol itemType , ITypeSymbol responseType ,
650
687
ITypeSymbol registrationOptions ,
651
688
ITypeSymbol capability
652
689
)
653
690
{
654
691
var requestName = ResolveTypeName ( requestType ) ;
692
+ var itemName = ResolveTypeName ( itemType ) ;
655
693
var responseName = ResolveTypeName ( responseType ) ;
656
694
var registrationOptionsName = ResolveTypeName ( registrationOptions ) ;
657
695
var capabilityName = ResolveTypeName ( capability ) ;
@@ -661,36 +699,49 @@ ITypeSymbol capability
661
699
AddHandler (
662
700
Argument ( nameExpression ) ,
663
701
Argument (
702
+ SimpleLambdaExpression (
703
+ Parameter (
704
+ Identifier ( "_" )
705
+ ) ,
664
706
CreateHandlerArgument (
665
707
IdentifierName ( "LanguageProtocolDelegatingHandlers" ) ,
666
708
"PartialResult" ,
667
709
requestName ,
668
710
responseName ,
711
+ itemName ,
669
712
capabilityName ,
670
713
registrationOptionsName
671
714
)
672
715
. WithArgumentList ( GetPartialResultRegistrationArgumentList ( IdentifierName ( "registrationOptions" ) , responseName ) )
716
+ )
673
717
)
674
718
)
675
719
)
676
720
) ;
677
721
}
678
722
679
- public static ArrowExpressionClauseSyntax GetPartialResultHandlerExpression ( ExpressionSyntax nameExpression , ITypeSymbol requestType , ITypeSymbol responseType )
723
+ public static ArrowExpressionClauseSyntax GetPartialResultHandlerExpression ( ExpressionSyntax nameExpression , ITypeSymbol requestType , ITypeSymbol partialItem , ITypeSymbol responseType )
680
724
{
681
725
var requestName = ResolveTypeName ( requestType ) ;
726
+ var itemName = ResolveTypeName ( partialItem ) ;
682
727
var responseName = ResolveTypeName ( responseType ) ;
683
728
return ArrowExpressionClause (
684
729
AddHandler (
685
730
Argument ( nameExpression ) ,
686
731
Argument (
732
+ SimpleLambdaExpression (
733
+ Parameter (
734
+ Identifier ( "_" )
735
+ ) ,
687
736
CreateHandlerArgument (
688
737
IdentifierName ( "LanguageProtocolDelegatingHandlers" ) ,
689
738
"PartialResult" ,
690
739
requestName ,
691
- responseName
740
+ responseName ,
741
+ itemName
692
742
)
693
743
. WithArgumentList ( GetPartialResultArgumentList ( responseName ) )
744
+ )
694
745
)
695
746
)
696
747
) ;
0 commit comments