@@ -222,7 +222,7 @@ func (r *rewriteGen) sliceMethod(t types.Type, slice *types.Slice, spi generator
222
222
),
223
223
}
224
224
stmts = append (stmts , forBlock ... )
225
- rewriteChild := r .rewriteChildSlice (t , slice .Elem (), "notUsed " , jen .Id ("el" ), jen .Index (jen .Id ("idx" )), false )
225
+ rewriteChild := r .rewriteChildSlice (t , slice .Elem (), "Offset " , jen .Id ("el" ), jen .Index (jen .Id ("idx" )), false )
226
226
227
227
stmts = append (stmts ,
228
228
jen .For (jen .Id ("x, el" ).Op (":=" ).Id ("range node" )).
@@ -336,12 +336,8 @@ func (r *rewriteGen) rewriteAllStructFields(t types.Type, strct *types.Struct, s
336
336
}
337
337
338
338
spi .addType (slice .Elem ())
339
- id := jen .Id ("x" )
340
- if fail {
341
- id = jen .Id ("_" )
342
- }
343
339
output = append (output ,
344
- jen .For (jen .List (id , jen .Id ("el" )).Op (":=" ).Id ("range node." + field .Name ())).
340
+ jen .For (jen .List (jen . Id ( "x" ) , jen .Id ("el" )).Op (":=" ).Id ("range node." + field .Name ())).
345
341
Block (r .rewriteChildSlice (t , slice .Elem (), field .Name (), jen .Id ("el" ), jen .Dot (field .Name ()).Index (jen .Id ("idx" )), fail )... ))
346
342
fieldNumber ++
347
343
}
@@ -444,7 +440,15 @@ func (r *rewriteGen) rewriteChildSlice(t, field types.Type, fieldName string, pa
444
440
param ,
445
441
funcBlock ).Block (returnFalse ()))
446
442
443
+ savePath := jen .If (jen .Id ("a.collectPaths" )).Block (
444
+ jen .Id ("a.cur.current" ).Op ("=" ).Id ("AddStepWithSliceIndex" ).Call (
445
+ jen .Id ("path" ),
446
+ jen .Id (printableTypeName (t )+ fieldName + "8" ),
447
+ jen .Id ("x" )),
448
+ )
449
+
447
450
return []jen.Code {
451
+ savePath ,
448
452
rewriteField ,
449
453
}
450
454
}
0 commit comments