@@ -88,6 +88,7 @@ module Syntax =
8888
8989 let rec walkImplFileInput ( ParsedImplFileInput ( contents = moduleOrNamespaceList)) =
9090 List.iter walkSynModuleOrNamespace moduleOrNamespaceList
91+ ()
9192
9293 and walkSynModuleOrNamespace ( SynModuleOrNamespace ( decls = decls; attribs = AllAttrs attrs; range = r) as s) =
9394 walker.WalkSynModuleOrNamespace s
@@ -96,9 +97,10 @@ module Syntax =
9697
9798 and walkAttribute ( attr : SynAttribute ) = walkExpr attr.ArgExpr
9899
99- and walkTyparDecl ( SynTyparDecl ( attributes = AllAttrs attrs; Item2 = typar)) =
100+ and walkTyparDecl ( SynTyparDecl ( attributes = AllAttrs attrs; typar = typar; intersectionConstraints = ts )) =
100101 List.iter walkAttribute attrs
101102 walkTypar typar
103+ List.iter walkType ts
102104
103105 and walkTyparDecls ( typars : SynTyparDecls ) =
104106 typars.TyparDecls |> List.iter walkTyparDecl
@@ -155,7 +157,6 @@ module Syntax =
155157 | SynPat.Record(_, r) -> ()
156158 | SynPat.Null( r) -> ()
157159 | SynPat.OptionalVal(_, r) -> ()
158- | SynPat.DeprecatedCharRange(_, _, r) -> ()
159160 | SynPat.InstanceMember(_, _, _, accessibility, r) -> ()
160161 | SynPat.FromParseError(_, r) -> ()
161162 | SynPat.As( lpat, rpat, r) ->
@@ -223,6 +224,9 @@ module Syntax =
223224 walkType lhs
224225 walkType rhs
225226 | SynType.FromParseError( r) -> ()
227+ | SynType.Intersection( typar, types, _, _) ->
228+ Option.iter walkTypar typar
229+ List.iter walkType types
226230
227231 and walkClause ( SynMatchClause ( pat , e1 , e2 , r , _ , _ ) as s ) =
228232 walker.WalkClause s
@@ -245,20 +249,23 @@ module Syntax =
245249 walker.WalkExpr s
246250
247251 match s with
248- | SynExpr.Typed( e, _, r) -> walkExpr e
249- | SynExpr.Paren( e, _, _, r)
250- | SynExpr.Quote(_, _, e, _, r)
251- | SynExpr.InferredUpcast( e, r)
252- | SynExpr.InferredDowncast( e, r)
253- | SynExpr.AddressOf(_, e, _, r)
254- | SynExpr.DoBang( e, r)
255- | SynExpr.YieldOrReturn(_, e, r)
256- | SynExpr.ArrayOrListComputed(_, e, r)
257- | SynExpr.ComputationExpr(_, e, r)
258- | SynExpr.Do( e, r)
259- | SynExpr.Assert( e, r)
260- | SynExpr.Lazy( e, r)
261- | SynExpr.YieldOrReturnFrom(_, e, r) -> walkExpr e
252+ | SynExpr.Typed( expr = e)
253+ | SynExpr.Paren( expr = e)
254+ | SynExpr.InferredUpcast( expr = e)
255+ | SynExpr.InferredDowncast( expr = e)
256+ | SynExpr.AddressOf( expr = e)
257+ | SynExpr.DoBang( expr = e)
258+ | SynExpr.YieldOrReturn( expr = e)
259+ | SynExpr.ArrayOrListComputed( expr = e)
260+ | SynExpr.ComputationExpr( expr = e)
261+ | SynExpr.Do( expr = e)
262+ | SynExpr.Assert( expr = e)
263+ | SynExpr.Lazy( expr = e)
264+ | SynExpr.YieldOrReturnFrom( expr = e)
265+ | SynExpr.DotLambda( expr = e) -> walkExpr e
266+ | SynExpr.Quote( operator, _, quotedExpr, _, _) ->
267+ walkExpr operator
268+ walkExpr quotedExpr
262269 | SynExpr.SequentialOrImplicitYield(_, e1, e2, ifNotE, r) ->
263270 walkExpr e1
264271 walkExpr e2
@@ -337,7 +344,7 @@ module Syntax =
337344 walkType t
338345 walkMemberSig sign
339346 walkExpr e
340- | SynExpr.Const( SynConst.Measure(_, _, m), r) -> walkMeasure m
347+ | SynExpr.Const( SynConst.Measure( synMeasure = m), r) -> walkMeasure m
341348 | SynExpr.Const(_, r) -> ()
342349 | SynExpr.AnonRecd( isStruct, copyInfo, recordFields, r, trivia) -> ()
343350 | SynExpr.Sequential( seqPoint, isTrueSeq, expr1, expr2, r) -> ()
@@ -368,22 +375,27 @@ module Syntax =
368375 walkExpr e1
369376 walkExpr e2
370377 | SynExpr.Typar( t, r) -> walkTypar t
378+ | SynExpr.WhileBang( whileExpr = whileExpr; doExpr = doExpr) ->
379+ walkExpr whileExpr
380+ walkExpr doExpr
371381
372382 and walkMeasure s =
373383 walker.WalkMeasure s
374384
375385 match s with
376- | SynMeasure.Product( m1, m2, r)
377- | SynMeasure.Divide( m1, m2, r) ->
386+ | SynMeasure.Product( measure1 = m1; measure2 = m2) ->
378387 walkMeasure m1
379388 walkMeasure m2
389+ | SynMeasure.Divide( m1, _, m2, r) ->
390+ Option.iter walkMeasure m1
391+ walkMeasure m2
380392 | SynMeasure.Named( longIdent, r) -> ()
381393 | SynMeasure.Seq( ms, r) -> List.iter walkMeasure ms
382- | SynMeasure.Power( m, _, r) -> walkMeasure m
394+ | SynMeasure.Power( m, _, _, r) -> walkMeasure m
383395 | SynMeasure.Var( ty, r) -> walkTypar ty
384396 | SynMeasure.Paren( m, r) -> walkMeasure m
385- | SynMeasure.One
386- | SynMeasure.Anon _ -> ()
397+ | SynMeasure.One(_)
398+ | SynMeasure.Anon(_) -> ()
387399
388400 and walkSimplePat s =
389401 walker.WalkSimplePat s
@@ -423,14 +435,7 @@ module Syntax =
423435 | SynMemberSig.ValField( f, r) -> walkField f
424436 | SynMemberSig.NestedType( SynTypeDefnSig( typeInfo = info; typeRepr = repr; members = memberSigs), r) ->
425437
426- let isTypeExtensionOrAlias =
427- match repr with
428- | SynTypeDefnSigRepr.Simple( SynTypeDefnSimpleRepr.TypeAbbrev _, _)
429- | SynTypeDefnSigRepr.ObjectModel( SynTypeDefnKind.Abbrev, _, _)
430- | SynTypeDefnSigRepr.ObjectModel( SynTypeDefnKind.Augmentation _, _, _) -> true
431- | _ -> false
432-
433- walkComponentInfo isTypeExtensionOrAlias info
438+ walkComponentInfo info
434439 walkTypeDefnSigRepr repr
435440 List.iter walkMemberSig memberSigs
436441
@@ -492,7 +497,6 @@ module Syntax =
492497 | SynTypeDefnSimpleRepr.Exception(_) -> ()
493498
494499 and walkComponentInfo
495- isTypeExtensionOrAlias
496500 ( SynComponentInfo (
497501 attributes = AllAttrs attrs; typeParams = typars; constraints = constraints; longId = longIdent; range = r) as s)
498502 =
@@ -520,14 +524,7 @@ module Syntax =
520524 and walkTypeDefn ( SynTypeDefn ( info , repr , members , implicitCtor , r , _ ) as s ) =
521525 walker.WalkTypeDefn s
522526
523- let isTypeExtensionOrAlias =
524- match repr with
525- | SynTypeDefnRepr.ObjectModel( SynTypeDefnKind.Augmentation _, _, _)
526- | SynTypeDefnRepr.ObjectModel( SynTypeDefnKind.Abbrev, _, _)
527- | SynTypeDefnRepr.Simple( SynTypeDefnSimpleRepr.TypeAbbrev _, _) -> true
528- | _ -> false
529-
530- walkComponentInfo isTypeExtensionOrAlias info
527+ walkComponentInfo info
531528 walkTypeDefnRepr repr
532529 Option.iter walkMember implicitCtor
533530 List.iter walkMember members
@@ -538,7 +535,7 @@ module Syntax =
538535 match decl with
539536 | SynModuleDecl.NamespaceFragment fragment -> walkSynModuleOrNamespace fragment
540537 | SynModuleDecl.NestedModule( info, _, modules, _, r, _) ->
541- walkComponentInfo false info
538+ walkComponentInfo info
542539 List.iter walkSynModuleDecl modules
543540 | SynModuleDecl.Let(_, bindings, r) -> List.iter walkBinding bindings
544541 | SynModuleDecl.Expr( expr, r) -> walkExpr expr
@@ -549,6 +546,7 @@ module Syntax =
549546 | SynModuleDecl.Open( longDotId, r) -> ()
550547 | SynModuleDecl.HashDirective(_, r) -> ()
551548
549+
552550 match input with
553551 | ParsedInput.ImplFile input -> walkImplFileInput input
554552 | _ -> ()
@@ -627,9 +625,9 @@ module FoldingRange =
627625 | SynMeasure.Seq( range = r)
628626 | SynMeasure.Power( range = r)
629627 | SynMeasure.Var( range = r)
630- | SynMeasure.Paren( range = r) -> addIfInside r
631- | SynMeasure.One
632- | SynMeasure.Anon _ -> ()
628+ | SynMeasure.Paren( range = r)
629+ | SynMeasure.One( range = r )
630+ | SynMeasure.Anon( range = r ) -> addIfInside r
633631
634632 override _.WalkSimplePat p = addIfInside p.Range
635633 override _.WalkField ( SynField ( range = r)) = addIfInside r
0 commit comments