@@ -11,12 +11,20 @@ module Kore.Log.Registry
11
11
, typeToText
12
12
, textToType
13
13
, getEntryTypesAsText
14
+ , getErrEntryTypesAsText
15
+ , getNoErrEntryTypesAsText
14
16
, typeOfSomeEntry
17
+ , entryTypeRepsErr
18
+ , entryTypeRepsNoErr
15
19
, entryTypeReps
16
20
) where
17
21
18
22
import Prelude.Kore
19
23
24
+ import Control.Lens
25
+ ( (%~)
26
+ )
27
+ import qualified Control.Lens as Lens
20
28
import Data.Functor.Classes
21
29
( eq2
22
30
)
@@ -139,7 +147,8 @@ data Registry =
139
147
-- When adding a new entry type you should register it here.
140
148
registry :: Registry
141
149
registry =
142
- let textToType = (Map. fromList . map register) entryTypeReps
150
+ let textToType =
151
+ (Map. fromList . map register) entryTypeReps
143
152
typeToText = makeInverse textToType
144
153
in if textToType `eq2` makeInverse typeToText
145
154
then Registry { textToType, typeToText }
@@ -154,41 +163,49 @@ registry =
154
163
(asText type', type')
155
164
156
165
entryTypeReps :: [SomeTypeRep ]
157
- entryHelpDocs :: [Pretty. Doc () ]
158
- (entryTypeReps, entryHelpDocs) =
159
- unzip
160
- [ mk $ Proxy @ DebugSolverSend
161
- , mk $ Proxy @ DebugSolverRecv
162
- , mk $ Proxy @ DebugClaimState
163
- , mk $ Proxy @ DebugAppliedRewriteRules
164
- , mk $ Proxy @ DebugSubstitutionSimplifier
165
- , mk $ Proxy @ ErrorBottomTotalFunction
166
- , mk $ Proxy @ ErrorDecidePredicateUnknown
167
- , mk $ Proxy @ ErrorParse
168
- , mk $ Proxy @ ErrorVerify
169
- , mk $ Proxy @ ErrorRuleMergeDuplicateIds
170
- , mk $ Proxy @ ErrorRuleMergeDuplicateLabels
171
- , mk $ Proxy @ WarnFunctionWithoutEvaluators
172
- , mk $ Proxy @ WarnSymbolSMTRepresentation
173
- , mk $ Proxy @ WarnStuckClaimState
174
- , mk $ Proxy @ WarnIfLowProductivity
175
- , mk $ Proxy @ WarnTrivialClaim
176
- , mk $ Proxy @ WarnRetrySolverQuery
177
- , mk $ Proxy @ DebugEvaluateCondition
178
- , mk $ Proxy @ ErrorException
179
- , mk $ Proxy @ ErrorRewriteLoop
180
- , mk $ Proxy @ LogMessage
181
- , mk $ Proxy @ InfoAttemptUnification
182
- , mk $ Proxy @ InfoReachability
183
- , mk $ Proxy @ InfoExecBreadth
184
- , mk $ Proxy @ ErrorRewritesInstantiation
185
- , mk $ Proxy @ DebugAttemptEquation
186
- , mk $ Proxy @ DebugApplyEquation
187
- , mk $ Proxy @ DebugUnification
188
- , mk $ Proxy @ InfoProofDepth
189
- , mk $ Proxy @ InfoExecDepth
190
- , mk $ Proxy @ DebugProven
191
- ]
166
+ entryTypeReps = entryTypeRepsErr <> entryTypeRepsNoErr
167
+
168
+ entryTypeRepsErr , entryTypeRepsNoErr :: [SomeTypeRep ]
169
+ entryHelpDocsErr , entryHelpDocsNoErr :: [Pretty. Doc () ]
170
+ ( (entryTypeRepsNoErr, entryHelpDocsNoErr)
171
+ , (entryTypeRepsErr, entryHelpDocsErr) )
172
+ =
173
+ ( [ mk $ Proxy @ DebugSolverSend
174
+ , mk $ Proxy @ DebugSolverRecv
175
+ , mk $ Proxy @ DebugClaimState
176
+ , mk $ Proxy @ DebugAppliedRewriteRules
177
+ , mk $ Proxy @ DebugSubstitutionSimplifier
178
+ , mk $ Proxy @ WarnFunctionWithoutEvaluators
179
+ , mk $ Proxy @ WarnSymbolSMTRepresentation
180
+ , mk $ Proxy @ WarnStuckClaimState
181
+ , mk $ Proxy @ WarnIfLowProductivity
182
+ , mk $ Proxy @ WarnTrivialClaim
183
+ , mk $ Proxy @ WarnRetrySolverQuery
184
+ , mk $ Proxy @ DebugEvaluateCondition
185
+ , mk $ Proxy @ LogMessage
186
+ , mk $ Proxy @ InfoAttemptUnification
187
+ , mk $ Proxy @ InfoReachability
188
+ , mk $ Proxy @ InfoExecBreadth
189
+ , mk $ Proxy @ DebugAttemptEquation
190
+ , mk $ Proxy @ DebugApplyEquation
191
+ , mk $ Proxy @ DebugUnification
192
+ , mk $ Proxy @ InfoProofDepth
193
+ , mk $ Proxy @ InfoExecDepth
194
+ , mk $ Proxy @ DebugProven
195
+ ]
196
+
197
+ , [ mk $ Proxy @ ErrorBottomTotalFunction
198
+ , mk $ Proxy @ ErrorDecidePredicateUnknown
199
+ , mk $ Proxy @ ErrorParse
200
+ , mk $ Proxy @ ErrorVerify
201
+ , mk $ Proxy @ ErrorRuleMergeDuplicateIds
202
+ , mk $ Proxy @ ErrorRuleMergeDuplicateLabels
203
+ , mk $ Proxy @ ErrorException
204
+ , mk $ Proxy @ ErrorRewriteLoop
205
+ , mk $ Proxy @ ErrorRewritesInstantiation
206
+ ]
207
+ )
208
+ & Lens. each %~ unzip
192
209
where
193
210
mk proxy =
194
211
let tRep = someTypeRep proxy
@@ -233,4 +250,10 @@ typeOfSomeEntry :: SomeEntry -> SomeTypeRep
233
250
typeOfSomeEntry (SomeEntry entry) = SomeTypeRep (typeOf entry)
234
251
235
252
getEntryTypesAsText :: [String ]
236
- getEntryTypesAsText = show <$> entryHelpDocs
253
+ getEntryTypesAsText = getNoErrEntryTypesAsText <> getErrEntryTypesAsText
254
+
255
+ getErrEntryTypesAsText :: [String ]
256
+ getErrEntryTypesAsText = show <$> entryHelpDocsErr
257
+
258
+ getNoErrEntryTypesAsText :: [String ]
259
+ getNoErrEntryTypesAsText = show <$> entryHelpDocsNoErr
0 commit comments