{-# LANGUAGE BangPatterns, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings #-}
{-# OPTIONS_GHC  -w #-}
module Text.DescriptorProtos.DescriptorProto.ExtensionRange (ExtensionRange(..)) 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 ExtensionRange = ExtensionRange{ExtensionRange -> Maybe Int32
start :: !(P'.Maybe P'.Int32), ExtensionRange -> Maybe Int32
end :: !(P'.Maybe P'.Int32),
                                     ExtensionRange -> UnknownField
unknown'field :: !(P'.UnknownField)}
                      deriving (Int -> ExtensionRange -> ShowS
[ExtensionRange] -> ShowS
ExtensionRange -> String
(Int -> ExtensionRange -> ShowS)
-> (ExtensionRange -> String)
-> ([ExtensionRange] -> ShowS)
-> Show ExtensionRange
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionRange] -> ShowS
$cshowList :: [ExtensionRange] -> ShowS
show :: ExtensionRange -> String
$cshow :: ExtensionRange -> String
showsPrec :: Int -> ExtensionRange -> ShowS
$cshowsPrec :: Int -> ExtensionRange -> ShowS
Prelude'.Show, ExtensionRange -> ExtensionRange -> Bool
(ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> Bool) -> Eq ExtensionRange
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionRange -> ExtensionRange -> Bool
$c/= :: ExtensionRange -> ExtensionRange -> Bool
== :: ExtensionRange -> ExtensionRange -> Bool
$c== :: ExtensionRange -> ExtensionRange -> Bool
Prelude'.Eq, Eq ExtensionRange
Eq ExtensionRange
-> (ExtensionRange -> ExtensionRange -> Ordering)
-> (ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> ExtensionRange)
-> (ExtensionRange -> ExtensionRange -> ExtensionRange)
-> Ord ExtensionRange
ExtensionRange -> ExtensionRange -> Bool
ExtensionRange -> ExtensionRange -> Ordering
ExtensionRange -> ExtensionRange -> ExtensionRange
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 :: ExtensionRange -> ExtensionRange -> ExtensionRange
$cmin :: ExtensionRange -> ExtensionRange -> ExtensionRange
max :: ExtensionRange -> ExtensionRange -> ExtensionRange
$cmax :: ExtensionRange -> ExtensionRange -> ExtensionRange
>= :: ExtensionRange -> ExtensionRange -> Bool
$c>= :: ExtensionRange -> ExtensionRange -> Bool
> :: ExtensionRange -> ExtensionRange -> Bool
$c> :: ExtensionRange -> ExtensionRange -> Bool
<= :: ExtensionRange -> ExtensionRange -> Bool
$c<= :: ExtensionRange -> ExtensionRange -> Bool
< :: ExtensionRange -> ExtensionRange -> Bool
$c< :: ExtensionRange -> ExtensionRange -> Bool
compare :: ExtensionRange -> ExtensionRange -> Ordering
$ccompare :: ExtensionRange -> ExtensionRange -> Ordering
$cp1Ord :: Eq ExtensionRange
Prelude'.Ord, Prelude'.Typeable, Typeable ExtensionRange
DataType
Constr
Typeable ExtensionRange
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c ExtensionRange)
-> (ExtensionRange -> Constr)
-> (ExtensionRange -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c ExtensionRange))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c ExtensionRange))
-> ((forall b. Data b => b -> b)
    -> ExtensionRange -> ExtensionRange)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> ExtensionRange -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> ExtensionRange -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> ExtensionRange -> m ExtensionRange)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> ExtensionRange -> m ExtensionRange)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> ExtensionRange -> m ExtensionRange)
-> Data ExtensionRange
ExtensionRange -> DataType
ExtensionRange -> Constr
(forall b. Data b => b -> b) -> ExtensionRange -> ExtensionRange
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtensionRange
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) -> ExtensionRange -> u
forall u. (forall d. Data d => d -> u) -> ExtensionRange -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtensionRange
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ExtensionRange)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c ExtensionRange)
$cExtensionRange :: Constr
$tExtensionRange :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
gmapMp :: (forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
gmapM :: (forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
gmapQi :: Int -> (forall d. Data d => d -> u) -> ExtensionRange -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> ExtensionRange -> u
gmapQ :: (forall d. Data d => d -> u) -> ExtensionRange -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ExtensionRange -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
gmapT :: (forall b. Data b => b -> b) -> ExtensionRange -> ExtensionRange
$cgmapT :: (forall b. Data b => b -> b) -> ExtensionRange -> ExtensionRange
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c ExtensionRange)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c ExtensionRange)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c ExtensionRange)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ExtensionRange)
dataTypeOf :: ExtensionRange -> DataType
$cdataTypeOf :: ExtensionRange -> DataType
toConstr :: ExtensionRange -> Constr
$ctoConstr :: ExtensionRange -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtensionRange
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtensionRange
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange
$cp1Data :: Typeable ExtensionRange
Prelude'.Data, (forall x. ExtensionRange -> Rep ExtensionRange x)
-> (forall x. Rep ExtensionRange x -> ExtensionRange)
-> Generic ExtensionRange
forall x. Rep ExtensionRange x -> ExtensionRange
forall x. ExtensionRange -> Rep ExtensionRange x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ExtensionRange x -> ExtensionRange
$cfrom :: forall x. ExtensionRange -> Rep ExtensionRange x
Prelude'.Generic)

instance P'.UnknownMessage ExtensionRange where
  getUnknownField :: ExtensionRange -> UnknownField
getUnknownField = ExtensionRange -> UnknownField
unknown'field
  putUnknownField :: UnknownField -> ExtensionRange -> ExtensionRange
putUnknownField UnknownField
u'f ExtensionRange
msg = ExtensionRange
msg{unknown'field :: UnknownField
unknown'field = UnknownField
u'f}

instance P'.Mergeable ExtensionRange where
  mergeAppend :: ExtensionRange -> ExtensionRange -> ExtensionRange
mergeAppend (ExtensionRange Maybe Int32
x'1 Maybe Int32
x'2 UnknownField
x'3) (ExtensionRange Maybe Int32
y'1 Maybe Int32
y'2 UnknownField
y'3)
   = let !z'1 :: Maybe Int32
z'1 = Maybe Int32 -> Maybe Int32 -> Maybe Int32
forall a. Mergeable a => a -> a -> a
P'.mergeAppend Maybe Int32
x'1 Maybe Int32
y'1
         !z'2 :: Maybe Int32
z'2 = Maybe Int32 -> Maybe Int32 -> Maybe Int32
forall a. Mergeable a => a -> a -> a
P'.mergeAppend Maybe Int32
x'2 Maybe Int32
y'2
         !z'3 :: UnknownField
z'3 = UnknownField -> UnknownField -> UnknownField
forall a. Mergeable a => a -> a -> a
P'.mergeAppend UnknownField
x'3 UnknownField
y'3
      in Maybe Int32 -> Maybe Int32 -> UnknownField -> ExtensionRange
ExtensionRange Maybe Int32
z'1 Maybe Int32
z'2 UnknownField
z'3

instance P'.Default ExtensionRange where
  defaultValue :: ExtensionRange
defaultValue = Maybe Int32 -> Maybe Int32 -> UnknownField -> ExtensionRange
ExtensionRange Maybe Int32
forall a. Default a => a
P'.defaultValue Maybe Int32
forall a. Default a => a
P'.defaultValue UnknownField
forall a. Default a => a
P'.defaultValue

instance P'.Wire ExtensionRange where
  wireSize :: FieldType -> ExtensionRange -> WireSize
wireSize FieldType
ft' self' :: ExtensionRange
self'@(ExtensionRange Maybe Int32
x'1 Maybe Int32
x'2 UnknownField
x'3)
   = case FieldType
ft' of
       FieldType
10 -> WireSize
calc'Size
       FieldType
11 -> WireSize -> WireSize
P'.prependMessageSize WireSize
calc'Size
       FieldType
_ -> FieldType -> ExtensionRange -> WireSize
forall a. Typeable a => FieldType -> a -> WireSize
P'.wireSizeErr FieldType
ft' ExtensionRange
self'
    where
        calc'Size :: WireSize
calc'Size = (WireSize -> FieldType -> Maybe Int32 -> WireSize
forall v. Wire v => WireSize -> FieldType -> Maybe v -> WireSize
P'.wireSizeOpt WireSize
1 FieldType
5 Maybe Int32
x'1 WireSize -> WireSize -> WireSize
forall a. Num a => a -> a -> a
+ WireSize -> FieldType -> Maybe Int32 -> WireSize
forall v. Wire v => WireSize -> FieldType -> Maybe v -> WireSize
P'.wireSizeOpt WireSize
1 FieldType
5 Maybe Int32
x'2 WireSize -> WireSize -> WireSize
forall a. Num a => a -> a -> a
+ UnknownField -> WireSize
P'.wireSizeUnknownField UnknownField
x'3)
  wirePutWithSize :: FieldType -> ExtensionRange -> PutM WireSize
wirePutWithSize FieldType
ft' self' :: ExtensionRange
self'@(ExtensionRange Maybe Int32
x'1 Maybe Int32
x'2 UnknownField
x'3)
   = case FieldType
ft' of
       FieldType
10 -> PutM WireSize
put'Fields
       FieldType
11 -> PutM WireSize
put'FieldsSized
       FieldType
_ -> FieldType -> ExtensionRange -> PutM WireSize
forall a b. Typeable a => FieldType -> a -> PutM b
P'.wirePutErr FieldType
ft' ExtensionRange
self'
    where
        put'Fields :: PutM WireSize
put'Fields
         = [PutM WireSize] -> PutM WireSize
forall (f :: * -> *).
Foldable f =>
f (PutM WireSize) -> PutM WireSize
P'.sequencePutWithSize
            [WireTag -> FieldType -> Maybe Int32 -> PutM WireSize
forall v.
Wire v =>
WireTag -> FieldType -> Maybe v -> PutM WireSize
P'.wirePutOptWithSize WireTag
8 FieldType
5 Maybe Int32
x'1, WireTag -> FieldType -> Maybe Int32 -> PutM WireSize
forall v.
Wire v =>
WireTag -> FieldType -> Maybe v -> PutM WireSize
P'.wirePutOptWithSize WireTag
16 FieldType
5 Maybe Int32
x'2, UnknownField -> PutM WireSize
P'.wirePutUnknownFieldWithSize UnknownField
x'3]
        put'FieldsSized :: PutM WireSize
put'FieldsSized
         = let size' :: WireSize
size' = (WireSize, ByteString) -> WireSize
forall a b. (a, b) -> a
Prelude'.fst (PutM WireSize -> (WireSize, ByteString)
forall a. PutM a -> (a, ByteString)
P'.runPutM PutM WireSize
put'Fields)
               put'Size :: PutM WireSize
put'Size
                = do
                    WireSize -> Put
P'.putSize WireSize
size'
                    WireSize -> PutM WireSize
forall (m :: * -> *) a. Monad m => a -> m a
Prelude'.return (WireSize -> WireSize
P'.size'WireSize WireSize
size')
            in [PutM WireSize] -> PutM WireSize
forall (f :: * -> *).
Foldable f =>
f (PutM WireSize) -> PutM WireSize
P'.sequencePutWithSize [PutM WireSize
put'Size, PutM WireSize
put'Fields]
  wireGet :: FieldType -> Get ExtensionRange
wireGet FieldType
ft'
   = case FieldType
ft' of
       FieldType
10 -> (WireTag -> ExtensionRange -> Get ExtensionRange)
-> Get ExtensionRange
forall message.
(Default message, ReflectDescriptor message) =>
(WireTag -> message -> Get message) -> Get message
P'.getBareMessageWith ((WireTag -> ExtensionRange -> Get ExtensionRange)
-> (WireTag -> ExtensionRange -> Get ExtensionRange)
-> WireTag
-> ExtensionRange
-> Get ExtensionRange
forall a.
(WireTag -> a -> Get a)
-> (WireTag -> a -> Get a) -> WireTag -> a -> Get a
P'.catch'Unknown' WireTag -> ExtensionRange -> Get ExtensionRange
forall a. UnknownMessage a => WireTag -> a -> Get a
P'.loadUnknown WireTag -> ExtensionRange -> Get ExtensionRange
update'Self)
       FieldType
11 -> (WireTag -> ExtensionRange -> Get ExtensionRange)
-> Get ExtensionRange
forall message.
(Default message, ReflectDescriptor message) =>
(WireTag -> message -> Get message) -> Get message
P'.getMessageWith ((WireTag -> ExtensionRange -> Get ExtensionRange)
-> (WireTag -> ExtensionRange -> Get ExtensionRange)
-> WireTag
-> ExtensionRange
-> Get ExtensionRange
forall a.
(WireTag -> a -> Get a)
-> (WireTag -> a -> Get a) -> WireTag -> a -> Get a
P'.catch'Unknown' WireTag -> ExtensionRange -> Get ExtensionRange
forall a. UnknownMessage a => WireTag -> a -> Get a
P'.loadUnknown WireTag -> ExtensionRange -> Get ExtensionRange
update'Self)
       FieldType
_ -> FieldType -> Get ExtensionRange
forall a. Typeable a => FieldType -> Get a
P'.wireGetErr FieldType
ft'
    where
        update'Self :: WireTag -> ExtensionRange -> Get ExtensionRange
update'Self WireTag
wire'Tag ExtensionRange
old'Self
         = case WireTag
wire'Tag of
             WireTag
8 -> (Int32 -> ExtensionRange) -> Get Int32 -> Get ExtensionRange
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude'.fmap (\ !Int32
new'Field -> ExtensionRange
old'Self{start :: Maybe Int32
start = Int32 -> Maybe Int32
forall a. a -> Maybe a
Prelude'.Just Int32
new'Field}) (FieldType -> Get Int32
forall b. Wire b => FieldType -> Get b
P'.wireGet FieldType
5)
             WireTag
16 -> (Int32 -> ExtensionRange) -> Get Int32 -> Get ExtensionRange
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude'.fmap (\ !Int32
new'Field -> ExtensionRange
old'Self{end :: Maybe Int32
end = Int32 -> Maybe Int32
forall a. a -> Maybe a
Prelude'.Just Int32
new'Field}) (FieldType -> Get Int32
forall b. Wire b => FieldType -> Get b
P'.wireGet FieldType
5)
             WireTag
_ -> let (FieldId
field'Number, WireType
wire'Type) = WireTag -> (FieldId, WireType)
P'.splitWireTag WireTag
wire'Tag in FieldId -> WireType -> ExtensionRange -> Get ExtensionRange
forall a.
(Typeable a, ReflectDescriptor a) =>
FieldId -> WireType -> a -> Get a
P'.unknown FieldId
field'Number WireType
wire'Type ExtensionRange
old'Self

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

instance P'.GPB ExtensionRange

instance P'.ReflectDescriptor ExtensionRange where
  getMessageInfo :: ExtensionRange -> GetMessageInfo
getMessageInfo ExtensionRange
_ = Set WireTag -> Set WireTag -> GetMessageInfo
P'.GetMessageInfo ([WireTag] -> Set WireTag
forall a. [a] -> Set a
P'.fromDistinctAscList []) ([WireTag] -> Set WireTag
forall a. [a] -> Set a
P'.fromDistinctAscList [WireTag
8, WireTag
16])
  reflectDescriptorInfo :: ExtensionRange -> DescriptorInfo
reflectDescriptorInfo ExtensionRange
_
   = String -> DescriptorInfo
forall a. Read a => String -> a
Prelude'.read
      String
"DescriptorInfo {descName = ProtoName {protobufName = FIName \".google.protobuf.DescriptorProto.ExtensionRange\", haskellPrefix = [MName \"Text\"], parentModule = [MName \"DescriptorProtos\",MName \"DescriptorProto\"], baseName = MName \"ExtensionRange\"}, descFilePath = [\"Text\",\"DescriptorProtos\",\"DescriptorProto\",\"ExtensionRange.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".google.protobuf.DescriptorProto.ExtensionRange.start\", haskellPrefix' = [MName \"Text\"], parentModule' = [MName \"DescriptorProtos\",MName \"DescriptorProto\",MName \"ExtensionRange\"], baseName' = FName \"start\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".google.protobuf.DescriptorProto.ExtensionRange.end\", haskellPrefix' = [MName \"Text\"], parentModule' = [MName \"DescriptorProtos\",MName \"DescriptorProto\",MName \"ExtensionRange\"], baseName' = FName \"end\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = True, lazyFields = False, makeLenses = False, jsonInstances = False}"

instance P'.TextType ExtensionRange where
  tellT :: String -> ExtensionRange -> Output
tellT = String -> ExtensionRange -> Output
forall a. TextMsg a => String -> a -> Output
P'.tellSubMessage
  getT :: String -> Parsec s () ExtensionRange
getT = String -> Parsec s () ExtensionRange
forall s a.
(Stream s Identity Char, TextMsg a) =>
String -> Parsec s () a
P'.getSubMessage

instance P'.TextMsg ExtensionRange where
  textPut :: ExtensionRange -> Output
textPut ExtensionRange
msg
   = do
       String -> Maybe Int32 -> Output
forall a. TextType a => String -> a -> Output
P'.tellT String
"start" (ExtensionRange -> Maybe Int32
start ExtensionRange
msg)
       String -> Maybe Int32 -> Output
forall a. TextType a => String -> a -> Output
P'.tellT String
"end" (ExtensionRange -> Maybe Int32
end ExtensionRange
msg)
  textGet :: Parsec s () ExtensionRange
textGet
   = do
       [ExtensionRange -> ExtensionRange]
mods <- ParsecT s () Identity (ExtensionRange -> ExtensionRange)
-> ParsecT s () Identity ()
-> ParsecT s () Identity [ExtensionRange -> ExtensionRange]
forall s (m :: * -> *) t u a sep.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
P'.sepEndBy ([ParsecT s () Identity (ExtensionRange -> ExtensionRange)]
-> ParsecT s () Identity (ExtensionRange -> ExtensionRange)
forall s (m :: * -> *) t u a.
Stream s m t =>
[ParsecT s u m a] -> ParsecT s u m a
P'.choice [ParsecT s () Identity (ExtensionRange -> ExtensionRange)
parse'start, ParsecT s () Identity (ExtensionRange -> ExtensionRange)
parse'end]) ParsecT s () Identity ()
forall s (m :: * -> *) u. Stream s m Char => ParsecT s u m ()
P'.spaces
       ExtensionRange -> Parsec s () ExtensionRange
forall (m :: * -> *) a. Monad m => a -> m a
Prelude'.return ((ExtensionRange
 -> (ExtensionRange -> ExtensionRange) -> ExtensionRange)
-> ExtensionRange
-> [ExtensionRange -> ExtensionRange]
-> ExtensionRange
forall (t :: * -> *) b a.
Foldable t =>
(b -> a -> b) -> b -> t a -> b
Prelude'.foldl' (\ ExtensionRange
v ExtensionRange -> ExtensionRange
f -> ExtensionRange -> ExtensionRange
f ExtensionRange
v) ExtensionRange
forall a. Default a => a
P'.defaultValue [ExtensionRange -> ExtensionRange]
mods)
    where
        parse'start :: ParsecT s () Identity (ExtensionRange -> ExtensionRange)
parse'start = (Maybe Int32 -> ExtensionRange -> ExtensionRange)
-> ParsecT s () Identity (Maybe Int32)
-> ParsecT s () Identity (ExtensionRange -> ExtensionRange)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude'.fmap (\ Maybe Int32
v ExtensionRange
o -> ExtensionRange
o{start :: Maybe Int32
start = Maybe Int32
v}) (ParsecT s () Identity (Maybe Int32)
-> ParsecT s () Identity (Maybe Int32)
forall s u (m :: * -> *) a. ParsecT s u m a -> ParsecT s u m a
P'.try (String -> ParsecT s () Identity (Maybe Int32)
forall a s.
(TextType a, Stream s Identity Char) =>
String -> Parsec s () a
P'.getT String
"start"))
        parse'end :: ParsecT s () Identity (ExtensionRange -> ExtensionRange)
parse'end = (Maybe Int32 -> ExtensionRange -> ExtensionRange)
-> ParsecT s () Identity (Maybe Int32)
-> ParsecT s () Identity (ExtensionRange -> ExtensionRange)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude'.fmap (\ Maybe Int32
v ExtensionRange
o -> ExtensionRange
o{end :: Maybe Int32
end = Maybe Int32
v}) (ParsecT s () Identity (Maybe Int32)
-> ParsecT s () Identity (Maybe Int32)
forall s u (m :: * -> *) a. ParsecT s u m a -> ParsecT s u m a
P'.try (String -> ParsecT s () Identity (Maybe Int32)
forall a s.
(TextType a, Stream s Identity Char) =>
String -> Parsec s () a
P'.getT String
"end"))