Skip to content

Commit d8c60b1

Browse files
committed
WIP
1 parent 88562d6 commit d8c60b1

File tree

1 file changed

+166
-7
lines changed

1 file changed

+166
-7
lines changed

tests/FSharp.Compiler.Service.Tests2/TypeTests.fs

Lines changed: 166 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

554562
and 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

566575
and visitSynBindings (bindings : SynBinding list) : Stuff =
567576
Seq.collect visitSynBinding bindings
568577

569578
and 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

572585
and 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

575596
and visitLongIdent (ident : LongIdent) : Stuff =
576-
failwith unsupported
597+
[] // TODO Check - probably wrong. LongIdents *might* be used for the same purpose as SynLongIdent
577598

578599
and visitSynLongIdent (ident : SynLongIdent) : Stuff =
579600
[ident]
580601

581602
and 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

586742
and visitSynAttribute (attribute : SynAttribute) : Stuff =
587743
seq {
@@ -649,4 +805,7 @@ let d = A4.A1.a
649805
open A4
650806
let e = A1.a
651807
open A1
652-
let f = a
808+
let f = a
809+
810+
module X = B
811+
X.b

0 commit comments

Comments
 (0)