keiro-dsl-0.12.0.0: test/conformance-workspace-nominals/Generated/WorkspaceNominalProof/BehaviorSourceMap.hs
-- @generated by keiro-dsl 0.12.0.0 (language keiro-dsl 4) from context workspace-nominal-proof behavior source map; do not edit.
module Generated.WorkspaceNominalProof.BehaviorSourceMap
( BehaviorSourceLocation (..)
, behaviorSourceLocation
, renderBehaviorSourceLocation
) where
import Data.Text (Text)
import Data.Text qualified as T
data BehaviorSourceLocation = BehaviorSourceLocation
{ sourceFile :: !FilePath
, sourceLine :: !Int
, sourceColumn :: !Int
}
deriving stock (Eq, Ord, Show)
behaviorSourceLocation :: Text -> Maybe BehaviorSourceLocation
behaviorSourceLocation key = case key of
"behavior-v1-11da0fd14ad66aa0" -> Just (BehaviorSourceLocation "domain/project-artifact.keiro" 8 16)
"behavior-v1-3de05f6aced1fbd8" -> Just (BehaviorSourceLocation "domain/project.keiro" 8 21)
"behavior-v1-3ef04b25c79aa821" -> Just (BehaviorSourceLocation "domain/project.keiro" 15 3)
"behavior-v1-44c09c629d21fd17" -> Just (BehaviorSourceLocation "domain/project.keiro" 8 21)
"behavior-v1-6134478c9aaa78cb" -> Just (BehaviorSourceLocation "domain/project.keiro" 8 16)
"behavior-v1-c4b406a5be4a0d0b" -> Just (BehaviorSourceLocation "domain/project.keiro" 8 10)
"behavior-v1-c6d79387e567590e" -> Just (BehaviorSourceLocation "domain/project-artifact.keiro" 13 3)
"behavior-v1-ea703ecdfbda1e70" -> Just (BehaviorSourceLocation "domain/project.keiro" 22 3)
_ -> Nothing
renderBehaviorSourceLocation :: Text -> Text
renderBehaviorSourceLocation key = case behaviorSourceLocation key of
Just location -> T.pack (sourceFile location) <> ":" <> tshow (sourceLine location) <> ":" <> tshow (sourceColumn location)
Nothing -> "<internal invariant: missing behavior source for " <> key <> ">"
tshow :: Show value => value -> Text
tshow = T.pack . show