diff options
Diffstat (limited to 'src/Haddock/InterfaceFile.hs')
-rw-r--r-- | src/Haddock/InterfaceFile.hs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs index 3024f212..6bf22c9b 100644 --- a/src/Haddock/InterfaceFile.hs +++ b/src/Haddock/InterfaceFile.hs @@ -437,7 +437,14 @@ instance Binary Picture where title <- get bh return (Picture uri title) - +instance Binary a => Binary (Header a) where + put_ bh (Header l t) = do + put_ bh l + put_ bh t + get bh = do + l <- get bh + t <- get bh + return (Header l t) {-* Generated by DrIFT : Look, but Don't Touch. *-} instance (Binary id) => Binary (Doc id) where @@ -501,6 +508,10 @@ instance (Binary id) => Binary (Doc id) where put_ bh (DocBold x) = do putByte bh 19 put_ bh x + put_ bh (DocHeader aa) = do + putByte bh 20 + put_ bh aa + get bh = do h <- getByte bh case h of @@ -564,7 +575,10 @@ instance (Binary id) => Binary (Doc id) where 19 -> do x <- get bh return (DocBold x) - _ -> fail "invalid binary data found" + 20 -> do + aa <- get bh + return (DocHeader aa) + _ -> error "invalid binary data found in the interface file" instance Binary name => Binary (HaddockModInfo name) where |