{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}
module Text.Google.Protobuf.Compiler.CodeGeneratorRequest (CodeGeneratorRequest(..)) where
import Prelude ((+), (/))
import qualified Prelude as Prelude'
import qualified Data.Typeable as Prelude'
import qualified Text.ProtocolBuffers.Header as P'
import qualified Text.DescriptorProtos.FileDescriptorProto as DescriptorProtos (FileDescriptorProto)
 
data CodeGeneratorRequest = CodeGeneratorRequest{CodeGeneratorRequest -> Seq Utf8
file_to_generate :: !(P'.Seq P'.Utf8), CodeGeneratorRequest -> Maybe Utf8
parameter :: !(P'.Maybe P'.Utf8),
                                                 CodeGeneratorRequest -> Seq FileDescriptorProto
proto_file :: !(P'.Seq DescriptorProtos.FileDescriptorProto),
                                                 CodeGeneratorRequest -> UnknownField
unknown'field :: !P'.UnknownField}
                          deriving (Int -> CodeGeneratorRequest -> ShowS
[CodeGeneratorRequest] -> ShowS
CodeGeneratorRequest -> String
(Int -> CodeGeneratorRequest -> ShowS)
-> (CodeGeneratorRequest -> String)
-> ([CodeGeneratorRequest] -> ShowS)
-> Show CodeGeneratorRequest
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CodeGeneratorRequest] -> ShowS
$cshowList :: [CodeGeneratorRequest] -> ShowS
show :: CodeGeneratorRequest -> String
$cshow :: CodeGeneratorRequest -> String
showsPrec :: Int -> CodeGeneratorRequest -> ShowS
$cshowsPrec :: Int -> CodeGeneratorRequest -> ShowS
Prelude'.Show, CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
(CodeGeneratorRequest -> CodeGeneratorRequest -> Bool)
-> (CodeGeneratorRequest -> CodeGeneratorRequest -> Bool)
-> Eq CodeGeneratorRequest
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
$c/= :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
== :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
$c== :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
Prelude'.Eq, Eq CodeGeneratorRequest
Eq CodeGeneratorRequest
-> (CodeGeneratorRequest -> CodeGeneratorRequest -> Ordering)
-> (CodeGeneratorRequest -> CodeGeneratorRequest -> Bool)
-> (CodeGeneratorRequest -> CodeGeneratorRequest -> Bool)
-> (CodeGeneratorRequest -> CodeGeneratorRequest -> Bool)
-> (CodeGeneratorRequest -> CodeGeneratorRequest -> Bool)
-> (CodeGeneratorRequest
    -> CodeGeneratorRequest -> CodeGeneratorRequest)
-> (CodeGeneratorRequest
    -> CodeGeneratorRequest -> CodeGeneratorRequest)
-> Ord CodeGeneratorRequest
CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
CodeGeneratorRequest -> CodeGeneratorRequest -> Ordering
CodeGeneratorRequest
-> CodeGeneratorRequest -> CodeGeneratorRequest
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 :: CodeGeneratorRequest
-> CodeGeneratorRequest -> CodeGeneratorRequest
$cmin :: CodeGeneratorRequest
-> CodeGeneratorRequest -> CodeGeneratorRequest
max :: CodeGeneratorRequest
-> CodeGeneratorRequest -> CodeGeneratorRequest
$cmax :: CodeGeneratorRequest
-> CodeGeneratorRequest -> CodeGeneratorRequest
>= :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
$c>= :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
> :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
$c> :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
<= :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
$c<= :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
< :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
$c< :: CodeGeneratorRequest -> CodeGeneratorRequest -> Bool
compare :: CodeGeneratorRequest -> CodeGeneratorRequest -> Ordering
$ccompare :: CodeGeneratorRequest -> CodeGeneratorRequest -> Ordering
$cp1Ord :: Eq CodeGeneratorRequest
Prelude'.Ord, Prelude'.Typeable)
 
instance P'.UnknownMessage CodeGeneratorRequest where
  getUnknownField :: CodeGeneratorRequest -> UnknownField
getUnknownField = CodeGeneratorRequest -> UnknownField
unknown'field
  putUnknownField :: UnknownField -> CodeGeneratorRequest -> CodeGeneratorRequest
putUnknownField UnknownField
u'f CodeGeneratorRequest
msg = CodeGeneratorRequest
msg{unknown'field :: UnknownField
unknown'field = UnknownField
u'f}
 
instance P'.Mergeable CodeGeneratorRequest where
  mergeAppend :: CodeGeneratorRequest
-> CodeGeneratorRequest -> CodeGeneratorRequest
mergeAppend (CodeGeneratorRequest Seq Utf8
x'1 Maybe Utf8
x'2 Seq FileDescriptorProto
x'3 UnknownField
x'4) (CodeGeneratorRequest Seq Utf8
y'1 Maybe Utf8
y'2 Seq FileDescriptorProto
y'3 UnknownField
y'4)
   = Seq Utf8
-> Maybe Utf8
-> Seq FileDescriptorProto
-> UnknownField
-> CodeGeneratorRequest
CodeGeneratorRequest (Seq Utf8 -> Seq Utf8 -> Seq Utf8
forall a. Mergeable a => a -> a -> a
P'.mergeAppend Seq Utf8
x'1 Seq Utf8
y'1) (Maybe Utf8 -> Maybe Utf8 -> Maybe Utf8
forall a. Mergeable a => a -> a -> a
P'.mergeAppend Maybe Utf8
x'2 Maybe Utf8
y'2) (Seq FileDescriptorProto
-> Seq FileDescriptorProto -> Seq FileDescriptorProto
forall a. Mergeable a => a -> a -> a
P'.mergeAppend Seq FileDescriptorProto
x'3 Seq FileDescriptorProto
y'3) (UnknownField -> UnknownField -> UnknownField
forall a. Mergeable a => a -> a -> a
P'.mergeAppend UnknownField
x'4 UnknownField
y'4)
 
instance P'.Default CodeGeneratorRequest where
  defaultValue :: CodeGeneratorRequest
defaultValue = Seq Utf8
-> Maybe Utf8
-> Seq FileDescriptorProto
-> UnknownField
-> CodeGeneratorRequest
CodeGeneratorRequest Seq Utf8
forall a. Default a => a
P'.defaultValue Maybe Utf8
forall a. Default a => a
P'.defaultValue Seq FileDescriptorProto
forall a. Default a => a
P'.defaultValue UnknownField
forall a. Default a => a
P'.defaultValue
 
instance P'.Wire CodeGeneratorRequest where
  wireSize :: FieldType -> CodeGeneratorRequest -> WireSize
wireSize FieldType
ft' self' :: CodeGeneratorRequest
self'@(CodeGeneratorRequest Seq Utf8
x'1 Maybe Utf8
x'2 Seq FileDescriptorProto
x'3 UnknownField
x'4)
   = case FieldType
ft' of
       FieldType
10 -> WireSize
calc'Size
       FieldType
11 -> WireSize -> WireSize
P'.prependMessageSize WireSize
calc'Size
       FieldType
_ -> FieldType -> CodeGeneratorRequest -> WireSize
forall a. Typeable a => FieldType -> a -> WireSize
P'.wireSizeErr FieldType
ft' CodeGeneratorRequest
self'
    where
        calc'Size :: WireSize
calc'Size = (WireSize -> FieldType -> Seq Utf8 -> WireSize
forall v. Wire v => WireSize -> FieldType -> Seq v -> WireSize
P'.wireSizeRep WireSize
1 FieldType
9 Seq Utf8
x'1 WireSize -> WireSize -> WireSize
forall a. Num a => a -> a -> a
+ WireSize -> FieldType -> Maybe Utf8 -> WireSize
forall v. Wire v => WireSize -> FieldType -> Maybe v -> WireSize
P'.wireSizeOpt WireSize
1 FieldType
9 Maybe Utf8
x'2 WireSize -> WireSize -> WireSize
forall a. Num a => a -> a -> a
+ WireSize -> FieldType -> Seq FileDescriptorProto -> WireSize
forall v. Wire v => WireSize -> FieldType -> Seq v -> WireSize
P'.wireSizeRep WireSize
1 FieldType
11 Seq FileDescriptorProto
x'3 WireSize -> WireSize -> WireSize
forall a. Num a => a -> a -> a
+ UnknownField -> WireSize
P'.wireSizeUnknownField UnknownField
x'4)
  wirePut :: FieldType -> CodeGeneratorRequest -> Put
wirePut FieldType
ft' self' :: CodeGeneratorRequest
self'@(CodeGeneratorRequest Seq Utf8
x'1 Maybe Utf8
x'2 Seq FileDescriptorProto
x'3 UnknownField
x'4)
   = case FieldType
ft' of
       FieldType
10 -> Put
put'Fields
       FieldType
11 -> do
               WireSize -> Put
P'.putSize (FieldType -> CodeGeneratorRequest -> WireSize
forall b. Wire b => FieldType -> b -> WireSize
P'.wireSize FieldType
10 CodeGeneratorRequest
self')
               Put
put'Fields
       FieldType
_ -> FieldType -> CodeGeneratorRequest -> Put
forall a b. Typeable a => FieldType -> a -> PutM b
P'.wirePutErr FieldType
ft' CodeGeneratorRequest
self'
    where
        put'Fields :: Put
put'Fields
         = do
             WireTag -> FieldType -> Seq Utf8 -> Put
forall v. Wire v => WireTag -> FieldType -> Seq v -> Put
P'.wirePutRep WireTag
10 FieldType
9 Seq Utf8
x'1
             WireTag -> FieldType -> Maybe Utf8 -> Put
forall v. Wire v => WireTag -> FieldType -> Maybe v -> Put
P'.wirePutOpt WireTag
18 FieldType
9 Maybe Utf8
x'2
             WireTag -> FieldType -> Seq FileDescriptorProto -> Put
forall v. Wire v => WireTag -> FieldType -> Seq v -> Put
P'.wirePutRep WireTag
122 FieldType
11 Seq FileDescriptorProto
x'3
             UnknownField -> Put
P'.wirePutUnknownField UnknownField
x'4
  wireGet :: FieldType -> Get CodeGeneratorRequest
wireGet FieldType
ft'
   = case FieldType
ft' of
       FieldType
10 -> (WireTag -> CodeGeneratorRequest -> Get CodeGeneratorRequest)
-> Get CodeGeneratorRequest
forall message.
(Default message, ReflectDescriptor message) =>
(WireTag -> message -> Get message) -> Get message
P'.getBareMessageWith ((WireTag -> CodeGeneratorRequest -> Get CodeGeneratorRequest)
-> WireTag -> CodeGeneratorRequest -> Get CodeGeneratorRequest
forall a.
UnknownMessage a =>
(WireTag -> a -> Get a) -> WireTag -> a -> Get a
P'.catch'Unknown WireTag -> CodeGeneratorRequest -> Get CodeGeneratorRequest
update'Self)
       FieldType
11 -> (WireTag -> CodeGeneratorRequest -> Get CodeGeneratorRequest)
-> Get CodeGeneratorRequest
forall message.
(Default message, ReflectDescriptor message) =>
(WireTag -> message -> Get message) -> Get message
P'.getMessageWith ((WireTag -> CodeGeneratorRequest -> Get CodeGeneratorRequest)
-> WireTag -> CodeGeneratorRequest -> Get CodeGeneratorRequest
forall a.
UnknownMessage a =>
(WireTag -> a -> Get a) -> WireTag -> a -> Get a
P'.catch'Unknown WireTag -> CodeGeneratorRequest -> Get CodeGeneratorRequest
update'Self)
       FieldType
_ -> FieldType -> Get CodeGeneratorRequest
forall a. Typeable a => FieldType -> Get a
P'.wireGetErr FieldType
ft'
    where
        update'Self :: WireTag -> CodeGeneratorRequest -> Get CodeGeneratorRequest
update'Self WireTag
wire'Tag CodeGeneratorRequest
old'Self
         = case WireTag
wire'Tag of
             WireTag
10 -> (Utf8 -> CodeGeneratorRequest)
-> Get Utf8 -> Get CodeGeneratorRequest
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude'.fmap (\ !Utf8
new'Field -> CodeGeneratorRequest
old'Self{file_to_generate :: Seq Utf8
file_to_generate = Seq Utf8 -> Utf8 -> Seq Utf8
forall a. Seq a -> a -> Seq a
P'.append (CodeGeneratorRequest -> Seq Utf8
file_to_generate CodeGeneratorRequest
old'Self) Utf8
new'Field})
                    (FieldType -> Get Utf8
forall b. Wire b => FieldType -> Get b
P'.wireGet FieldType
9)
             WireTag
18 -> (Utf8 -> CodeGeneratorRequest)
-> Get Utf8 -> Get CodeGeneratorRequest
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude'.fmap (\ !Utf8
new'Field -> CodeGeneratorRequest
old'Self{parameter :: Maybe Utf8
parameter = Utf8 -> Maybe Utf8
forall a. a -> Maybe a
Prelude'.Just Utf8
new'Field}) (FieldType -> Get Utf8
forall b. Wire b => FieldType -> Get b
P'.wireGet FieldType
9)
             WireTag
122 -> (FileDescriptorProto -> CodeGeneratorRequest)
-> Get FileDescriptorProto -> Get CodeGeneratorRequest
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude'.fmap (\ !FileDescriptorProto
new'Field -> CodeGeneratorRequest
old'Self{proto_file :: Seq FileDescriptorProto
proto_file = Seq FileDescriptorProto
-> FileDescriptorProto -> Seq FileDescriptorProto
forall a. Seq a -> a -> Seq a
P'.append (CodeGeneratorRequest -> Seq FileDescriptorProto
proto_file CodeGeneratorRequest
old'Self) FileDescriptorProto
new'Field}) (FieldType -> Get FileDescriptorProto
forall b. Wire b => FieldType -> Get b
P'.wireGet FieldType
11)
             WireTag
_ -> let (FieldId
field'Number, WireType
wire'Type) = WireTag -> (FieldId, WireType)
P'.splitWireTag WireTag
wire'Tag in FieldId
-> WireType -> CodeGeneratorRequest -> Get CodeGeneratorRequest
forall a.
(Typeable a, ReflectDescriptor a) =>
FieldId -> WireType -> a -> Get a
P'.unknown FieldId
field'Number WireType
wire'Type CodeGeneratorRequest
old'Self
 
instance P'.MessageAPI msg' (msg' -> CodeGeneratorRequest) CodeGeneratorRequest where
  getVal :: msg' -> (msg' -> CodeGeneratorRequest) -> CodeGeneratorRequest
getVal msg'
m' msg' -> CodeGeneratorRequest
f' = msg' -> CodeGeneratorRequest
f' msg'
m'
 
instance P'.GPB CodeGeneratorRequest
 
instance P'.ReflectDescriptor CodeGeneratorRequest where
  getMessageInfo :: CodeGeneratorRequest -> GetMessageInfo
getMessageInfo CodeGeneratorRequest
_ = 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
10, WireTag
18, WireTag
122])
  reflectDescriptorInfo :: CodeGeneratorRequest -> DescriptorInfo
reflectDescriptorInfo CodeGeneratorRequest
_
   = String -> DescriptorInfo
forall a. Read a => String -> a
Prelude'.read
      String
"DescriptorInfo {descName = ProtoName {protobufName = FIName \".google.protobuf.compiler.CodeGeneratorRequest\", haskellPrefix = [MName \"Text\"], parentModule = [MName \"Google\",MName \"Protobuf\",MName \"Compiler\"], baseName = MName \"CodeGeneratorRequest\"}, descFilePath = [\"Text\",\"Google\",\"Protobuf\",\"Compiler\",\"CodeGeneratorRequest.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".google.protobuf.compiler.CodeGeneratorRequest.file_to_generate\", haskellPrefix' = [MName \"Text\"], parentModule' = [MName \"Google\",MName \"Protobuf\",MName \"Compiler\",MName \"CodeGeneratorRequest\"], baseName' = FName \"file_to_generate\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".google.protobuf.compiler.CodeGeneratorRequest.parameter\", haskellPrefix' = [MName \"Text\"], parentModule' = [MName \"Google\",MName \"Protobuf\",MName \"Compiler\",MName \"CodeGeneratorRequest\"], baseName' = FName \"parameter\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".google.protobuf.compiler.CodeGeneratorRequest.proto_file\", haskellPrefix' = [MName \"Text\"], parentModule' = [MName \"Google\",MName \"Protobuf\",MName \"Compiler\",MName \"CodeGeneratorRequest\"], baseName' = FName \"proto_file\"}, fieldNumber = FieldId {getFieldId = 15}, wireTag = WireTag {getWireTag = 122}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".google.protobuf.FileDescriptorProto\", haskellPrefix = [MName \"Text\"], parentModule = [MName \"DescriptorProtos\"], baseName = MName \"FileDescriptorProto\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = True, lazyFields = False}"