@@ -190,15 +190,15 @@ void Action(MemberBinding b)
190190 VisitInternal ( ( ( MemberListBinding ) b ) . Initializers , p => VisitInternal ( p . Arguments , func ) ) ;
191191 break ;
192192 case MemberBindingType . MemberBinding :
193- VisitInternal ( ( ( MemberMemberBinding ) b ) . Bindings , ( Action < MemberBinding > ) Action ) ;
193+ VisitInternal ( ( ( MemberMemberBinding ) b ) . Bindings , Action ) ;
194194 break ;
195195 }
196196 }
197197
198198 var e = ( MemberInitExpression ) expr ;
199199
200200 VisitInternal ( e . NewExpression , func ) ;
201- VisitInternal ( e . Bindings , ( Action < MemberBinding > ) Action ) ;
201+ VisitInternal ( e . Bindings , Action ) ;
202202
203203 break ;
204204 }
@@ -1053,7 +1053,7 @@ public static Expression Transform([CanBeNull] this Expression expr, [NotNull] F
10531053 return TransformInternal ( expr , func ) ;
10541054 }
10551055
1056- [ CanBeNull ]
1056+ [ ContractAnnotation ( "expr: null => null; expr: notnull => notnull" ) ]
10571057 private static Expression TransformInternal ( [ CanBeNull ] this Expression expr , [ NotNull ] Func < Expression , Expression > func )
10581058 {
10591059 if ( expr == null )
@@ -1189,6 +1189,7 @@ private static Expression TransformInternal([CanBeNull] this Expression expr, [N
11891189 case ExpressionType . MemberAccess :
11901190 {
11911191 var e = ( MemberExpression ) expr ;
1192+ DebugCode . BugIf ( e . Expression == null , "e.Expression == null" ) ;
11921193 return e . Update ( TransformInternal ( e . Expression , func ) ) ;
11931194 }
11941195
@@ -1280,6 +1281,7 @@ MemberBinding Modify(MemberBinding b)
12801281 case ExpressionType . Index :
12811282 {
12821283 var e = ( IndexExpression ) expr ;
1284+ DebugCode . BugIf ( e . Object == null , "e.Object == null" ) ;
12831285 return e . Update (
12841286 TransformInternal ( e . Object , func ) ,
12851287 TransformInternal ( e . Arguments , func ) ) ;
0 commit comments