GHC.Utils.Json

ghc-lib-parser-9.10.1.20250103: The GHC API, decoupled from GHC versions

Safe Haskell | Ignore
Language | GHC2021

GHC.Utils.Json

Synopsis

- data JsonDoc where
  - JSNull :: JsonDoc
  - JSBool :: Bool -> JsonDoc
  - JSInt :: Int -> JsonDoc
  - JSString :: String -> JsonDoc
  - JSArray :: [JsonDoc] -> JsonDoc
  - JSObject :: [(String, JsonDoc)] -> JsonDoc
- renderJSON :: JsonDoc -> SDoc
- escapeJsonString :: String -> String
- class ToJson a where
  - json :: a -> JsonDoc

# Documentation

data JsonDoc where #

Simple data type to represent JSON documents.

Constructors

JSNull :: JsonDoc |
JSBool :: Bool -> JsonDoc |
JSInt :: Int -> JsonDoc |
JSString |
Fields :: String -> JsonDoc The `String` is unescaped
JSArray :: [JsonDoc] -> JsonDoc |
JSObject :: [(String, JsonDoc)] -> JsonDoc |

renderJSON :: JsonDoc -> SDoc #

escapeJsonString :: String -> String #

class ToJson a where #

Methods

json :: a -> JsonDoc #

#### Instances

Instances details

ToJson DiagnosticCode # |
Instance details Defined in GHC.Types.Error Methods json :: DiagnosticCode -> JsonDoc #
ToJson MessageClass # |
Instance details Defined in GHC.Types.Error Methods json :: MessageClass -> JsonDoc #
ToJson Severity # |
Instance details Defined in GHC.Types.Error Methods json :: Severity -> JsonDoc #
ToJson RealSrcSpan # |
Instance details Defined in GHC.Types.SrcLoc Methods json :: RealSrcSpan -> JsonDoc #
ToJson SrcSpan # |
Instance details Defined in GHC.Types.SrcLoc Methods json :: SrcSpan -> JsonDoc #
ToJson String # |
Instance details Defined in GHC.Utils.Json Methods json :: String -> JsonDoc #
ToJson Int # |
Instance details Defined in GHC.Utils.Json Methods json :: Int -> JsonDoc #
Diagnostic e => ToJson (Messages e) # |
Instance details Defined in GHC.Types.Error Methods json :: Messages e -> JsonDoc #
Diagnostic e => ToJson (MsgEnvelope e) # |
Instance details Defined in GHC.Types.Error Methods json :: MsgEnvelope e -> JsonDoc #