@@ -74,15 +74,48 @@ internal void Walk(AsyncApiComponents components)
7474 } ) ;
7575
7676 this . Walk ( AsyncApiConstants . ServerBindings , ( ) =>
77- {
78- if ( components . ServerBindings != null )
79- {
80- foreach ( var item in components . ServerBindings )
81- {
82- this . Walk ( item . Key , ( ) => this . Walk ( item . Value , isComponent : true ) ) ;
83- }
84- }
85- } ) ;
77+ {
78+ if ( components . ServerBindings != null )
79+ {
80+ foreach ( var item in components . ServerBindings )
81+ {
82+ this . Walk ( item . Key , ( ) => this . Walk ( item . Value , isComponent : true ) ) ;
83+ }
84+ }
85+ } ) ;
86+
87+ this . Walk ( AsyncApiConstants . ChannelBindings , ( ) =>
88+ {
89+ if ( components . ChannelBindings != null )
90+ {
91+ foreach ( var item in components . ChannelBindings )
92+ {
93+ this . Walk ( item . Key , ( ) => this . Walk ( item . Value , isComponent : true ) ) ;
94+ }
95+ }
96+ } ) ;
97+
98+ this . Walk ( AsyncApiConstants . OperationBindings , ( ) =>
99+ {
100+ if ( components . OperationBindings != null )
101+ {
102+ foreach ( var item in components . OperationBindings )
103+ {
104+ this . Walk ( item . Key , ( ) => this . Walk ( item . Value , isComponent : true ) ) ;
105+ }
106+ }
107+ } ) ;
108+
109+ this . Walk ( AsyncApiConstants . MessageBindings , ( ) =>
110+ {
111+ if ( components . MessageBindings != null )
112+ {
113+ foreach ( var item in components . MessageBindings )
114+ {
115+ this . Walk ( item . Key , ( ) => this . Walk ( item . Value , isComponent : true ) ) ;
116+ }
117+ }
118+ } ) ;
86119
87120 this . Walk ( AsyncApiConstants . Parameters , ( ) =>
88121 {
@@ -567,6 +600,25 @@ internal void Walk(AsyncApiBindings<IServerBinding> serverBindings, bool isCompo
567600 }
568601
569602 this . visitor . Visit ( serverBindings ) ;
603+ if ( serverBindings != null )
604+ {
605+ foreach ( var binding in serverBindings )
606+ {
607+ this . visitor . CurrentKeys . ServerBinding = binding . Key ;
608+ this . Walk ( binding . Key , ( ) => this . Walk ( binding . Value ) ) ;
609+ this . visitor . CurrentKeys . ServerBinding = null ;
610+ }
611+ }
612+ }
613+
614+ internal void Walk ( IServerBinding binding )
615+ {
616+ if ( binding == null )
617+ {
618+ return ;
619+ }
620+
621+ this . visitor . Visit ( binding ) ;
570622 }
571623
572624 internal void Walk ( AsyncApiBindings < IChannelBinding > channelBindings , bool isComponent = false )
@@ -577,6 +629,25 @@ internal void Walk(AsyncApiBindings<IChannelBinding> channelBindings, bool isCom
577629 }
578630
579631 this . visitor . Visit ( channelBindings ) ;
632+ if ( channelBindings != null )
633+ {
634+ foreach ( var binding in channelBindings )
635+ {
636+ this . visitor . CurrentKeys . ChannelBinding = binding . Key ;
637+ this . Walk ( binding . Key , ( ) => this . Walk ( binding . Value ) ) ;
638+ this . visitor . CurrentKeys . ChannelBinding = null ;
639+ }
640+ }
641+ }
642+
643+ internal void Walk ( IChannelBinding binding )
644+ {
645+ if ( binding == null )
646+ {
647+ return ;
648+ }
649+
650+ this . visitor . Visit ( binding ) ;
580651 }
581652
582653 internal void Walk ( AsyncApiBindings < IOperationBinding > operationBindings , bool isComponent = false )
@@ -587,6 +658,25 @@ internal void Walk(AsyncApiBindings<IOperationBinding> operationBindings, bool i
587658 }
588659
589660 this . visitor . Visit ( operationBindings ) ;
661+ if ( operationBindings != null )
662+ {
663+ foreach ( var binding in operationBindings )
664+ {
665+ this . visitor . CurrentKeys . OperationBinding = binding . Key ;
666+ this . Walk ( binding . Key , ( ) => this . Walk ( binding . Value ) ) ;
667+ this . visitor . CurrentKeys . OperationBinding = null ;
668+ }
669+ }
670+ }
671+
672+ internal void Walk ( IOperationBinding binding )
673+ {
674+ if ( binding == null )
675+ {
676+ return ;
677+ }
678+
679+ this . visitor . Visit ( binding ) ;
590680 }
591681
592682 internal void Walk ( AsyncApiBindings < IMessageBinding > messageBindings , bool isComponent = false )
@@ -597,6 +687,25 @@ internal void Walk(AsyncApiBindings<IMessageBinding> messageBindings, bool isCom
597687 }
598688
599689 this . visitor . Visit ( messageBindings ) ;
690+ if ( messageBindings != null )
691+ {
692+ foreach ( var binding in messageBindings )
693+ {
694+ this . visitor . CurrentKeys . MessageBinding = binding . Key ;
695+ this . Walk ( binding . Key , ( ) => this . Walk ( binding . Value ) ) ;
696+ this . visitor . CurrentKeys . MessageBinding = null ;
697+ }
698+ }
699+ }
700+
701+ internal void Walk ( IMessageBinding binding )
702+ {
703+ if ( binding == null )
704+ {
705+ return ;
706+ }
707+
708+ this . visitor . Visit ( binding ) ;
600709 }
601710
602711 internal void Walk ( IList < AsyncApiMessageExample > examples )
0 commit comments