@@ -138,7 +138,7 @@ public class ExpressionNodeData : INotifyPropertyChanged {
138138 public string PathFromParent { get ; set ; } = "" ;
139139 public string FullPath { get ; set ; } = "" ;
140140 public ( string @namespace , string typename , string propertyname ) ? ParentProperty { get ; set ; }
141- public ( string @namespace , string enumTypename , string membername ) ? NodeTypeParts { get ; set ; }
141+ public List < ( string @namespace , string enumTypename , string membername ) > NodeTypesParts { get ; set ; }
142142
143143 private List < ( string @namespace , string typename ) > _baseTypes ;
144144 public List < ( string @namespace , string typename ) > BaseTypes => _baseTypes ;
@@ -173,7 +173,14 @@ internal ExpressionNodeData(object o, (string aggregatePath, string pathFromPare
173173 switch ( o ) {
174174 case Expression expr :
175175 NodeType = expr . NodeType . ToString ( ) ;
176- NodeTypeParts = ( typeof ( ExpressionType ) . Namespace , nameof ( ExpressionType ) , NodeType ) ;
176+ NodeTypesParts = new List < ( string @namespace , string enumTypename , string membername ) > {
177+ ( typeof ( ExpressionType ) . Namespace , nameof ( ExpressionType ) , NodeType )
178+ } ;
179+ if ( expr is GotoExpression gexpr ) {
180+ NodeTypesParts . Add (
181+ typeof ( GotoExpressionKind ) . Namespace , nameof ( GotoExpressionKind ) , gexpr . Kind . ToString ( )
182+ ) ;
183+ }
177184 ReflectionTypeName = expr . Type . FriendlyName ( language ) ;
178185 IsDeclaration = isParameterDeclaration ;
179186
@@ -227,7 +234,9 @@ internal ExpressionNodeData(object o, (string aggregatePath, string pathFromPare
227234 break ;
228235 case MemberBinding mbind :
229236 NodeType = mbind . BindingType . ToString ( ) ;
230- NodeTypeParts = ( typeof ( MemberBindingType ) . Namespace , nameof ( MemberBindingType ) , NodeType ) ;
237+ NodeTypesParts = new List < ( string @namespace , string enumTypename , string membername ) > {
238+ ( typeof ( MemberBindingType ) . Namespace , nameof ( MemberBindingType ) , NodeType )
239+ } ;
231240 Name = mbind . Member . Name ;
232241 break ;
233242 case CallSiteBinder callSiteBinder :
0 commit comments