Skip to content

Commit be67972

Browse files
committed
Add better oneLineDoc to DecidePredicateUnknown
1 parent 40c912b commit be67972

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

kore/src/Kore/Log/DecidePredicateUnknown.hs

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import Kore.Internal.Predicate qualified as Predicate
3232
import Kore.Internal.TermLike qualified as TermLike
3333
import Kore.Internal.Variable
3434
import Kore.Syntax.Json qualified as PatternJson
35+
import Kore.Unparser (unparseToText)
3536
import Language.Haskell.TH.Syntax (Exp, Loc (..), Q, qLocation)
3637
import Log
3738
import Prelude.Kore
@@ -101,7 +102,20 @@ instance Entry DecidePredicateUnknown where
101102
where
102103
prettyHsLoc Loc{loc_module, loc_start = (row, col)} =
103104
Pretty.pretty loc_module <> ":" <> Pretty.pretty row <> ":" <> Pretty.pretty col
104-
oneLineDoc _ = "DecidePredicateUnknown"
105+
oneLineDoc (DecidePredicateUnknown{message, predicates}) =
106+
Pretty.hsep
107+
[Pretty.brackets "smt", Pretty.pretty description]
108+
where
109+
predicate = Predicate.makeMultipleAndPredicate . toList $ predicates
110+
description =
111+
"solver returned unknwon ("
112+
<> message
113+
<> ") for predicate "
114+
<> unparseToText
115+
( Predicate.fromPredicate
116+
sortBool
117+
predicate
118+
)
105119
helpDoc _ =
106120
"error or a warning when the solver cannot decide the satisfiability of a formula"
107121

@@ -125,6 +139,10 @@ externaliseDecidePredicateUnknown :: DecidePredicateUnknown -> (Text, PatternJso
125139
externaliseDecidePredicateUnknown err@DecidePredicateUnknown{message} =
126140
( message
127141
, PatternJson.fromPredicate
128-
(TermLike.SortActualSort $ TermLike.SortActual (TermLike.Id "SortBool" TermLike.AstLocationNone) [])
142+
sortBool
129143
(Predicate.makeMultipleAndPredicate . toList $ predicates err)
130144
)
145+
146+
sortBool :: TermLike.Sort
147+
sortBool =
148+
(TermLike.SortActualSort $ TermLike.SortActual (TermLike.Id "SortBool" TermLike.AstLocationNone) [])

0 commit comments

Comments
 (0)