module HIndent.Ast.Type
  ( Type
  , mkType
  ) where

import HIndent.Ast.NodeComments
import qualified HIndent.GhcLibParserWrapper.GHC.Hs as GHC
import {-# SOURCE #-} HIndent.Pretty
import HIndent.Pretty.NodeComments

newtype Type =
  Type (GHC.HsType GHC.GhcPs)

instance CommentExtraction Type where
  nodeComments :: Type -> NodeComments
nodeComments (Type HsType GhcPs
_) = [LEpaComment] -> [LEpaComment] -> [LEpaComment] -> NodeComments
NodeComments [] [] []

instance Pretty Type where
  pretty' :: Type -> Printer ()
pretty' (Type HsType GhcPs
x) = HsType GhcPs -> Printer ()
forall a. Pretty a => a -> Printer ()
pretty HsType GhcPs
x

mkType :: GHC.HsType GHC.GhcPs -> Type
mkType :: HsType GhcPs -> Type
mkType = HsType GhcPs -> Type
Type