Skip to content

Commit 4e5593b

Browse files
committed
WIP
1 parent 7de1d91 commit 4e5593b

File tree

1 file changed

+113
-0
lines changed

1 file changed

+113
-0
lines changed

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

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,119 @@ let rec visitSynModuleDecl (decl : SynModuleDecl) : Stuff =
3636
yield! Seq.collect visitSynModuleDecl synModuleDecls
3737
}
3838

39+
and visitSynIdent (x : SynIdent) : Stuff =
40+
[] // TODO Correct?
41+
42+
and visitSynType (x : SynType) : Stuff =
43+
match x with
44+
| SynType.Anon range ->
45+
[]
46+
| SynType.App(typeName, rangeOption, typeArgs, commaRanges, greaterRange, isPostfix, range) ->
47+
failwith unsupported
48+
| SynType.Array(rank, elementType, range) ->
49+
failwith unsupported
50+
| SynType.Fun(argType, returnType, range, synTypeFunTrivia) ->
51+
failwith unsupported
52+
| SynType.Or(lhsType, rhsType, range, synTypeOrTrivia) ->
53+
failwith unsupported
54+
| SynType.Paren(innerType, range) ->
55+
failwith unsupported
56+
| SynType.Tuple(isStruct, synTupleTypeSegments, range) ->
57+
failwith unsupported
58+
| SynType.Var(synTypar, range) ->
59+
failwith unsupported
60+
| SynType.AnonRecd(isStruct, fields, range) ->
61+
failwith unsupported
62+
| SynType.HashConstraint(innerType, range) ->
63+
failwith unsupported
64+
| SynType.LongIdent synLongIdent ->
65+
failwith unsupported
66+
| SynType.MeasureDivide(synType, divisor, range) ->
67+
failwith unsupported
68+
| SynType.MeasurePower(baseMeasure, synRationalConst, range) ->
69+
failwith unsupported
70+
| SynType.SignatureParameter(synAttributeLists, optional, identOption, usedType, range) ->
71+
failwith unsupported
72+
| SynType.StaticConstant(synConst, range) ->
73+
failwith unsupported
74+
| SynType.LongIdentApp(typeName, synLongIdent, rangeOption, typeArgs, commaRanges, greaterRange, range) ->
75+
failwith unsupported
76+
| SynType.StaticConstantExpr(synExpr, range) ->
77+
failwith unsupported
78+
| SynType.StaticConstantNamed(synType, value, range) ->
79+
failwith unsupported
80+
| SynType.WithGlobalConstraints(typeName, synTypeConstraints, range) ->
81+
failwith unsupported
82+
83+
and visitPreXmlDoc (doc : FSharp.Compiler.Xml.PreXmlDoc) : Stuff =
84+
[] // TODO Check
85+
86+
and visitSynAccess (x : SynAccess) : Stuff =
87+
failwith unsupported
88+
89+
and visitSynField (x : SynField) : Stuff =
90+
match x with
91+
| SynField.SynField(synAttributeLists, isStatic, identOption, fieldType, isMutable, preXmlDoc, synAccessOption, range, synFieldTrivia) ->
92+
seq {
93+
yield! visitSynAttributeLists synAttributeLists
94+
yield! visitSynType fieldType
95+
yield! visitPreXmlDoc preXmlDoc
96+
match synAccessOption with | Some access -> yield! visitSynAccess access | None -> ()
97+
}
98+
99+
and visitSynFields (x : SynField list) : Stuff =
100+
Seq.collect visitSynField x
101+
102+
and visitSynUnionCaseKind (x : SynUnionCaseKind) : Stuff =
103+
match x with
104+
| SynUnionCaseKind.Fields synFields ->
105+
106+
[] // TODO
107+
| SynUnionCaseKind.FullType(fullType, fullTypeInfo) ->
108+
[] // TODO
109+
110+
and visitSynUnionCase (x : SynUnionCase) : Stuff =
111+
match x with
112+
| SynUnionCase.SynUnionCase(synAttributeLists, synIdent, synUnionCaseKind, preXmlDoc, synAccessOption, range, synUnionCaseTrivia) ->
113+
seq {
114+
yield! visitSynAttributeLists synAttributeLists
115+
yield! visitSynIdent synIdent
116+
yield! visitSynUnionCaseKind synUnionCaseKind
117+
}
118+
119+
and visitSynExceptionDefnRepr (x : SynExceptionDefnRepr) : Stuff =
120+
match x with
121+
| SynExceptionDefnRepr.SynExceptionDefnRepr(synAttributeLists, synUnionCase, identsOption, preXmlDoc, synAccessOption, range) ->
122+
seq {
123+
yield! visitSynAttributeLists synAttributeLists
124+
yield! visitSynUnionCase synUnionCase
125+
// TODO
126+
}
127+
128+
and visitSynTypeDefnRepr (x : SynTypeDefnRepr) : Stuff =
129+
match x with
130+
| SynTypeDefnRepr.Exception synExceptionDefnRepr ->
131+
visitSynExceptionDefnRepr synExceptionDefnRepr
132+
133+
and visitSynMemberDefn (defn : SynMemberDefn) : Stuff =
134+
[] // TODO
135+
136+
and visitSynMemberDefns (defns : SynMemberDefn list) : Stuff =
137+
Seq.collect visitSynMemberDefn defns
138+
139+
and visitSynTypeDefn (defn : SynTypeDefn) : Stuff =
140+
match defn with
141+
| SynTypeDefn.SynTypeDefn(synComponentInfo, synTypeDefnRepr, synMemberDefns, synMemberDefnOption, range, synTypeDefnTrivia) ->
142+
seq {
143+
yield! visitSynComponentInfo synComponentInfo
144+
yield! visitSynTypeDefnRepr synTypeDefnRepr
145+
yield! visitSynMemberDefns synMemberDefns
146+
match synMemberDefnOption with Some defn -> yield! visitSynMemberDefn defn | None -> ()
147+
}
148+
149+
and visitSynTypeDefns (defns : SynTypeDefn list) : Stuff =
150+
Seq.collect visitSynTypeDefn defns
151+
39152
and visitSynExceptionDefn (defn : SynExceptionDefn) : Stuff =
40153
[]
41154

0 commit comments

Comments
 (0)