Skip to content

Commit 2a36116

Browse files
committed
Finished?
1 parent 1d08de5 commit 2a36116

1 file changed

Lines changed: 163 additions & 14 deletions

File tree

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

Lines changed: 163 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -75,32 +75,87 @@ and visitSynTypes (x : SynType list) : Stuff =
7575
and visitTypeConstraints (x : SynTypeConstraint list) : Stuff =
7676
Seq.collect visitTypeConstraint x
7777

78+
and visitSynTyparDecls (x : SynTyparDecls) : Stuff =
79+
match x with
80+
| SynTyparDecls.PostfixList(synTyparDecls, synTypeConstraints, range) ->
81+
failwith unsupported
82+
| SynTyparDecls.PrefixList(synTyparDecls, range) ->
83+
failwith unsupported
84+
| SynTyparDecls.SinglePrefix(synTyparDecl, range) ->
85+
failwith unsupported
86+
87+
and visitSynValTyparDecls (x : SynValTyparDecls) : Stuff =
88+
match x with
89+
| SynValTyparDecls(synTyparDeclsOption, canInfer) ->
90+
match synTyparDeclsOption with
91+
| Some decls -> visitSynTyparDecls decls
92+
| None -> []
93+
94+
and visitValSig (x : SynValSig) : Stuff =
95+
match x with
96+
| SynValSig(synAttributeLists, synIdent, synValTyparDecls, synType, synValInfo, isInline, isMutable, preXmlDoc, synAccessOption, synExprOption, range, synValSigTrivia) ->
97+
seq {
98+
yield! visitSynAttributeLists synAttributeLists
99+
yield! visitSynIdent synIdent
100+
yield! visitSynValTyparDecls synValTyparDecls
101+
}
102+
103+
and visitMemberSig (x : SynMemberSig) : Stuff =
104+
match x with
105+
| SynMemberSig.Inherit(inheritedType, range) ->
106+
visitSynType inheritedType
107+
| SynMemberSig.Interface(interfaceType, range) ->
108+
visitSynType interfaceType
109+
| SynMemberSig.Member(synValSig, synMemberFlags, range) ->
110+
seq {
111+
yield! visitValSig synValSig
112+
}
113+
| SynMemberSig.NestedType(synTypeDefnSig, range) ->
114+
failwith unsupported
115+
| SynMemberSig.ValField(synField, range) ->
116+
failwith unsupported
117+
78118
and visitTypeConstraint (x : SynTypeConstraint) : Stuff =
79119
match x with
80120
| SynTypeConstraint.WhereTyparIsValueType(typar, range) ->
81-
failwith unsupported
121+
visitSynTypar typar
82122
| SynTypeConstraint.WhereTyparIsReferenceType(typar, range) ->
83-
failwith unsupported
123+
visitSynTypar typar
84124
| SynTypeConstraint.WhereTyparIsUnmanaged(typar, range) ->
85-
failwith unsupported
125+
visitSynTypar typar
86126
| SynTypeConstraint.WhereTyparSupportsNull(typar, range) ->
87-
failwith unsupported
127+
visitSynTypar typar
88128
| SynTypeConstraint.WhereTyparIsComparable(typar, range) ->
89-
failwith unsupported
129+
visitSynTypar typar
90130
| SynTypeConstraint.WhereTyparIsEquatable(typar, range) ->
91-
failwith unsupported
131+
visitSynTypar typar
92132
| SynTypeConstraint.WhereTyparDefaultsToType(typar, typeName: SynType, range) ->
93-
failwith unsupported
133+
seq {
134+
yield! visitSynTypar typar
135+
yield! visitSynType typeName
136+
}
94137
| SynTypeConstraint.WhereTyparSubtypeOfType(typar, typeName: SynType, range) ->
95-
failwith unsupported
138+
seq {
139+
yield! visitSynTypar typar
140+
yield! visitSynType typeName
141+
}
96142
| SynTypeConstraint.WhereTyparSupportsMember(typars: SynType, memberSig: SynMemberSig, range) ->
97-
failwith unsupported
143+
seq {
144+
yield! visitSynType typars
145+
yield! visitMemberSig memberSig
146+
}
98147
| SynTypeConstraint.WhereTyparIsEnum(typar, typeArgs: SynType list, range) ->
99-
failwith unsupported
148+
seq {
149+
yield! visitSynTypar typar
150+
yield! visitSynTypes typeArgs
151+
}
100152
| SynTypeConstraint.WhereTyparIsDelegate(typar, typeArgs: SynType list, range) ->
101-
failwith unsupported
153+
seq {
154+
yield! visitSynTypar typar
155+
yield! visitSynTypes typeArgs
156+
}
102157
| SynTypeConstraint.WhereSelfConstrained(selfConstraint, range) ->
103-
failwith unsupported
158+
visitSynType selfConstraint
104159

105160
and visitSynType (x : SynType) : Stuff =
106161
match x with
@@ -172,7 +227,6 @@ and visitSynType (x : SynType) : Stuff =
172227
yield! visitSynType typeName
173228
yield! visitTypeConstraints synTypeConstraints
174229
}
175-
failwith unsupported
176230

177231
and visitPreXmlDoc (doc : FSharp.Compiler.Xml.PreXmlDoc) : Stuff =
178232
[] // TODO Check
@@ -219,13 +273,108 @@ and visitSynExceptionDefnRepr (x : SynExceptionDefnRepr) : Stuff =
219273
// TODO
220274
}
221275

276+
and visitTypeDefnSimpleRepr (x : SynTypeDefnSimpleRepr) : Stuff =
277+
failwith unsupported
278+
279+
and visitSynTypeDefnKind (x : SynTypeDefnKind) : Stuff =
280+
failwith unsupported
281+
222282
and visitSynTypeDefnRepr (x : SynTypeDefnRepr) : Stuff =
223283
match x with
224284
| SynTypeDefnRepr.Exception synExceptionDefnRepr ->
225285
visitSynExceptionDefnRepr synExceptionDefnRepr
286+
| SynTypeDefnRepr.Simple(synTypeDefnSimpleRepr, range) ->
287+
visitTypeDefnSimpleRepr synTypeDefnSimpleRepr
288+
| SynTypeDefnRepr.ObjectModel(synTypeDefnKind, synMemberDefns, range) ->
289+
seq {
290+
yield! visitSynTypeDefnKind synTypeDefnKind
291+
yield! visitSynMemberDefns synMemberDefns
292+
}
293+
294+
and visitSynValSig (x : SynValSig) : Stuff =
295+
failwith unsupported
296+
297+
and visitSynMemberKind (x : SynMemberKind) : Stuff =
298+
failwith unsupported
299+
300+
and visitSynMemberFlags (x : SynMemberFlags) : Stuff =
301+
[]
302+
303+
and visitSynSimplePats (x : SynSimplePats) : Stuff =
304+
match x with
305+
| SynSimplePats.Typed(synSimplePats, targetType, range) ->
306+
seq {
307+
yield! visitSynSimplePats synSimplePats
308+
yield! visitSynType targetType
309+
}
310+
| SynSimplePats.SimplePats(synSimplePats, range) ->
311+
Seq.collect visitSynSimplePat synSimplePats
312+
313+
and visitSynSimplePatAlternativeIdInfoRef (x : SynSimplePatAlternativeIdInfo ref) : Stuff =
314+
[] // TODO Check
315+
316+
and visitSynSimplePat (x : SynSimplePat) : Stuff =
317+
match x with
318+
| SynSimplePat.Attrib(synSimplePat, synAttributeLists, range) ->
319+
seq {
320+
yield! visitSynSimplePat synSimplePat
321+
yield! visitSynAttributeLists synAttributeLists
322+
}
323+
| SynSimplePat.Id(ident, synSimplePatAlternativeIdInfoRefOption, isCompilerGenerated, isThisVal, isOptional, range) ->
324+
seq {
325+
match synSimplePatAlternativeIdInfoRefOption with | Some info -> yield! visitSynSimplePatAlternativeIdInfoRef info | None -> ()
326+
}
327+
| SynSimplePat.Typed(synSimplePat, targetType, range) ->
328+
seq {
329+
yield! visitSynSimplePat synSimplePat
330+
yield! visitSynType targetType
331+
}
226332

227333
and visitSynMemberDefn (defn : SynMemberDefn) : Stuff =
228-
[] // TODO
334+
match defn with
335+
| SynMemberDefn.Inherit(baseType, identOption, range) ->
336+
visitSynType baseType
337+
| SynMemberDefn.Interface(interfaceType, withKeyword, synMemberDefnsOption, range) ->
338+
seq {
339+
yield! visitSynType interfaceType
340+
match synMemberDefnsOption with | Some defns -> yield! visitSynMemberDefns defns | None -> ()
341+
}
342+
| SynMemberDefn.Member(memberDefn, range) ->
343+
visitSynBinding memberDefn
344+
| SynMemberDefn.Open(synOpenDeclTarget, range) ->
345+
visitSynOpenDeclTarget synOpenDeclTarget
346+
| SynMemberDefn.AbstractSlot(synValSig, synMemberFlags, range) ->
347+
seq {
348+
yield! visitSynValSig synValSig
349+
yield! visitSynMemberFlags synMemberFlags
350+
}
351+
| SynMemberDefn.AutoProperty(synAttributeLists, isStatic, ident, synTypeOption, synMemberKind, synMemberFlags, memberFlagsForSet, preXmlDoc, synAccessOption, synExpr, range, synMemberDefnAutoPropertyTrivia) ->
352+
seq {
353+
yield! visitSynAttributeLists synAttributeLists
354+
match synTypeOption with | Some synType -> yield! visitSynType synType | None -> ()
355+
yield! visitSynMemberKind synMemberKind
356+
yield! visitSynMemberFlags synMemberFlags
357+
yield! visitSynMemberFlags memberFlagsForSet
358+
yield! visitPreXmlDoc preXmlDoc
359+
match synAccessOption with | Some synAccess -> yield! visitSynAccess synAccess | None -> ()
360+
yield! visitSynExpr synExpr
361+
}
362+
| SynMemberDefn.ImplicitCtor(synAccessOption, synAttributeLists, synSimplePats, selfIdentifier, preXmlDoc, range) ->
363+
seq {
364+
match synAccessOption with | Some synAccess -> yield! visitSynAccess synAccess | None -> ()
365+
yield! visitSynAttributeLists synAttributeLists
366+
yield! visitSynSimplePats synSimplePats
367+
}
368+
| SynMemberDefn.ImplicitInherit(inheritType, inheritArgs, inheritAlias, range) ->
369+
failwith unsupported
370+
| SynMemberDefn.LetBindings(synBindings, isStatic, isRecursive, range) ->
371+
failwith unsupported
372+
| SynMemberDefn.NestedType(synTypeDefn, synAccessOption, range) ->
373+
failwith unsupported
374+
| SynMemberDefn.ValField(fieldInfo, range) ->
375+
failwith unsupported
376+
| SynMemberDefn.GetSetMember(memberDefnForGet, memberDefnForSet, range, synMemberGetSetTrivia) ->
377+
failwith unsupported
229378

230379
and visitSynMemberDefns (defns : SynMemberDefn list) : Stuff =
231380
Seq.collect visitSynMemberDefn defns

0 commit comments

Comments
 (0)