{- |
Copyright: (c) 2020 Kowainik
SPDX-License-Identifier: MPL-2.0
Maintainer: Kowainik <xrom.xkov@gmail.com>

Compatibility module for HIE types from GHC API. Reexports all
required API to work with HIE types.
-}

module Stan.Hie.Compat
    ( -- * Main HIE types
      ContextInfo (..)
    , HieArgs (..)
    , HieAST (..)
    , HieASTs (..)
    , HieFile (..)
    , HieType (..)
    , HieTypeFlat
    , IEType (..)
    , Identifier
    , IdentifierDetails (..)
    , NodeInfo (..)
    , TypeIndex

      -- * Binary interface to hie files
    , HieFileResult (hie_file_result)
    , readHieFile

      -- * Name cache to read HIE files
    , NameCache
    , initNameCache
    , mkSplitUniqSupply
    ) where

import HieBin (HieFileResult (hie_file_result), readHieFile)
import HieTypes (ContextInfo (..), HieAST (..), HieASTs (..), HieArgs (..), HieFile (..),
                 HieType (..), HieTypeFlat, IEType (..), Identifier, IdentifierDetails (..),
                 NodeInfo (..), TypeIndex)
import NameCache (NameCache, initNameCache)
import UniqSupply (mkSplitUniqSupply)