{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# OPTIONS_HADDOCK hide #-}
module LLVM.AST.Type.InlineAssembly (
module LLVM.AST.Type.InlineAssembly,
LLVM.Dialect(..),
) where
import LLVM.AST.Type.Downcast
import qualified LLVM.AST.Type as LLVM
import qualified LLVM.AST.InlineAssembly as LLVM
import Data.ByteString
import Data.ByteString.Short
data InlineAssembly where
InlineAssembly :: ByteString
-> ShortByteString
-> Bool
-> Bool
-> LLVM.Dialect
-> InlineAssembly
instance Downcast (LLVM.Type, InlineAssembly) LLVM.InlineAssembly where
downcast :: (Type, InlineAssembly) -> InlineAssembly
downcast (Type
t, InlineAssembly ByteString
asm ShortByteString
cst Bool
s Bool
a Dialect
d) =
Type
-> ByteString
-> ShortByteString
-> Bool
-> Bool
-> Dialect
-> InlineAssembly
LLVM.InlineAssembly Type
t ByteString
asm ShortByteString
cst Bool
s Bool
a Dialect
d