module Fay.Types.FFI
( FundamentalType (..)
, SerializeContext (..)
) where
import qualified Fay.Exts.NoAnnotation as N
data FundamentalType
= FunctionType [FundamentalType]
| JsType FundamentalType
| ListType FundamentalType
| TupleType [FundamentalType]
| UserDefined N.Name [FundamentalType]
| Defined FundamentalType
| Nullable FundamentalType
| DateType
| StringType
| DoubleType
| IntType
| BoolType
| PtrType
| Automatic
| UnknownType
deriving (Int -> FundamentalType -> ShowS
[FundamentalType] -> ShowS
FundamentalType -> String
(Int -> FundamentalType -> ShowS)
-> (FundamentalType -> String)
-> ([FundamentalType] -> ShowS)
-> Show FundamentalType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FundamentalType] -> ShowS
$cshowList :: [FundamentalType] -> ShowS
show :: FundamentalType -> String
$cshow :: FundamentalType -> String
showsPrec :: Int -> FundamentalType -> ShowS
$cshowsPrec :: Int -> FundamentalType -> ShowS
Show)
data SerializeContext = SerializeAnywhere | SerializeUserArg Int
deriving (SerializeContext -> SerializeContext -> Bool
(SerializeContext -> SerializeContext -> Bool)
-> (SerializeContext -> SerializeContext -> Bool)
-> Eq SerializeContext
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SerializeContext -> SerializeContext -> Bool
$c/= :: SerializeContext -> SerializeContext -> Bool
== :: SerializeContext -> SerializeContext -> Bool
$c== :: SerializeContext -> SerializeContext -> Bool
Eq, ReadPrec [SerializeContext]
ReadPrec SerializeContext
Int -> ReadS SerializeContext
ReadS [SerializeContext]
(Int -> ReadS SerializeContext)
-> ReadS [SerializeContext]
-> ReadPrec SerializeContext
-> ReadPrec [SerializeContext]
-> Read SerializeContext
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SerializeContext]
$creadListPrec :: ReadPrec [SerializeContext]
readPrec :: ReadPrec SerializeContext
$creadPrec :: ReadPrec SerializeContext
readList :: ReadS [SerializeContext]
$creadList :: ReadS [SerializeContext]
readsPrec :: Int -> ReadS SerializeContext
$creadsPrec :: Int -> ReadS SerializeContext
Read, Int -> SerializeContext -> ShowS
[SerializeContext] -> ShowS
SerializeContext -> String
(Int -> SerializeContext -> ShowS)
-> (SerializeContext -> String)
-> ([SerializeContext] -> ShowS)
-> Show SerializeContext
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SerializeContext] -> ShowS
$cshowList :: [SerializeContext] -> ShowS
show :: SerializeContext -> String
$cshow :: SerializeContext -> String
showsPrec :: Int -> SerializeContext -> ShowS
$cshowsPrec :: Int -> SerializeContext -> ShowS
Show)