text-show-instances-3.9.4: tests/Instances/Language/Haskell/TH.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# OPTIONS_GHC -Wno-orphans #-}
{-|
Module: Instances.Language.Haskell.TH
Copyright: (C) 2014-2017 Ryan Scott
License: BSD-style (see the file LICENSE)
Maintainer: Ryan Scott
Stability: Provisional
Portability: GHC
Provides 'Arbitrary' instances for data types in the @template-haskell@ library.
-}
module Instances.Language.Haskell.TH () where
import Instances.Utils.GenericArbitrary (genericArbitrary)
import Language.Haskell.TH.Instances ()
import Language.Haskell.TH.PprLib (Doc, text)
import Language.Haskell.TH.Syntax
import Prelude ()
import Prelude.Compat
import Test.QuickCheck (Arbitrary(..), arbitraryBoundedEnum)
instance Arbitrary Name where
arbitrary = genericArbitrary
instance Arbitrary NameFlavour where
arbitrary = genericArbitrary
deriving instance Bounded NameIs
deriving instance Enum NameIs
deriving instance Show NameIs
instance Arbitrary NameIs where
arbitrary = arbitraryBoundedEnum
deriving instance Bounded NameSpace
deriving instance Enum NameSpace
instance Arbitrary NameSpace where
arbitrary = arbitraryBoundedEnum
instance Arbitrary Doc where
arbitrary = text <$> arbitrary
deriving instance Arbitrary ModName
deriving instance Arbitrary OccName
deriving instance Arbitrary PkgName