@@ -121,9 +121,10 @@ module ASTCollecting =
121
121
122
122
and walkAttribute ( attr : SynAttribute ) = walkExpr attr.ArgExpr
123
123
124
- and walkTyparDecl ( SynTyparDecl ( attributes = AllAttrs attrs; Item2 = typar)) =
124
+ and walkTyparDecl ( SynTyparDecl ( attributes = AllAttrs attrs; typar = typar; intersectionConstraints = ts )) =
125
125
List.iter walkAttribute attrs
126
126
walkTypar typar
127
+ List.iter walkType ts
127
128
128
129
and walkTyparDecls ( typars : SynTyparDecls ) =
129
130
typars.TyparDecls |> List.iter walkTyparDecl
@@ -180,7 +181,6 @@ module ASTCollecting =
180
181
| SynPat.Record(_, r) -> ()
181
182
| SynPat.Null r -> ()
182
183
| SynPat.OptionalVal(_, r) -> ()
183
- | SynPat.DeprecatedCharRange(_, _, r) -> ()
184
184
| SynPat.InstanceMember(_, _, _, accessibility, r) -> ()
185
185
| SynPat.FromParseError(_, r) -> ()
186
186
| SynPat.As( lpat, rpat, r) ->
@@ -251,6 +251,9 @@ module ASTCollecting =
251
251
walkType lhs
252
252
walkType rhs
253
253
| SynType.FromParseError r -> ()
254
+ | SynType.Intersection( typar, types, _, _) ->
255
+ Option.iter walkTypar typar
256
+ List.iter walkType types
254
257
255
258
and walkClause ( SynMatchClause ( pat , e1 , e2 , r , _ , _ ) as s ) =
256
259
walker.WalkClause s
@@ -365,52 +368,58 @@ module ASTCollecting =
365
368
walkType t
366
369
walkMemberSig sign
367
370
walkExpr e
368
- | SynExpr.Const( SynConst.Measure(_, _, m), r ) -> walkMeasure m
371
+ | SynExpr.Const( SynConst.Measure( synMeasure = m), _ ) -> walkMeasure m
369
372
| SynExpr.Const(_, r) -> ()
370
373
| SynExpr.AnonRecd( isStruct, copyInfo, recordFields, r, trivia) -> ()
371
374
| SynExpr.Sequential( seqPoint, isTrueSeq, expr1, expr2, r) -> ()
372
375
| SynExpr.Ident _ -> ()
373
376
| SynExpr.LongIdent( isOptional, longDotId, altNameRefCell, r) -> ()
374
- | SynExpr.Set(_, _, r) -> ()
377
+ | SynExpr.Set( range = r) -> ()
375
378
| SynExpr.Null r -> ()
376
379
| SynExpr.ImplicitZero r -> ()
377
380
| SynExpr.MatchBang( range = r) -> ()
378
- | SynExpr.LibraryOnlyILAssembly(_, _, _, _, r) -> ()
379
- | SynExpr.LibraryOnlyStaticOptimization(_, _, _, r) -> ()
381
+ | SynExpr.LibraryOnlyILAssembly( range = r) -> ()
382
+ | SynExpr.LibraryOnlyStaticOptimization( range = r) -> ()
380
383
| SynExpr.LibraryOnlyUnionCaseFieldGet( expr, longId, _, r) -> ()
381
- | SynExpr.LibraryOnlyUnionCaseFieldSet(_, longId, _, _, r) -> ()
384
+ | SynExpr.LibraryOnlyUnionCaseFieldSet( longId = longId; range = r) -> ()
382
385
| SynExpr.ArbitraryAfterError( debugStr, r) -> ()
383
386
| SynExpr.FromParseError( expr, r) -> ()
384
- | SynExpr.DiscardAfterMissingQualificationAfterDot(_, _, r) -> ()
387
+ | SynExpr.DiscardAfterMissingQualificationAfterDot( range = r) -> ()
385
388
| SynExpr.Fixed( expr, r) -> ()
386
389
| SynExpr.InterpolatedString( parts, kind, r) ->
387
390
388
391
for part in parts do
389
392
walkInterpolatedStringPart part
390
393
| SynExpr.IndexFromEnd( itemExpr, r) -> walkExpr itemExpr
391
- | SynExpr.IndexRange( e1 , _, e2 , _, _, r) ->
394
+ | SynExpr.IndexRange( expr1 = e1 ; expr2 = e2 ; range = r) ->
392
395
Option.iter walkExpr e1
393
396
Option.iter walkExpr e2
394
397
| SynExpr.DebugPoint( innerExpr = expr) -> walkExpr expr
395
398
| SynExpr.Dynamic( funcExpr = e1; argExpr = e2; range = range) ->
396
399
walkExpr e1
397
400
walkExpr e2
398
401
| SynExpr.Typar( t, r) -> walkTypar t
402
+ | SynExpr.DotLambda( expr = e) -> walkExpr e
403
+ | SynExpr.WhileBang( whileExpr = whileExpr; doExpr = doExpr) ->
404
+ walkExpr whileExpr
405
+ walkExpr doExpr
399
406
400
407
and walkMeasure s =
401
408
walker.WalkMeasure s
402
409
403
410
match s with
404
- | SynMeasure.Product( m1, m2, r)
405
- | SynMeasure.Divide( m1, m2, r) ->
411
+ | SynMeasure.Product( measure1 = m1; measure2 = m2) ->
406
412
walkMeasure m1
407
413
walkMeasure m2
408
- | SynMeasure.Named( longIdent, r) -> ()
409
- | SynMeasure.Seq( ms, r) -> List.iter walkMeasure ms
410
- | SynMeasure.Power( m, _, r) -> walkMeasure m
411
- | SynMeasure.Var( ty, r) -> walkTypar ty
412
- | SynMeasure.Paren( m, r) -> walkMeasure m
413
- | SynMeasure.One
414
+ | SynMeasure.Divide( measure1 = m1; measure2 = m2) ->
415
+ Option.iter walkMeasure m1
416
+ walkMeasure m2
417
+ | SynMeasure.Named _ -> ()
418
+ | SynMeasure.Seq( ms, _) -> List.iter walkMeasure ms
419
+ | SynMeasure.Power( measure = m) -> walkMeasure m
420
+ | SynMeasure.Var( ty, _) -> walkTypar ty
421
+ | SynMeasure.Paren( m, _) -> walkMeasure m
422
+ | SynMeasure.One _
414
423
| SynMeasure.Anon _ -> ()
415
424
416
425
and walkSimplePat s =
0 commit comments