{-# LANGUAGE DeriveDataTypeable #-}

{- |
   Maintainer:  simons@cryp.to
   Stability:   provisional
   Portability: portable
 -}

module Distribution.Hackage.DB.Errors where

import Codec.Archive.Tar
import Control.Exception
import Data.Typeable ( Typeable )
import Distribution.Package
import Distribution.Version

data HackageDBTarball a = HackageDBTarball FilePath a deriving (Int -> HackageDBTarball a -> ShowS
[HackageDBTarball a] -> ShowS
HackageDBTarball a -> String
(Int -> HackageDBTarball a -> ShowS)
-> (HackageDBTarball a -> String)
-> ([HackageDBTarball a] -> ShowS)
-> Show (HackageDBTarball a)
forall a. Show a => Int -> HackageDBTarball a -> ShowS
forall a. Show a => [HackageDBTarball a] -> ShowS
forall a. Show a => HackageDBTarball a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HackageDBTarball a] -> ShowS
$cshowList :: forall a. Show a => [HackageDBTarball a] -> ShowS
show :: HackageDBTarball a -> String
$cshow :: forall a. Show a => HackageDBTarball a -> String
showsPrec :: Int -> HackageDBTarball a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> HackageDBTarball a -> ShowS
Show, Typeable)
instance (Show a, Typeable a) => Exception (HackageDBTarball a)

data HackageDBPackageName a = HackageDBPackageName PackageName a deriving (Int -> HackageDBPackageName a -> ShowS
[HackageDBPackageName a] -> ShowS
HackageDBPackageName a -> String
(Int -> HackageDBPackageName a -> ShowS)
-> (HackageDBPackageName a -> String)
-> ([HackageDBPackageName a] -> ShowS)
-> Show (HackageDBPackageName a)
forall a. Show a => Int -> HackageDBPackageName a -> ShowS
forall a. Show a => [HackageDBPackageName a] -> ShowS
forall a. Show a => HackageDBPackageName a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HackageDBPackageName a] -> ShowS
$cshowList :: forall a. Show a => [HackageDBPackageName a] -> ShowS
show :: HackageDBPackageName a -> String
$cshow :: forall a. Show a => HackageDBPackageName a -> String
showsPrec :: Int -> HackageDBPackageName a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> HackageDBPackageName a -> ShowS
Show, Typeable)
instance (Show a, Typeable a) => Exception (HackageDBPackageName a)

data HackageDBPackageVersion a = HackageDBPackageVersion Version a deriving (Int -> HackageDBPackageVersion a -> ShowS
[HackageDBPackageVersion a] -> ShowS
HackageDBPackageVersion a -> String
(Int -> HackageDBPackageVersion a -> ShowS)
-> (HackageDBPackageVersion a -> String)
-> ([HackageDBPackageVersion a] -> ShowS)
-> Show (HackageDBPackageVersion a)
forall a. Show a => Int -> HackageDBPackageVersion a -> ShowS
forall a. Show a => [HackageDBPackageVersion a] -> ShowS
forall a. Show a => HackageDBPackageVersion a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HackageDBPackageVersion a] -> ShowS
$cshowList :: forall a. Show a => [HackageDBPackageVersion a] -> ShowS
show :: HackageDBPackageVersion a -> String
$cshow :: forall a. Show a => HackageDBPackageVersion a -> String
showsPrec :: Int -> HackageDBPackageVersion a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> HackageDBPackageVersion a -> ShowS
Show, Typeable)
instance (Show a, Typeable a) => Exception (HackageDBPackageVersion a)

newtype IncorrectTarfile = IncorrectTarfile FormatError deriving (Int -> IncorrectTarfile -> ShowS
[IncorrectTarfile] -> ShowS
IncorrectTarfile -> String
(Int -> IncorrectTarfile -> ShowS)
-> (IncorrectTarfile -> String)
-> ([IncorrectTarfile] -> ShowS)
-> Show IncorrectTarfile
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [IncorrectTarfile] -> ShowS
$cshowList :: [IncorrectTarfile] -> ShowS
show :: IncorrectTarfile -> String
$cshow :: IncorrectTarfile -> String
showsPrec :: Int -> IncorrectTarfile -> ShowS
$cshowsPrec :: Int -> IncorrectTarfile -> ShowS
Show, Typeable)
instance Exception IncorrectTarfile

newtype UnsupportedTarEntry = UnsupportedTarEntry Entry deriving (Int -> UnsupportedTarEntry -> ShowS
[UnsupportedTarEntry] -> ShowS
UnsupportedTarEntry -> String
(Int -> UnsupportedTarEntry -> ShowS)
-> (UnsupportedTarEntry -> String)
-> ([UnsupportedTarEntry] -> ShowS)
-> Show UnsupportedTarEntry
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UnsupportedTarEntry] -> ShowS
$cshowList :: [UnsupportedTarEntry] -> ShowS
show :: UnsupportedTarEntry -> String
$cshow :: UnsupportedTarEntry -> String
showsPrec :: Int -> UnsupportedTarEntry -> ShowS
$cshowsPrec :: Int -> UnsupportedTarEntry -> ShowS
Show, Typeable)
instance Exception UnsupportedTarEntry

newtype InvalidMetaFile = InvalidMetaFile String deriving (Int -> InvalidMetaFile -> ShowS
[InvalidMetaFile] -> ShowS
InvalidMetaFile -> String
(Int -> InvalidMetaFile -> ShowS)
-> (InvalidMetaFile -> String)
-> ([InvalidMetaFile] -> ShowS)
-> Show InvalidMetaFile
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InvalidMetaFile] -> ShowS
$cshowList :: [InvalidMetaFile] -> ShowS
show :: InvalidMetaFile -> String
$cshow :: InvalidMetaFile -> String
showsPrec :: Int -> InvalidMetaFile -> ShowS
$cshowsPrec :: Int -> InvalidMetaFile -> ShowS
Show, Typeable)
instance Exception InvalidMetaFile

newtype InvalidCabalFile = InvalidCabalFile String deriving (Int -> InvalidCabalFile -> ShowS
[InvalidCabalFile] -> ShowS
InvalidCabalFile -> String
(Int -> InvalidCabalFile -> ShowS)
-> (InvalidCabalFile -> String)
-> ([InvalidCabalFile] -> ShowS)
-> Show InvalidCabalFile
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InvalidCabalFile] -> ShowS
$cshowList :: [InvalidCabalFile] -> ShowS
show :: InvalidCabalFile -> String
$cshow :: InvalidCabalFile -> String
showsPrec :: Int -> InvalidCabalFile -> ShowS
$cshowsPrec :: Int -> InvalidCabalFile -> ShowS
Show, Typeable)
instance Exception InvalidCabalFile

data InvalidRepresentationOfType = InvalidRepresentationOfType String String deriving (Int -> InvalidRepresentationOfType -> ShowS
[InvalidRepresentationOfType] -> ShowS
InvalidRepresentationOfType -> String
(Int -> InvalidRepresentationOfType -> ShowS)
-> (InvalidRepresentationOfType -> String)
-> ([InvalidRepresentationOfType] -> ShowS)
-> Show InvalidRepresentationOfType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InvalidRepresentationOfType] -> ShowS
$cshowList :: [InvalidRepresentationOfType] -> ShowS
show :: InvalidRepresentationOfType -> String
$cshow :: InvalidRepresentationOfType -> String
showsPrec :: Int -> InvalidRepresentationOfType -> ShowS
$cshowsPrec :: Int -> InvalidRepresentationOfType -> ShowS
Show, Typeable)
instance Exception InvalidRepresentationOfType

data NoHackageTarballFound = NoHackageTarballFound deriving (Int -> NoHackageTarballFound -> ShowS
[NoHackageTarballFound] -> ShowS
NoHackageTarballFound -> String
(Int -> NoHackageTarballFound -> ShowS)
-> (NoHackageTarballFound -> String)
-> ([NoHackageTarballFound] -> ShowS)
-> Show NoHackageTarballFound
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NoHackageTarballFound] -> ShowS
$cshowList :: [NoHackageTarballFound] -> ShowS
show :: NoHackageTarballFound -> String
$cshow :: NoHackageTarballFound -> String
showsPrec :: Int -> NoHackageTarballFound -> ShowS
$cshowsPrec :: Int -> NoHackageTarballFound -> ShowS
Show, Typeable)
instance Exception NoHackageTarballFound