packages feed

glean-0.2.0.0: thrift/annotation/gen-hs2/Hack/Types.hs

-----------------------------------------------------------------
-- Autogenerated by Thrift
--
-- DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
--  @generated
-----------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE BangPatterns #-}
{-# OPTIONS_GHC -fno-warn-unused-imports#-}
{-# OPTIONS_GHC -fno-warn-overlapping-patterns#-}
{-# OPTIONS_GHC -fno-warn-incomplete-patterns#-}
{-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns#-}
{-# OPTIONS_GHC -fno-warn-incomplete-record-updates#-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Hack.Types
       (FieldWrapper(FieldWrapper, fieldWrapper_name),
        Wrapper(Wrapper, wrapper_name, wrapper_underlyingName,
                wrapper_extraNamespace),
        Adapter(Adapter, adapter_name),
        SkipCodegen(SkipCodegen, skipCodegen_reason),
        Name(Name, name_name, name_reason),
        UnionEnumAttributes(UnionEnumAttributes,
                            unionEnumAttributes_attributes),
        StructTrait(StructTrait, structTrait_name),
        Attributes(Attributes, attributes_attributes),
        StructAsTrait(StructAsTrait), ModuleInternal(ModuleInternal),
        GenerateClientMethodsWithHeaders(GenerateClientMethodsWithHeaders),
        MigrationBlockingAllowInheritance(MigrationBlockingAllowInheritance),
        MigrationBlockingLegacyJSONSerialization(MigrationBlockingLegacyJSONSerialization))
       where
import qualified Control.DeepSeq as DeepSeq
import qualified Control.Monad as Monad
import qualified Control.Monad.ST.Trans as ST
import qualified Control.Monad.Trans.Class as Trans
import qualified Data.Aeson as Aeson
import qualified Data.Aeson.Types as Aeson
import qualified Data.Default as Default
import qualified Data.HashMap.Strict as HashMap
import qualified Data.Hashable as Hashable
import qualified Data.List as List
import qualified Data.Ord as Ord
import qualified Data.Text as Text
import qualified Data.Text.Encoding as Text
import qualified Prelude as Prelude
import qualified Scope.Types as Scope
import qualified Thrift.Binary.Parser as Parser
import qualified Thrift.CodegenTypesOnly as Thrift
import Control.Applicative ((<|>), (*>), (<*))
import Data.Aeson ((.:), (.:?), (.=), (.!=))
import Data.Monoid ((<>))
import Prelude ((.), (<$>), (<*>), (>>=), (==), (/=), (<), (++))

newtype FieldWrapper = FieldWrapper{fieldWrapper_name :: Text.Text}
                       deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON FieldWrapper where
  toJSON (FieldWrapper __field__name)
    = Aeson.object ("name" .= __field__name : Prelude.mempty)

instance Thrift.ThriftStruct FieldWrapper where
  buildStruct _proxy (FieldWrapper __field__name)
    = Thrift.genStruct _proxy
        (Thrift.genField _proxy "name" (Thrift.getStringType _proxy) 1 0
           (Thrift.genText _proxy __field__name)
           : [])
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            __field__name <- ST.newSTRef ""
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 1 | _type ==
                                                                       Thrift.getStringType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Thrift.parseText
                                                                                      _proxy)
                                                                        ST.writeSTRef __field__name
                                                                          _val
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do !__val__name <- ST.readSTRef __field__name
                                             Prelude.pure (FieldWrapper __val__name)
              _idMap = HashMap.fromList [("name", 1)]
            _parse 0)

instance DeepSeq.NFData FieldWrapper where
  rnf (FieldWrapper __field__name)
    = DeepSeq.rnf __field__name `Prelude.seq` ()

instance Default.Default FieldWrapper where
  def = FieldWrapper ""

instance Hashable.Hashable FieldWrapper where
  hashWithSalt __salt (FieldWrapper _name)
    = Hashable.hashWithSalt __salt _name

data Wrapper = Wrapper{wrapper_name :: Text.Text,
                       wrapper_underlyingName :: Text.Text,
                       wrapper_extraNamespace :: Text.Text}
               deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON Wrapper where
  toJSON
    (Wrapper __field__name __field__underlyingName
       __field__extraNamespace)
    = Aeson.object
        ("name" .= __field__name :
           "underlyingName" .= __field__underlyingName :
             "extraNamespace" .= __field__extraNamespace : Prelude.mempty)

instance Thrift.ThriftStruct Wrapper where
  buildStruct _proxy
    (Wrapper __field__name __field__underlyingName
       __field__extraNamespace)
    = Thrift.genStruct _proxy
        (Thrift.genField _proxy "name" (Thrift.getStringType _proxy) 1 0
           (Thrift.genText _proxy __field__name)
           :
           Thrift.genField _proxy "underlyingName"
             (Thrift.getStringType _proxy)
             2
             1
             (Thrift.genText _proxy __field__underlyingName)
             :
             Thrift.genField _proxy "extraNamespace"
               (Thrift.getStringType _proxy)
               3
               2
               (Thrift.genText _proxy __field__extraNamespace)
               : [])
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            __field__name <- ST.newSTRef ""
            __field__underlyingName <- ST.newSTRef ""
            __field__extraNamespace <- ST.newSTRef "thrift_adapted_types"
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 1 | _type ==
                                                                       Thrift.getStringType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Thrift.parseText
                                                                                      _proxy)
                                                                        ST.writeSTRef __field__name
                                                                          _val
                                                                 2 | _type ==
                                                                       Thrift.getStringType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Thrift.parseText
                                                                                      _proxy)
                                                                        ST.writeSTRef
                                                                          __field__underlyingName
                                                                          _val
                                                                 3 | _type ==
                                                                       Thrift.getStringType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Thrift.parseText
                                                                                      _proxy)
                                                                        ST.writeSTRef
                                                                          __field__extraNamespace
                                                                          _val
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do !__val__name <- ST.readSTRef __field__name
                                             !__val__underlyingName <- ST.readSTRef
                                                                         __field__underlyingName
                                             !__val__extraNamespace <- ST.readSTRef
                                                                         __field__extraNamespace
                                             Prelude.pure
                                               (Wrapper __val__name __val__underlyingName
                                                  __val__extraNamespace)
              _idMap
                = HashMap.fromList
                    [("name", 1), ("underlyingName", 2), ("extraNamespace", 3)]
            _parse 0)

instance DeepSeq.NFData Wrapper where
  rnf
    (Wrapper __field__name __field__underlyingName
       __field__extraNamespace)
    = DeepSeq.rnf __field__name `Prelude.seq`
        DeepSeq.rnf __field__underlyingName `Prelude.seq`
          DeepSeq.rnf __field__extraNamespace `Prelude.seq` ()

instance Default.Default Wrapper where
  def = Wrapper "" "" "thrift_adapted_types"

instance Hashable.Hashable Wrapper where
  hashWithSalt __salt (Wrapper _name _underlyingName _extraNamespace)
    = Hashable.hashWithSalt
        (Hashable.hashWithSalt (Hashable.hashWithSalt __salt _name)
           _underlyingName)
        _extraNamespace

newtype Adapter = Adapter{adapter_name :: Text.Text}
                  deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON Adapter where
  toJSON (Adapter __field__name)
    = Aeson.object ("name" .= __field__name : Prelude.mempty)

instance Thrift.ThriftStruct Adapter where
  buildStruct _proxy (Adapter __field__name)
    = Thrift.genStruct _proxy
        (Thrift.genField _proxy "name" (Thrift.getStringType _proxy) 1 0
           (Thrift.genText _proxy __field__name)
           : [])
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            __field__name <- ST.newSTRef ""
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 1 | _type ==
                                                                       Thrift.getStringType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Thrift.parseText
                                                                                      _proxy)
                                                                        ST.writeSTRef __field__name
                                                                          _val
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do !__val__name <- ST.readSTRef __field__name
                                             Prelude.pure (Adapter __val__name)
              _idMap = HashMap.fromList [("name", 1)]
            _parse 0)

instance DeepSeq.NFData Adapter where
  rnf (Adapter __field__name)
    = DeepSeq.rnf __field__name `Prelude.seq` ()

instance Default.Default Adapter where
  def = Adapter ""

instance Hashable.Hashable Adapter where
  hashWithSalt __salt (Adapter _name)
    = Hashable.hashWithSalt __salt _name

newtype SkipCodegen = SkipCodegen{skipCodegen_reason :: Text.Text}
                      deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON SkipCodegen where
  toJSON (SkipCodegen __field__reason)
    = Aeson.object ("reason" .= __field__reason : Prelude.mempty)

instance Thrift.ThriftStruct SkipCodegen where
  buildStruct _proxy (SkipCodegen __field__reason)
    = Thrift.genStruct _proxy
        (Thrift.genField _proxy "reason" (Thrift.getStringType _proxy) 1 0
           (Thrift.genText _proxy __field__reason)
           : [])
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            __field__reason <- ST.newSTRef ""
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 1 | _type ==
                                                                       Thrift.getStringType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Thrift.parseText
                                                                                      _proxy)
                                                                        ST.writeSTRef
                                                                          __field__reason
                                                                          _val
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do !__val__reason <- ST.readSTRef
                                                                 __field__reason
                                             Prelude.pure (SkipCodegen __val__reason)
              _idMap = HashMap.fromList [("reason", 1)]
            _parse 0)

instance DeepSeq.NFData SkipCodegen where
  rnf (SkipCodegen __field__reason)
    = DeepSeq.rnf __field__reason `Prelude.seq` ()

instance Default.Default SkipCodegen where
  def = SkipCodegen ""

instance Hashable.Hashable SkipCodegen where
  hashWithSalt __salt (SkipCodegen _reason)
    = Hashable.hashWithSalt __salt _reason

data Name = Name{name_name :: Text.Text, name_reason :: Text.Text}
            deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON Name where
  toJSON (Name __field__name __field__reason)
    = Aeson.object
        ("name" .= __field__name :
           "reason" .= __field__reason : Prelude.mempty)

instance Thrift.ThriftStruct Name where
  buildStruct _proxy (Name __field__name __field__reason)
    = Thrift.genStruct _proxy
        (Thrift.genField _proxy "name" (Thrift.getStringType _proxy) 1 0
           (Thrift.genText _proxy __field__name)
           :
           Thrift.genField _proxy "reason" (Thrift.getStringType _proxy) 2 1
             (Thrift.genText _proxy __field__reason)
             : [])
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            __field__name <- ST.newSTRef ""
            __field__reason <- ST.newSTRef ""
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 1 | _type ==
                                                                       Thrift.getStringType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Thrift.parseText
                                                                                      _proxy)
                                                                        ST.writeSTRef __field__name
                                                                          _val
                                                                 2 | _type ==
                                                                       Thrift.getStringType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Thrift.parseText
                                                                                      _proxy)
                                                                        ST.writeSTRef
                                                                          __field__reason
                                                                          _val
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do !__val__name <- ST.readSTRef __field__name
                                             !__val__reason <- ST.readSTRef __field__reason
                                             Prelude.pure (Name __val__name __val__reason)
              _idMap = HashMap.fromList [("name", 1), ("reason", 2)]
            _parse 0)

instance DeepSeq.NFData Name where
  rnf (Name __field__name __field__reason)
    = DeepSeq.rnf __field__name `Prelude.seq`
        DeepSeq.rnf __field__reason `Prelude.seq` ()

instance Default.Default Name where
  def = Name "" ""

instance Hashable.Hashable Name where
  hashWithSalt __salt (Name _name _reason)
    = Hashable.hashWithSalt (Hashable.hashWithSalt __salt _name)
        _reason

newtype UnionEnumAttributes = UnionEnumAttributes{unionEnumAttributes_attributes
                                                  :: [Text.Text]}
                              deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON UnionEnumAttributes where
  toJSON (UnionEnumAttributes __field__attributes)
    = Aeson.object
        ("attributes" .= __field__attributes : Prelude.mempty)

instance Thrift.ThriftStruct UnionEnumAttributes where
  buildStruct _proxy (UnionEnumAttributes __field__attributes)
    = Thrift.genStruct _proxy
        (Thrift.genField _proxy "attributes" (Thrift.getListType _proxy) 1
           0
           (Thrift.genList _proxy (Thrift.getStringType _proxy)
              (Thrift.genText _proxy)
              __field__attributes)
           : [])
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            __field__attributes <- ST.newSTRef Default.def
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 1 | _type ==
                                                                       Thrift.getListType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Prelude.snd <$>
                                                                                      Thrift.parseList
                                                                                        _proxy
                                                                                        (Thrift.parseText
                                                                                           _proxy))
                                                                        ST.writeSTRef
                                                                          __field__attributes
                                                                          _val
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do !__val__attributes <- ST.readSTRef
                                                                     __field__attributes
                                             Prelude.pure (UnionEnumAttributes __val__attributes)
              _idMap = HashMap.fromList [("attributes", 1)]
            _parse 0)

instance DeepSeq.NFData UnionEnumAttributes where
  rnf (UnionEnumAttributes __field__attributes)
    = DeepSeq.rnf __field__attributes `Prelude.seq` ()

instance Default.Default UnionEnumAttributes where
  def = UnionEnumAttributes Default.def

instance Hashable.Hashable UnionEnumAttributes where
  hashWithSalt __salt (UnionEnumAttributes _attributes)
    = Hashable.hashWithSalt __salt _attributes

newtype StructTrait = StructTrait{structTrait_name :: Text.Text}
                      deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON StructTrait where
  toJSON (StructTrait __field__name)
    = Aeson.object ("name" .= __field__name : Prelude.mempty)

instance Thrift.ThriftStruct StructTrait where
  buildStruct _proxy (StructTrait __field__name)
    = Thrift.genStruct _proxy
        (Thrift.genField _proxy "name" (Thrift.getStringType _proxy) 1 0
           (Thrift.genText _proxy __field__name)
           : [])
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            __field__name <- ST.newSTRef ""
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 1 | _type ==
                                                                       Thrift.getStringType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Thrift.parseText
                                                                                      _proxy)
                                                                        ST.writeSTRef __field__name
                                                                          _val
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do !__val__name <- ST.readSTRef __field__name
                                             Prelude.pure (StructTrait __val__name)
              _idMap = HashMap.fromList [("name", 1)]
            _parse 0)

instance DeepSeq.NFData StructTrait where
  rnf (StructTrait __field__name)
    = DeepSeq.rnf __field__name `Prelude.seq` ()

instance Default.Default StructTrait where
  def = StructTrait ""

instance Hashable.Hashable StructTrait where
  hashWithSalt __salt (StructTrait _name)
    = Hashable.hashWithSalt __salt _name

newtype Attributes = Attributes{attributes_attributes ::
                                [Text.Text]}
                     deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON Attributes where
  toJSON (Attributes __field__attributes)
    = Aeson.object
        ("attributes" .= __field__attributes : Prelude.mempty)

instance Thrift.ThriftStruct Attributes where
  buildStruct _proxy (Attributes __field__attributes)
    = Thrift.genStruct _proxy
        (Thrift.genField _proxy "attributes" (Thrift.getListType _proxy) 1
           0
           (Thrift.genList _proxy (Thrift.getStringType _proxy)
              (Thrift.genText _proxy)
              __field__attributes)
           : [])
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            __field__attributes <- ST.newSTRef Default.def
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 1 | _type ==
                                                                       Thrift.getListType _proxy
                                                                     ->
                                                                     do !_val <- Trans.lift
                                                                                   (Prelude.snd <$>
                                                                                      Thrift.parseList
                                                                                        _proxy
                                                                                        (Thrift.parseText
                                                                                           _proxy))
                                                                        ST.writeSTRef
                                                                          __field__attributes
                                                                          _val
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do !__val__attributes <- ST.readSTRef
                                                                     __field__attributes
                                             Prelude.pure (Attributes __val__attributes)
              _idMap = HashMap.fromList [("attributes", 1)]
            _parse 0)

instance DeepSeq.NFData Attributes where
  rnf (Attributes __field__attributes)
    = DeepSeq.rnf __field__attributes `Prelude.seq` ()

instance Default.Default Attributes where
  def = Attributes Default.def

instance Hashable.Hashable Attributes where
  hashWithSalt __salt (Attributes _attributes)
    = Hashable.hashWithSalt __salt _attributes

data StructAsTrait = StructAsTrait{}
                     deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON StructAsTrait where
  toJSON StructAsTrait = Aeson.object Prelude.mempty

instance Thrift.ThriftStruct StructAsTrait where
  buildStruct _proxy StructAsTrait = Thrift.genStruct _proxy []
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do Prelude.pure (StructAsTrait)
              _idMap = HashMap.fromList []
            _parse 0)

instance DeepSeq.NFData StructAsTrait where
  rnf StructAsTrait = ()

instance Default.Default StructAsTrait where
  def = StructAsTrait

instance Hashable.Hashable StructAsTrait where
  hashWithSalt __salt StructAsTrait = __salt

data ModuleInternal = ModuleInternal{}
                      deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON ModuleInternal where
  toJSON ModuleInternal = Aeson.object Prelude.mempty

instance Thrift.ThriftStruct ModuleInternal where
  buildStruct _proxy ModuleInternal = Thrift.genStruct _proxy []
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do Prelude.pure (ModuleInternal)
              _idMap = HashMap.fromList []
            _parse 0)

instance DeepSeq.NFData ModuleInternal where
  rnf ModuleInternal = ()

instance Default.Default ModuleInternal where
  def = ModuleInternal

instance Hashable.Hashable ModuleInternal where
  hashWithSalt __salt ModuleInternal = __salt

data GenerateClientMethodsWithHeaders = GenerateClientMethodsWithHeaders{}
                                        deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON GenerateClientMethodsWithHeaders where
  toJSON GenerateClientMethodsWithHeaders
    = Aeson.object Prelude.mempty

instance Thrift.ThriftStruct GenerateClientMethodsWithHeaders where
  buildStruct _proxy GenerateClientMethodsWithHeaders
    = Thrift.genStruct _proxy []
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do Prelude.pure
                                               (GenerateClientMethodsWithHeaders)
              _idMap = HashMap.fromList []
            _parse 0)

instance DeepSeq.NFData GenerateClientMethodsWithHeaders where
  rnf GenerateClientMethodsWithHeaders = ()

instance Default.Default GenerateClientMethodsWithHeaders where
  def = GenerateClientMethodsWithHeaders

instance Hashable.Hashable GenerateClientMethodsWithHeaders where
  hashWithSalt __salt GenerateClientMethodsWithHeaders = __salt

data MigrationBlockingAllowInheritance = MigrationBlockingAllowInheritance{}
                                         deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON MigrationBlockingAllowInheritance where
  toJSON MigrationBlockingAllowInheritance
    = Aeson.object Prelude.mempty

instance Thrift.ThriftStruct MigrationBlockingAllowInheritance
         where
  buildStruct _proxy MigrationBlockingAllowInheritance
    = Thrift.genStruct _proxy []
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do Prelude.pure
                                               (MigrationBlockingAllowInheritance)
              _idMap = HashMap.fromList []
            _parse 0)

instance DeepSeq.NFData MigrationBlockingAllowInheritance where
  rnf MigrationBlockingAllowInheritance = ()

instance Default.Default MigrationBlockingAllowInheritance where
  def = MigrationBlockingAllowInheritance

instance Hashable.Hashable MigrationBlockingAllowInheritance where
  hashWithSalt __salt MigrationBlockingAllowInheritance = __salt

data MigrationBlockingLegacyJSONSerialization = MigrationBlockingLegacyJSONSerialization{}
                                                deriving (Prelude.Eq, Prelude.Show, Prelude.Ord)

instance Aeson.ToJSON MigrationBlockingLegacyJSONSerialization
         where
  toJSON MigrationBlockingLegacyJSONSerialization
    = Aeson.object Prelude.mempty

instance Thrift.ThriftStruct
           MigrationBlockingLegacyJSONSerialization
         where
  buildStruct _proxy MigrationBlockingLegacyJSONSerialization
    = Thrift.genStruct _proxy []
  parseStruct _proxy
    = ST.runSTT
        (do Prelude.return ()
            let
              _parse _lastId
                = do _fieldBegin <- Trans.lift
                                      (Thrift.parseFieldBegin _proxy _lastId _idMap)
                     case _fieldBegin of
                       Thrift.FieldBegin _type _id _bool -> do case _id of
                                                                 _ -> Trans.lift
                                                                        (Thrift.parseSkip _proxy
                                                                           _type
                                                                           (Prelude.Just _bool))
                                                               _parse _id
                       Thrift.FieldEnd -> do Prelude.pure
                                               (MigrationBlockingLegacyJSONSerialization)
              _idMap = HashMap.fromList []
            _parse 0)

instance DeepSeq.NFData MigrationBlockingLegacyJSONSerialization
         where
  rnf MigrationBlockingLegacyJSONSerialization = ()

instance Default.Default MigrationBlockingLegacyJSONSerialization
         where
  def = MigrationBlockingLegacyJSONSerialization

instance Hashable.Hashable MigrationBlockingLegacyJSONSerialization
         where
  hashWithSalt __salt MigrationBlockingLegacyJSONSerialization
    = __salt