{-# LANGUAGE BangPatterns, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings #-}
{-# OPTIONS_GHC  -w #-}
module Text.DescriptorProtos.FileOptions.OptimizeMode (OptimizeMode(..)) where
import Prelude ((+), (/), (.))
import qualified Prelude as Prelude'
import qualified Data.List 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'.False

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