hs-bindgen-1.0.0.0: src-internal/HsBindgen/Frontend/Pass/ReparseMacroExpansions/LanC.hs
module HsBindgen.Frontend.Pass.ReparseMacroExpansions.LanC (
LanC
) where
import Data.Void (absurd)
import HsBindgen.Frontend.Pass.PrepareReparse.IsPass
import HsBindgen.Frontend.Pass.TypecheckMacros.IsPass
import HsBindgen.IR.C qualified as C
import HsBindgen.IR.Pass
{-------------------------------------------------------------------------------
Definition
-------------------------------------------------------------------------------}
type LanC :: Pass
data LanC a
instance IsPass LanC
instance PassId LanC
instance PassTypes LanC
instance PassScopedName LanC
instance PassMacro LanC where
type MacroId LanC = Id LanC
type MacroBody LanC = TypecheckedMacro LanC
type MacroUnderlying LanC = ()
macroIdId _ = id
instance PassExtBinding LanC
instance PassCommentDecl LanC where
type CommentDecl LanC = Maybe (C.Comment LanC)
instance PassAnn LanC where
type Ann ix LanC = NoAnn
instance PassMsg LanC
{-------------------------------------------------------------------------------
CoercePass: PrepareReparse → LanC
-------------------------------------------------------------------------------}
instance CoercePassId PrepareReparse LanC
instance CoercePassTypes PrepareReparse LanC
instance CoercePassMacroId PrepareReparse LanC
instance CoercePassAnn "TypeFunArg" PrepareReparse LanC
instance CoercePassCommentDecl PrepareReparse LanC where
coercePassCommentDecl _ = fmap coercePass
instance CoercePassMacroBody PrepareReparse LanC where
coercePassMacroBody _ = coercePassParam
instance CoercePassMacroUnderlying PrepareReparse LanC where
coercePassMacroUnderlying _ = absurd