@@ -157,7 +157,7 @@ type SyntaxVisitorBase<'T>() =
157157 ignore ( path, isRecursive, defaultTraverse, bindings, range)
158158 None
159159
160- /// VisitType allows overriding behavior when visiting simple pats
160+ /// VisitSimplePats allows overriding behavior when visiting simple pats
161161 abstract VisitSimplePats: path : SyntaxVisitorPath * synPats : SynSimplePat list -> 'T option
162162
163163 default _.VisitSimplePats ( path , synPats ) =
@@ -813,8 +813,7 @@ module SyntaxTraversal =
813813
814814 match ty with
815815 | SynType.App ( typeName, _, typeArgs, _, _, _, _)
816- | SynType.LongIdentApp ( typeName, _, _, typeArgs, _, _, _) ->
817- [ yield typeName; yield ! typeArgs ] |> List.tryPick ( traverseSynType path)
816+ | SynType.LongIdentApp ( typeName, _, _, typeArgs, _, _, _) -> typeName :: typeArgs |> List.tryPick ( traverseSynType path)
818817 | SynType.Fun ( argType = ty1; returnType = ty2) -> [ ty1; ty2 ] |> List.tryPick ( traverseSynType path)
819818 | SynType.MeasurePower ( ty, _, _)
820819 | SynType.HashConstraint ( ty, _)
@@ -921,12 +920,12 @@ module SyntaxTraversal =
921920 | SynMemberDefn.AutoProperty ( synExpr = synExpr) -> traverseSynExpr path synExpr
922921 | SynMemberDefn.LetBindings ( synBindingList, isRecursive, _, range) ->
923922 match visitor.VisitLetOrUse( path, isRecursive, traverseSynBinding path, synBindingList, range) with
924- | Some x -> Some x
925923 | None ->
926924 synBindingList
927925 |> List.map ( fun x -> dive x x.RangeOfBindingWithRhs ( traverseSynBinding path))
928926 |> pick m
929- | SynMemberDefn.AbstractSlot (_ synValSig, _ memberFlags, _ range) -> None
927+ | x -> x
928+ | SynMemberDefn.AbstractSlot ( SynValSig ( synType = synType), _ memberFlags, _ range) -> traverseSynType path synType
930929 | SynMemberDefn.Interface ( interfaceType = synType; members = synMemberDefnsOption) ->
931930 match visitor.VisitInterfaceSynMemberDefnType( path, synType) with
932931 | None ->
0 commit comments