{-# OPTIONS_GHC -Wno-orphans #-} module GHC.Debugger.View.Containers where import GHC.Debugger.View.Class import qualified Data.IntMap as IM import qualified Data.Map as M instance DebugView (IM.IntMap a) where debugValue :: IntMap a -> VarValue debugValue IntMap a _ = String -> Bool -> VarValue VarValue String "IntMap" Bool True debugFields :: IntMap a -> VarFields debugFields IntMap a im = [(String, VarFieldValue)] -> VarFields VarFields [ (Key -> String forall a. Show a => a -> String show Key k, a -> VarFieldValue forall a. a -> VarFieldValue VarFieldValue a v) | (Key k, a v) <- IntMap a -> [(Key, a)] forall a. IntMap a -> [(Key, a)] IM.toList IntMap a im ] instance Show k => DebugView (M.Map k a) where debugValue :: Map k a -> VarValue debugValue Map k a _ = String -> Bool -> VarValue VarValue String "Map" Bool True debugFields :: Map k a -> VarFields debugFields Map k a m = [(String, VarFieldValue)] -> VarFields VarFields [ (k -> String forall a. Show a => a -> String show k k, a -> VarFieldValue forall a. a -> VarFieldValue VarFieldValue a v) | (k k, a v) <- Map k a -> [(k, a)] forall k a. Map k a -> [(k, a)] M.toList Map k a m ]