{-# LANGUAGE BangPatterns, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses #-}
{-# OPTIONS_GHC  -fno-warn-unused-imports #-}
module Text.DescriptorProtos.FileOptions.OptimizeMode (OptimizeMode(..)) where
import Prelude ((+), (/), (.))
import qualified Prelude as Prelude'
import qualified Data.Typeable as Prelude'
import qualified GHC.Generics as Prelude'
import qualified Data.Data as Prelude'
import qualified Text.ProtocolBuffers.Header as P'

data OptimizeMode = SPEED
                  | CODE_SIZE
                  | LITE_RUNTIME
                    deriving (ReadPrec [OptimizeMode]
ReadPrec OptimizeMode
Int -> ReadS OptimizeMode
ReadS [OptimizeMode]
(Int -> ReadS OptimizeMode)
-> ReadS [OptimizeMode]
-> ReadPrec OptimizeMode
-> ReadPrec [OptimizeMode]
-> Read OptimizeMode
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [OptimizeMode]
$creadListPrec :: ReadPrec [OptimizeMode]
readPrec :: ReadPrec OptimizeMode
$creadPrec :: ReadPrec OptimizeMode
readList :: ReadS [OptimizeMode]
$creadList :: ReadS [OptimizeMode]
readsPrec :: Int -> ReadS OptimizeMode
$creadsPrec :: Int -> ReadS OptimizeMode
Prelude'.Read, Int -> OptimizeMode -> ShowS
[OptimizeMode] -> ShowS
OptimizeMode -> String
(Int -> OptimizeMode -> ShowS)
-> (OptimizeMode -> String)
-> ([OptimizeMode] -> ShowS)
-> Show OptimizeMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OptimizeMode] -> ShowS
$cshowList :: [OptimizeMode] -> ShowS
show :: OptimizeMode -> String
$cshow :: OptimizeMode -> String
showsPrec :: Int -> OptimizeMode -> ShowS
$cshowsPrec :: Int -> OptimizeMode -> ShowS
Prelude'.Show, OptimizeMode -> OptimizeMode -> Bool
(OptimizeMode -> OptimizeMode -> Bool)
-> (OptimizeMode -> OptimizeMode -> Bool) -> Eq OptimizeMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OptimizeMode -> OptimizeMode -> Bool
$c/= :: OptimizeMode -> OptimizeMode -> Bool
== :: OptimizeMode -> OptimizeMode -> Bool
$c== :: OptimizeMode -> OptimizeMode -> Bool
Prelude'.Eq, Eq OptimizeMode
Eq OptimizeMode
-> (OptimizeMode -> OptimizeMode -> Ordering)
-> (OptimizeMode -> OptimizeMode -> Bool)
-> (OptimizeMode -> OptimizeMode -> Bool)
-> (OptimizeMode -> OptimizeMode -> Bool)
-> (OptimizeMode -> OptimizeMode -> Bool)
-> (OptimizeMode -> OptimizeMode -> OptimizeMode)
-> (OptimizeMode -> OptimizeMode -> OptimizeMode)
-> Ord OptimizeMode
OptimizeMode -> OptimizeMode -> Bool
OptimizeMode -> OptimizeMode -> Ordering
OptimizeMode -> OptimizeMode -> OptimizeMode
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: OptimizeMode -> OptimizeMode -> OptimizeMode
$cmin :: OptimizeMode -> OptimizeMode -> OptimizeMode
max :: OptimizeMode -> OptimizeMode -> OptimizeMode
$cmax :: OptimizeMode -> OptimizeMode -> OptimizeMode
>= :: OptimizeMode -> OptimizeMode -> Bool
$c>= :: OptimizeMode -> OptimizeMode -> Bool
> :: OptimizeMode -> OptimizeMode -> Bool
$c> :: OptimizeMode -> OptimizeMode -> Bool
<= :: OptimizeMode -> OptimizeMode -> Bool
$c<= :: OptimizeMode -> OptimizeMode -> Bool
< :: OptimizeMode -> OptimizeMode -> Bool
$c< :: OptimizeMode -> OptimizeMode -> Bool
compare :: OptimizeMode -> OptimizeMode -> Ordering
$ccompare :: OptimizeMode -> OptimizeMode -> Ordering
$cp1Ord :: Eq OptimizeMode
Prelude'.Ord, Prelude'.Typeable, Typeable OptimizeMode
DataType
Constr
Typeable OptimizeMode
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> OptimizeMode -> c OptimizeMode)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c OptimizeMode)
-> (OptimizeMode -> Constr)
-> (OptimizeMode -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c OptimizeMode))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c OptimizeMode))
-> ((forall b. Data b => b -> b) -> OptimizeMode -> OptimizeMode)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> OptimizeMode -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> OptimizeMode -> r)
-> (forall u. (forall d. Data d => d -> u) -> OptimizeMode -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> OptimizeMode -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode)
-> Data OptimizeMode
OptimizeMode -> DataType
OptimizeMode -> Constr
(forall b. Data b => b -> b) -> OptimizeMode -> OptimizeMode
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> OptimizeMode -> c OptimizeMode
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c OptimizeMode
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> OptimizeMode -> u
forall u. (forall d. Data d => d -> u) -> OptimizeMode -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> OptimizeMode -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> OptimizeMode -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c OptimizeMode
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> OptimizeMode -> c OptimizeMode
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c OptimizeMode)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c OptimizeMode)
$cLITE_RUNTIME :: Constr
$cCODE_SIZE :: Constr
$cSPEED :: Constr
$tOptimizeMode :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode
gmapMp :: (forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode
gmapM :: (forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> OptimizeMode -> m OptimizeMode
gmapQi :: Int -> (forall d. Data d => d -> u) -> OptimizeMode -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> OptimizeMode -> u
gmapQ :: (forall d. Data d => d -> u) -> OptimizeMode -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> OptimizeMode -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> OptimizeMode -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> OptimizeMode -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> OptimizeMode -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> OptimizeMode -> r
gmapT :: (forall b. Data b => b -> b) -> OptimizeMode -> OptimizeMode
$cgmapT :: (forall b. Data b => b -> b) -> OptimizeMode -> OptimizeMode
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c OptimizeMode)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c OptimizeMode)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c OptimizeMode)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c OptimizeMode)
dataTypeOf :: OptimizeMode -> DataType
$cdataTypeOf :: OptimizeMode -> DataType
toConstr :: OptimizeMode -> Constr
$ctoConstr :: OptimizeMode -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c OptimizeMode
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c OptimizeMode
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> OptimizeMode -> c OptimizeMode
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> OptimizeMode -> c OptimizeMode
$cp1Data :: Typeable OptimizeMode
Prelude'.Data,
                              (forall x. OptimizeMode -> Rep OptimizeMode x)
-> (forall x. Rep OptimizeMode x -> OptimizeMode)
-> Generic OptimizeMode
forall x. Rep OptimizeMode x -> OptimizeMode
forall x. OptimizeMode -> Rep OptimizeMode x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep OptimizeMode x -> OptimizeMode
$cfrom :: forall x. OptimizeMode -> Rep OptimizeMode x
Prelude'.Generic)

instance P'.Mergeable OptimizeMode

instance Prelude'.Bounded OptimizeMode where
  minBound :: OptimizeMode
minBound = OptimizeMode
SPEED
  maxBound :: OptimizeMode
maxBound = OptimizeMode
LITE_RUNTIME

instance P'.Default OptimizeMode where
  defaultValue :: OptimizeMode
defaultValue = OptimizeMode
SPEED

toMaybe'Enum :: Prelude'.Int -> P'.Maybe OptimizeMode
toMaybe'Enum :: Int -> Maybe OptimizeMode
toMaybe'Enum Int
1 = OptimizeMode -> Maybe OptimizeMode
forall a. a -> Maybe a
Prelude'.Just OptimizeMode
SPEED
toMaybe'Enum Int
2 = OptimizeMode -> Maybe OptimizeMode
forall a. a -> Maybe a
Prelude'.Just OptimizeMode
CODE_SIZE
toMaybe'Enum Int
3 = OptimizeMode -> Maybe OptimizeMode
forall a. a -> Maybe a
Prelude'.Just OptimizeMode
LITE_RUNTIME
toMaybe'Enum Int
_ = Maybe OptimizeMode
forall a. Maybe a
Prelude'.Nothing

instance Prelude'.Enum OptimizeMode where
  fromEnum :: OptimizeMode -> Int
fromEnum OptimizeMode
SPEED = Int
1
  fromEnum OptimizeMode
CODE_SIZE = Int
2
  fromEnum OptimizeMode
LITE_RUNTIME = Int
3
  toEnum :: Int -> OptimizeMode
toEnum
   = OptimizeMode -> Maybe OptimizeMode -> OptimizeMode
forall a. a -> Maybe a -> a
P'.fromMaybe (String -> OptimizeMode
forall a. HasCallStack => String -> a
Prelude'.error String
"hprotoc generated code: toEnum failure for type Text.DescriptorProtos.FileOptions.OptimizeMode")
      (Maybe OptimizeMode -> OptimizeMode)
-> (Int -> Maybe OptimizeMode) -> Int -> OptimizeMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Maybe OptimizeMode
toMaybe'Enum
  succ :: OptimizeMode -> OptimizeMode
succ OptimizeMode
SPEED = OptimizeMode
CODE_SIZE
  succ OptimizeMode
CODE_SIZE = OptimizeMode
LITE_RUNTIME
  succ OptimizeMode
_ = String -> OptimizeMode
forall a. HasCallStack => String -> a
Prelude'.error String
"hprotoc generated code: succ failure for type Text.DescriptorProtos.FileOptions.OptimizeMode"
  pred :: OptimizeMode -> OptimizeMode
pred OptimizeMode
CODE_SIZE = OptimizeMode
SPEED
  pred OptimizeMode
LITE_RUNTIME = OptimizeMode
CODE_SIZE
  pred OptimizeMode
_ = String -> OptimizeMode
forall a. HasCallStack => String -> a
Prelude'.error String
"hprotoc generated code: pred failure for type Text.DescriptorProtos.FileOptions.OptimizeMode"

instance P'.Wire OptimizeMode where
  wireSize :: FieldType -> OptimizeMode -> WireSize
wireSize FieldType
ft' OptimizeMode
enum = FieldType -> Int -> WireSize
forall b. Wire b => FieldType -> b -> WireSize
P'.wireSize FieldType
ft' (OptimizeMode -> Int
forall a. Enum a => a -> Int
Prelude'.fromEnum OptimizeMode
enum)
  wirePut :: FieldType -> OptimizeMode -> Put
wirePut FieldType
ft' OptimizeMode
enum = FieldType -> Int -> Put
forall b. Wire b => FieldType -> b -> Put
P'.wirePut FieldType
ft' (OptimizeMode -> Int
forall a. Enum a => a -> Int
Prelude'.fromEnum OptimizeMode
enum)
  wireGet :: FieldType -> Get OptimizeMode
wireGet FieldType
14 = (Int -> Maybe OptimizeMode) -> Get OptimizeMode
forall e. (Typeable e, Enum e) => (Int -> Maybe e) -> Get e
P'.wireGetEnum Int -> Maybe OptimizeMode
toMaybe'Enum
  wireGet FieldType
ft' = FieldType -> Get OptimizeMode
forall a. Typeable a => FieldType -> Get a
P'.wireGetErr FieldType
ft'
  wireGetPacked :: FieldType -> Get (Seq OptimizeMode)
wireGetPacked FieldType
14 = (Int -> Maybe OptimizeMode) -> Get (Seq OptimizeMode)
forall e. (Typeable e, Enum e) => (Int -> Maybe e) -> Get (Seq e)
P'.wireGetPackedEnum Int -> Maybe OptimizeMode
toMaybe'Enum
  wireGetPacked FieldType
ft' = FieldType -> Get (Seq OptimizeMode)
forall a. Typeable a => FieldType -> Get a
P'.wireGetErr FieldType
ft'

instance P'.GPB OptimizeMode

instance P'.MessageAPI msg' (msg' -> OptimizeMode) OptimizeMode where
  getVal :: msg' -> (msg' -> OptimizeMode) -> OptimizeMode
getVal msg'
m' msg' -> OptimizeMode
f' = msg' -> OptimizeMode
f' msg'
m'

instance P'.ReflectEnum OptimizeMode where
  reflectEnum :: EnumInfoApp OptimizeMode
reflectEnum = [(EnumCode
1, String
"SPEED", OptimizeMode
SPEED), (EnumCode
2, String
"CODE_SIZE", OptimizeMode
CODE_SIZE), (EnumCode
3, String
"LITE_RUNTIME", OptimizeMode
LITE_RUNTIME)]
  reflectEnumInfo :: OptimizeMode -> EnumInfo
reflectEnumInfo OptimizeMode
_
   = ProtoName -> [String] -> [(EnumCode, String)] -> Bool -> EnumInfo
P'.EnumInfo
      (ByteString -> [String] -> [String] -> String -> ProtoName
P'.makePNF (String -> ByteString
P'.pack String
".google.protobuf.FileOptions.OptimizeMode") [String
"Text"] [String
"DescriptorProtos", String
"FileOptions"] String
"OptimizeMode")
      [String
"Text", String
"DescriptorProtos", String
"FileOptions", String
"OptimizeMode.hs"]
      [(EnumCode
1, String
"SPEED"), (EnumCode
2, String
"CODE_SIZE"), (EnumCode
3, String
"LITE_RUNTIME")]
      Bool
Prelude'.True

instance P'.TextType OptimizeMode where
  tellT :: String -> OptimizeMode -> Output
tellT = String -> OptimizeMode -> Output
forall a. Show a => String -> a -> Output
P'.tellShow
  getT :: String -> Parsec s () OptimizeMode
getT = String -> Parsec s () OptimizeMode
forall a s.
(Read a, Stream s Identity Char) =>
String -> Parsec s () a
P'.getRead