@@ -550,6 +550,14 @@ and visitSynPat (x : SynPat) : Stuff =
550550 visitSynPats synPats
551551 | SynPat.As( lhsPat, rhsPat, range) ->
552552 visitSynPats [ lhsPat; rhsPat]
553+ | SynPat.Attrib( synPat, synAttributeLists, range) ->
554+ seq {
555+ yield ! visitSynPat synPat
556+
557+ }
558+
559+ and visitBindingReturnInfo ( x : SynBindingReturnInfo ) : Stuff =
560+ failwith unsupported
553561
554562and visitSynBinding ( x : SynBinding ) : Stuff =
555563 match x with
@@ -560,28 +568,176 @@ and visitSynBinding (x : SynBinding) : Stuff =
560568 yield ! visitPreXmlDoc preXmlDoc
561569 yield ! visitSynValData synValData
562570 yield ! visitSynPat headPat
571+ match synBindingReturnInfoOption with | Some info -> yield ! visitBindingReturnInfo info | None -> ()
572+ yield ! visitSynExpr synExpr
563573 }
564- failwith unsupported
565574
566575and visitSynBindings ( bindings : SynBinding list ) : Stuff =
567576 Seq.collect visitSynBinding bindings
568577
569578and visitSynOpenDeclTarget ( target : SynOpenDeclTarget ) : Stuff =
570- failwith unsupported
579+ match target with
580+ | SynOpenDeclTarget.Type( typeName, range) ->
581+ visitSynType typeName
582+ | SynOpenDeclTarget.ModuleOrNamespace( synLongIdent, range)
583+ visitSynLongIdent synLongIdent
571584
572585and visitSynComponentInfo ( info : SynComponentInfo ) : Stuff =
573- failwith unsupported
586+ match info with
587+ | SynComponentInfo( synAttributeLists, synTyparDeclsOption, synTypeConstraints, longId, preXmlDoc, preferPostfix, synAccessOption, range) ->
588+ seq {
589+ yield ! visitSynAttributeLists synAttributeLists
590+ match synTyparDeclsOption with | Some decls -> yield ! visitSynTyparDecls decls | None -> ()
591+ yield ! visitLongIdent longId
592+ yield ! visitPreXmlDoc preXmlDoc
593+ match synAccessOption with | Some access -> yield ! visitSynAccess access | None -> ()
594+ }
574595
575596and visitLongIdent ( ident : LongIdent ) : Stuff =
576- failwith unsupported
597+ [] // TODO Check - probably wrong. LongIdents *might* be used for the same purpose as SynLongIdent
577598
578599and visitSynLongIdent ( ident : SynLongIdent ) : Stuff =
579600 [ ident]
580601
581602and visitSynExpr ( expr : SynExpr ) =
582- failwith unsupported
583603 match expr with
584- | _ -> []
604+ | SynExpr.App( exprAtomicFlag, isInfix, funcExpr, argExpr, range) ->
605+ failwith unsupported
606+ | SynExpr.Assert( synExpr, range) ->
607+ failwith unsupported
608+ | SynExpr.Const( synConst, range) ->
609+ failwith unsupported
610+ | SynExpr.Do( synExpr, range) ->
611+ failwith unsupported
612+ | SynExpr.Downcast( synExpr, targetType, range) ->
613+ failwith unsupported
614+ | SynExpr.Dynamic( funcExpr, qmark, argExpr, range) ->
615+ failwith unsupported
616+ | SynExpr.Fixed( synExpr, range) ->
617+ failwith unsupported
618+ | SynExpr.For( debugPointAtFor, debugPointAtInOrTo, ident, equalsRange, identBody, direction, synExpr, doBody, range) ->
619+ failwith unsupported
620+ | SynExpr.Ident ident ->
621+ failwith unsupported
622+ | SynExpr.Lambda( fromMethod, inLambdaSeq, synSimplePats, synExpr, tupleOption, range, synExprLambdaTrivia) ->
623+ failwith unsupported
624+ | SynExpr.Lazy( synExpr, range) ->
625+ failwith unsupported
626+ | SynExpr.Match( debugPointAtBinding, synExpr, synMatchClauses, range, synExprMatchTrivia) ->
627+ failwith unsupported
628+ | SynExpr.New( isProtected, targetType, synExpr, range) ->
629+ failwith unsupported
630+ | SynExpr.Null range ->
631+ failwith unsupported
632+ | SynExpr.Paren( synExpr, leftParenRange, rightParenRange, range) ->
633+ failwith unsupported
634+ | SynExpr.Quote( synExpr, isRaw, quotedExpr, isFromQueryExpression, range) ->
635+ failwith unsupported
636+ | SynExpr.Record( tupleOption, copyInfo, synExprRecordFields, range) ->
637+ failwith unsupported
638+ | SynExpr.Sequential( debugPointAtSequential, isTrueSeq, synExpr, expr2, range) ->
639+ failwith unsupported
640+ | SynExpr.Set( targetExpr, rhsExpr, range) ->
641+ failwith unsupported
642+ | SynExpr.Tuple( isStruct, synExprs, commaRanges, range) ->
643+ failwith unsupported
644+ | SynExpr.Typar( synTypar, range) ->
645+ failwith unsupported
646+ | SynExpr.Typed( synExpr, targetType, range) ->
647+ failwith unsupported
648+ | SynExpr.Upcast( synExpr, targetType, range) ->
649+ failwith unsupported
650+ | SynExpr.While( debugPointAtWhile, whileExpr, synExpr, range) ->
651+ failwith unsupported
652+ | SynExpr.AddressOf( isByref, synExpr, opRange, range) ->
653+ failwith unsupported
654+ | SynExpr.AnonRecd( isStruct, tupleOption, recordFields, range) ->
655+ failwith unsupported
656+ | SynExpr.ComputationExpr( hasSeqBuilder, synExpr, range) ->
657+ failwith unsupported
658+ | SynExpr.DebugPoint( debugPointAtLeafExpr, isControlFlow, innerExpr) ->
659+ failwith unsupported
660+ | SynExpr.DoBang( synExpr, range) ->
661+ failwith unsupported
662+ | SynExpr.DotGet( synExpr, rangeOfDot, synLongIdent, range) ->
663+ failwith unsupported
664+ | SynExpr.DotSet( targetExpr, synLongIdent, rhsExpr, range) ->
665+ failwith unsupported
666+ | SynExpr.ForEach( debugPointAtFor, debugPointAtInOrTo, seqExprOnly, isFromSource, synPat, enumExpr, bodyExpr, range) ->
667+ failwith unsupported
668+ | SynExpr.ImplicitZero range ->
669+ failwith unsupported
670+ | SynExpr.IndexRange( synExprOption, range, exprOption, range1, range2, range3) ->
671+ failwith unsupported
672+ | SynExpr.InferredDowncast( synExpr, range) ->
673+ failwith unsupported
674+ | SynExpr.InferredUpcast( synExpr, range) ->
675+ failwith unsupported
676+ | SynExpr.InterpolatedString( synInterpolatedStringParts, synStringKind, range) ->
677+ failwith unsupported
678+ | SynExpr.JoinIn( lhsExpr, lhsRange, rhsExpr, range) ->
679+ failwith unsupported
680+ | SynExpr.LongIdent( isOptional, synLongIdent, synSimplePatAlternativeIdInfoRefOption, range) ->
681+ failwith unsupported
682+ | SynExpr.MatchBang( debugPointAtBinding, synExpr, synMatchClauses, range, synExprMatchBangTrivia) ->
683+ failwith unsupported
684+ | SynExpr.MatchLambda( isExnMatch, keywordRange, synMatchClauses, debugPointAtBinding, range) ->
685+ failwith unsupported
686+ | SynExpr.ObjExpr( objType, tupleOption, withKeyword, synBindings, synMemberDefns, synInterfaceImpls, newExprRange, range) ->
687+ failwith unsupported
688+ | SynExpr.TraitCall( supportTys, synMemberSig, argExpr, range) ->
689+ failwith unsupported
690+ | SynExpr.TryFinally( tryExpr, finallyExpr, range, debugPointAtTry, debugPointAtFinally, synExprTryFinallyTrivia) ->
691+ failwith unsupported
692+ | SynExpr.TryWith( tryExpr, synMatchClauses, range, debugPointAtTry, debugPointAtWith, synExprTryWithTrivia) ->
693+ failwith unsupported
694+ | SynExpr.TypeApp( synExpr, lessRange, typeArgs, commaRanges, greaterRange, typeArgsRange, range) ->
695+ failwith unsupported
696+ | SynExpr.TypeTest( synExpr, targetType, range) ->
697+ failwith unsupported
698+ | SynExpr.ArbitraryAfterError( debugStr, range) ->
699+ failwith unsupported
700+ | SynExpr.ArrayOrList( isArray, synExprs, range) ->
701+ failwith unsupported
702+ | SynExpr.DotIndexedGet( objectExpr, indexArgs, dotRange, range) ->
703+ failwith unsupported
704+ | SynExpr.DotIndexedSet( objectExpr, indexArgs, valueExpr, leftOfSetRange, dotRange, range) ->
705+ failwith unsupported
706+ | SynExpr.FromParseError( synExpr, range) ->
707+ failwith unsupported
708+ | SynExpr.IfThenElse( synExpr, thenExpr, synExprOption, debugPointAtBinding, isFromErrorRecovery, range, synExprIfThenElseTrivia) ->
709+ failwith unsupported
710+ | SynExpr.IndexFromEnd( synExpr, range) ->
711+ failwith unsupported
712+ | SynExpr.LetOrUse( isRecursive, isUse, synBindings, synExpr, range, synExprLetOrUseTrivia) ->
713+ failwith unsupported
714+ | SynExpr.LongIdentSet( synLongIdent, synExpr, range) ->
715+ failwith unsupported
716+ | SynExpr.YieldOrReturn( flags, synExpr, range) ->
717+ failwith unsupported
718+ | SynExpr.ArrayOrListComputed( isArray, synExpr, range) ->
719+ failwith unsupported
720+ | SynExpr.LetOrUseBang( debugPointAtBinding, isUse, isFromSource, synPat, synExpr, synExprAndBangs, body, range, synExprLetOrUseBangTrivia) ->
721+ failwith unsupported
722+ | SynExpr.LibraryOnlyStaticOptimization( synStaticOptimizationConstraints, synExpr, optimizedExpr, range) ->
723+ failwith unsupported
724+ | SynExpr.NamedIndexedPropertySet( synLongIdent, synExpr, expr2, range) ->
725+ failwith unsupported
726+ | SynExpr.SequentialOrImplicitYield( debugPointAtSequential, synExpr, expr2, ifNotStmt, range) ->
727+ failwith unsupported
728+ | SynExpr.YieldOrReturnFrom( flags, synExpr, range) ->
729+ failwith unsupported
730+ | SynExpr.DotNamedIndexedPropertySet( targetExpr, synLongIdent, argExpr, rhsExpr, range) ->
731+ failwith unsupported
732+ | SynExpr.LibraryOnlyILAssembly( ilCode, typeArgs, synExprs, synTypes, range) ->
733+ failwith unsupported
734+ | SynExpr.DiscardAfterMissingQualificationAfterDot( synExpr, range) ->
735+ failwith unsupported
736+ | SynExpr.LibraryOnlyUnionCaseFieldGet( synExpr, longId, fieldNum, range) ->
737+ failwith unsupported
738+ | SynExpr.LibraryOnlyUnionCaseFieldSet( synExpr, longId, fieldNum, rhsExpr, range) ->
739+ failwith unsupported
740+
585741
586742and visitSynAttribute ( attribute : SynAttribute ) : Stuff =
587743 seq {
@@ -649,4 +805,7 @@ let d = A4.A1.a
649805open A4
650806let e = A1.a
651807open A1
652- let f = a
808+ let f = a
809+
810+ module X = B
811+ X.b
0 commit comments