@@ -27,138 +27,141 @@ module Test.Utils.Constructors (
27
27
import Control.Lens ((^.) )
28
28
import Data.Map qualified as Map
29
29
import Data.Text (Text )
30
- import LambdaBuffers.Compiler.ProtoCompat qualified as P
30
+ import LambdaBuffers.Compiler.ProtoCompat qualified as PC
31
31
import LambdaBuffers.Compiler.ProtoCompat.Types (SourceInfo )
32
32
33
- _CompilerInput :: [P . Module ] -> P . CompilerInput
33
+ _CompilerInput :: [PC . Module ] -> PC . CompilerInput
34
34
_CompilerInput ms =
35
- P . CompilerInput
36
- { P . modules = Map. fromList [(m ^. # moduleName, m) | m <- ms]
35
+ PC . CompilerInput
36
+ { PC . modules = Map. fromList [(m ^. # moduleName, m) | m <- ms]
37
37
}
38
38
39
- _Module :: P . ModuleName -> [P . TyDef ] -> [P . ClassDef ] -> [P . InstanceClause ] -> P . Module
39
+ _Module :: PC . ModuleName -> [PC . TyDef ] -> [PC . ClassDef ] -> [PC . InstanceClause ] -> PC . Module
40
40
_Module mn tds cds ins =
41
- P . Module
42
- { P . moduleName = mn
43
- , P . typeDefs = Map. fromList [(td ^. # tyName, td) | td <- tds]
44
- , P . classDefs = Map. fromList [(cd ^. # className, cd) | cd <- cds]
45
- , P . instances = ins
46
- , P . imports = mempty
47
- , P . sourceInfo = P . defSourceInfo
41
+ PC . Module
42
+ { PC . moduleName = mn
43
+ , PC . typeDefs = Map. fromList [(td ^. # tyName, td) | td <- tds]
44
+ , PC . classDefs = Map. fromList [(cd ^. # className, cd) | cd <- cds]
45
+ , PC . instances = ins
46
+ , PC . imports = mempty
47
+ , PC . sourceInfo = PC . defSourceInfo
48
48
}
49
49
50
- _ModuleName :: [Text ] -> P . ModuleName
50
+ _ModuleName :: [Text ] -> PC . ModuleName
51
51
_ModuleName ps =
52
- P . ModuleName
53
- { P . parts = _ModuleNamePart <$> ps
54
- , P . sourceInfo = P . defSourceInfo
52
+ PC . ModuleName
53
+ { PC . parts = _ModuleNamePart <$> ps
54
+ , PC . sourceInfo = PC . defSourceInfo
55
55
}
56
56
57
- _ModuleNamePart :: Text -> P . ModuleNamePart
58
- _ModuleNamePart n = P . ModuleNamePart n P . defSourceInfo
57
+ _ModuleNamePart :: Text -> PC . ModuleNamePart
58
+ _ModuleNamePart n = PC . ModuleNamePart n PC . defSourceInfo
59
59
60
- _TyName :: Text -> P . TyName
61
- _TyName x = P . TyName x P . defSourceInfo
60
+ _TyName :: Text -> PC . TyName
61
+ _TyName x = PC . TyName x PC . defSourceInfo
62
62
63
- _VarName :: Text -> P . VarName
64
- _VarName = flip _VarName' P . defSourceInfo
63
+ _VarName :: Text -> PC . VarName
64
+ _VarName = flip _VarName' PC . defSourceInfo
65
65
66
- _VarName' :: Text -> P . SourceInfo -> P . VarName
67
- _VarName' x s = P . VarName {P . name = x, P . sourceInfo = s}
66
+ _VarName' :: Text -> PC . SourceInfo -> PC . VarName
67
+ _VarName' x s = PC . VarName {PC . name = x, PC . sourceInfo = s}
68
68
69
- _TyVar :: Text -> P . TyVar
70
- _TyVar = P . TyVar . _VarName
69
+ _TyVar :: Text -> PC . TyVar
70
+ _TyVar = PC . TyVar . _VarName
71
71
72
72
-- | TyVar with Source Info - for error precision testing.
73
- _TyVar' :: Text -> P . SourceInfo -> P . TyVar
74
- _TyVar' x s = P . TyVar {P . varName = _VarName' x s}
73
+ _TyVar' :: Text -> PC . SourceInfo -> PC . TyVar
74
+ _TyVar' x s = PC . TyVar {PC . varName = _VarName' x s}
75
75
76
- _TyVarI :: Text -> P . Ty
77
- _TyVarI = P . TyVarI . _TyVar
76
+ _TyVarI :: Text -> PC . Ty
77
+ _TyVarI = PC . TyVarI . _TyVar
78
78
79
79
-- | TyVar with Source Info - for error precision testing.
80
- _TyVarI' :: Text -> SourceInfo -> P . Ty
81
- _TyVarI' x s = P . TyVarI $ P . TyVar {P . varName = _VarName' x s}
80
+ _TyVarI' :: Text -> SourceInfo -> PC . Ty
81
+ _TyVarI' x s = PC . TyVarI $ PC . TyVar {PC . varName = _VarName' x s}
82
82
83
- _SourceInfo :: Int -> Int -> P . SourceInfo
84
- _SourceInfo x y = P . SourceInfo {P . file = " DefaultFile" , P . posFrom = _SourcePosition x, P . posTo = _SourcePosition y}
83
+ _SourceInfo :: Int -> Int -> PC . SourceInfo
84
+ _SourceInfo x y = PC . SourceInfo {PC . file = " DefaultFile" , PC . posFrom = _SourcePosition x, PC . posTo = _SourcePosition y}
85
85
86
- _SourcePosition :: Int -> P . SourcePosition
87
- _SourcePosition x = P . SourcePosition x (x + 1 )
86
+ _SourcePosition :: Int -> PC . SourcePosition
87
+ _SourcePosition x = PC . SourcePosition x (x + 1 )
88
88
89
- _TupleI :: [P . Ty ] -> P . Product
89
+ _TupleI :: [PC . Ty ] -> PC . Product
90
90
_TupleI x =
91
- P . TupleI $
92
- P . Tuple
93
- { P . fields = x
94
- , P . sourceInfo = P . defSourceInfo
91
+ PC . TupleI $
92
+ PC . Tuple
93
+ { PC . fields = x
94
+ , PC . sourceInfo = PC . defSourceInfo
95
95
}
96
96
97
- _Constructor :: Text -> P . Product -> P . Constructor
97
+ _Constructor :: Text -> PC . Product -> PC . Constructor
98
98
_Constructor c f =
99
- P . Constructor
100
- { P . constrName = _ConstrName c
101
- , P .product = f
99
+ PC . Constructor
100
+ { PC . constrName = _ConstrName c
101
+ , PC .product = f
102
102
}
103
103
104
- _ConstrName :: Text -> P . ConstrName
104
+ _ConstrName :: Text -> PC . ConstrName
105
105
_ConstrName x =
106
- P . ConstrName
107
- { P . name = x
108
- , P . sourceInfo = P . defSourceInfo
106
+ PC . ConstrName
107
+ { PC . name = x
108
+ , PC . sourceInfo = PC . defSourceInfo
109
109
}
110
110
111
- _Sum :: [(Text , P . Product )] -> P . TyBody
111
+ _Sum :: [(Text , PC . Product )] -> PC . TyBody
112
112
_Sum cs =
113
- P . SumI $
114
- P . Sum
113
+ PC . SumI $
114
+ PC . Sum
115
115
{ constructors = Map. fromList [(ctor ^. # constrName, ctor) | (cn, cp) <- cs, ctor <- [_Constructor cn cp]]
116
- , sourceInfo = P . defSourceInfo
116
+ , sourceInfo = PC . defSourceInfo
117
117
}
118
118
119
- _TyAbs :: [(Text , P. KindType )] -> [(Text , P. Product )] -> P. TyAbs
119
+ _TyApp :: PC. Ty
120
+ _TyApp = PC. TyAppI
121
+
122
+ _TyAbs :: [(Text , PC. KindType )] -> [(Text , PC. Product )] -> PC. TyAbs
120
123
_TyAbs args body =
121
- P . TyAbs
122
- { P . tyArgs = Map. fromList [(ta ^. # argName, ta) | ta <- _TyArg <$> args]
123
- , P . tyBody = _Sum body
124
- , sourceInfo = P . defSourceInfo
124
+ PC . TyAbs
125
+ { PC . tyArgs = Map. fromList [(ta ^. # argName, ta) | ta <- _TyArg <$> args]
126
+ , PC . tyBody = _Sum body
127
+ , sourceInfo = PC . defSourceInfo
125
128
}
126
129
127
- _TyArg :: (Text , P . KindType ) -> P . TyArg
130
+ _TyArg :: (Text , PC . KindType ) -> PC . TyArg
128
131
_TyArg (a, k) =
129
- P . TyArg
130
- { P . argName = P . VarName a P . defSourceInfo
131
- , P . argKind = P . Kind {P . kind = k}
132
- , P . sourceInfo = P . defSourceInfo
132
+ PC . TyArg
133
+ { PC . argName = PC . VarName a PC . defSourceInfo
134
+ , PC . argKind = PC . Kind {PC . kind = k}
135
+ , PC . sourceInfo = PC . defSourceInfo
133
136
}
134
137
135
- _Type :: P . KindType
136
- _Type = P . KindRef P . KType
138
+ _Type :: PC . KindType
139
+ _Type = PC . KindRef PC . KType
137
140
138
- _TyDef :: P . TyName -> P . TyAbs -> P . TyDef
139
- _TyDef name ab = P . TyDef {P . tyName = name, P . tyAbs = ab, sourceInfo = P . defSourceInfo}
141
+ _TyDef :: PC . TyName -> PC . TyAbs -> PC . TyDef
142
+ _TyDef name ab = PC . TyDef {PC . tyName = name, PC . tyAbs = ab, sourceInfo = PC . defSourceInfo}
140
143
141
- _TyRefILocal :: Text -> P . Ty
142
- _TyRefILocal x = P . TyRefI $ P . LocalI $ _LocalRef x
144
+ _TyRefILocal :: Text -> PC . Ty
145
+ _TyRefILocal x = PC . TyRefI $ PC . LocalI $ _LocalRef x
143
146
144
- _LocalRef :: Text -> P . LocalRef
145
- _LocalRef = flip _LocalRef' P . defSourceInfo
147
+ _LocalRef :: Text -> PC . LocalRef
148
+ _LocalRef = flip _LocalRef' PC . defSourceInfo
146
149
147
150
-- | LocalRef with Source Info - for error precision testing.
148
- _LocalRef' :: Text -> P . SourceInfo -> P . LocalRef
151
+ _LocalRef' :: Text -> PC . SourceInfo -> PC . LocalRef
149
152
_LocalRef' x s =
150
- P . LocalRef
151
- { P . tyName = P . TyName {P . name = x, sourceInfo = s}
152
- , P . sourceInfo = s
153
+ PC . LocalRef
154
+ { PC . tyName = PC . TyName {PC . name = x, sourceInfo = s}
155
+ , PC . sourceInfo = s
153
156
}
154
157
155
- _ForeignRef :: Text -> [Text ] -> P . ForeignRef
156
- _ForeignRef n m = _ForeignRef' n (_ModuleName m) P . defSourceInfo
158
+ _ForeignRef :: Text -> [Text ] -> PC . ForeignRef
159
+ _ForeignRef n m = _ForeignRef' n (_ModuleName m) PC . defSourceInfo
157
160
158
- _ForeignRef' :: Text -> P . ModuleName -> P . SourceInfo -> P . ForeignRef
161
+ _ForeignRef' :: Text -> PC . ModuleName -> PC . SourceInfo -> PC . ForeignRef
159
162
_ForeignRef' x m s =
160
- P . ForeignRef
161
- { P . tyName = P . TyName {P . name = x, sourceInfo = s}
162
- , P . moduleName = m
163
- , P . sourceInfo = s
163
+ PC . ForeignRef
164
+ { PC . tyName = PC . TyName {PC . name = x, sourceInfo = s}
165
+ , PC . moduleName = m
166
+ , PC . sourceInfo = s
164
167
}
0 commit comments