packages feed

asil-1.2: dist/build/InstrSize.hs


-- UUAGC 0.9.36 (src/InstrSize.ag)
module InstrSize(instrSize) where

{-# LINE 9 "src/InstrSize.ag" #-}

import Data.ByteString.Lazy(ByteString,pack)
import ByteCode
import Data.Bits
import Data.Word
import Codec.Binary.UTF8.String
{-# LINE 14 "dist/src/sdist.27680/asil-1.2/dist/build/InstrSize.hs" #-}

{-# LINE 19 "src/InstrSize.ag" #-}

-- | Computes the minimum length of an instruction (in bytes)
instrSize :: Instruction -> Int
instrSize instr = size where
  inh  = Inh_Instruction {}
  sem  = sem_Instruction instr
  syn  = wrap_Instruction sem inh
  size = output_Syn_Instruction syn
{-# LINE 25 "dist/src/sdist.27680/asil-1.2/dist/build/InstrSize.hs" #-}

{-# LINE 34 "src/InstrSize.ag" #-}

infixr 3 ##
(##) :: Int -> Int -> Int
(##) = (+)

u8 :: Word8 -> Int
u8 _ = 1

s24 :: Word32 -> Int
s24 _ = 3

u30 :: Word32 -> Int
u30 0 = 1
u30 n = u30 (n `shiftR` 7)

u30size :: Int -> Int
u30size = u30 . fromIntegral
{-# LINE 45 "dist/src/sdist.27680/asil-1.2/dist/build/InstrSize.hs" #-}
-- AbcFile -----------------------------------------------------
-- cata
sem_AbcFile :: AbcFile  ->
               T_AbcFile 
sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =
    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )
-- semantic domain
type T_AbcFile  = ( )
sem_AbcFile_File :: Word16 ->
                    Word16 ->
                    T_PoolInfo  ->
                    T_MethodInfos  ->
                    T_MetaInfos  ->
                    T_InstanceInfos  ->
                    T_ClassInfos  ->
                    T_ScriptInfos  ->
                    T_BodyInfos  ->
                    T_AbcFile 
sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =
    ( )
-- AbcFlag -----------------------------------------------------
-- cata
sem_AbcFlag :: AbcFlag  ->
               T_AbcFlag 
sem_AbcFlag (AbcFlag_LazyInit )  =
    (sem_AbcFlag_LazyInit )
-- semantic domain
type T_AbcFlag  = ( )
sem_AbcFlag_LazyInit :: T_AbcFlag 
sem_AbcFlag_LazyInit  =
    ( )
-- AbcFlags ----------------------------------------------------
-- cata
sem_AbcFlags :: AbcFlags  ->
                T_AbcFlags 
sem_AbcFlags list  =
    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )
-- semantic domain
type T_AbcFlags  = ( )
sem_AbcFlags_Cons :: T_AbcFlag  ->
                     T_AbcFlags  ->
                     T_AbcFlags 
sem_AbcFlags_Cons hd_ tl_  =
    ( )
sem_AbcFlags_Nil :: T_AbcFlags 
sem_AbcFlags_Nil  =
    ( )
-- BodyInfo ----------------------------------------------------
-- cata
sem_BodyInfo :: BodyInfo  ->
                T_BodyInfo 
sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =
    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )
-- semantic domain
type T_BodyInfo  = ( )
sem_BodyInfo_Info :: Word32 ->
                     Word32 ->
                     Word32 ->
                     Word32 ->
                     Word32 ->
                     T_Instructions  ->
                     T_Exceptions  ->
                     T_Traits  ->
                     T_BodyInfo 
sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =
    ( )
-- BodyInfos ---------------------------------------------------
-- cata
sem_BodyInfos :: BodyInfos  ->
                 T_BodyInfos 
sem_BodyInfos list  =
    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )
-- semantic domain
type T_BodyInfos  = ( )
sem_BodyInfos_Cons :: T_BodyInfo  ->
                      T_BodyInfos  ->
                      T_BodyInfos 
sem_BodyInfos_Cons hd_ tl_  =
    ( )
sem_BodyInfos_Nil :: T_BodyInfos 
sem_BodyInfos_Nil  =
    ( )
-- CaseOffsets -------------------------------------------------
-- cata
sem_CaseOffsets :: CaseOffsets  ->
                   T_CaseOffsets 
sem_CaseOffsets list  =
    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )
-- semantic domain
type T_CaseOffsets  = ( Int,Int)
sem_CaseOffsets_Cons :: Word32 ->
                        T_CaseOffsets  ->
                        T_CaseOffsets 
sem_CaseOffsets_Cons hd_ tl_  =
    (case (tl_ ) of
     { ( _tlIcount,_tlIoutput) | True ->
         (case (({-# LINE 5 "src/PrettyInstr.ag" #-}
                 _tlIcount
                 {-# LINE 144 "src/InstrSize.hs" #-}
                 )) of
          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->
          (case (({-# LINE 5 "src/PrettyInstr.ag" #-}
                  (+1)
                  {-# LINE 149 "src/InstrSize.hs" #-}
                  )) of
           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->
           (case (({-# LINE 5 "src/PrettyInstr.ag" #-}
                   foldr ($) _count_augmented_syn [_count_augmented_f1]
                   {-# LINE 154 "src/InstrSize.hs" #-}
                   )) of
            { _lhsOcount | _lhsOcount `seq` (True) ->
            (case (({-# LINE 187 "src/PrettyInstr.ag" #-}
                    s24 hd_ ## _tlIoutput
                    {-# LINE 159 "src/InstrSize.hs" #-}
                    )) of
             { _lhsOoutput | _lhsOoutput `seq` (True) ->
             ( _lhsOcount,_lhsOoutput) }) }) }) }) })
sem_CaseOffsets_Nil :: T_CaseOffsets 
sem_CaseOffsets_Nil  =
    (case (({-# LINE 4 "src/PrettyInstr.ag" #-}
            0
            {-# LINE 167 "src/InstrSize.hs" #-}
            )) of
     { _lhsOcount | _lhsOcount `seq` (True) ->
     (case (({-# LINE 30 "src/InstrSize.ag" #-}
             0
             {-# LINE 172 "src/InstrSize.hs" #-}
             )) of
      { _lhsOoutput | _lhsOoutput `seq` (True) ->
      ( _lhsOcount,_lhsOoutput) }) })
-- ClassInfo ---------------------------------------------------
-- cata
sem_ClassInfo :: ClassInfo  ->
                 T_ClassInfo 
sem_ClassInfo (ClassInfo_Info _con _traits )  =
    (sem_ClassInfo_Info _con (sem_Traits _traits ) )
-- semantic domain
type T_ClassInfo  = ( )
sem_ClassInfo_Info :: Word32 ->
                      T_Traits  ->
                      T_ClassInfo 
sem_ClassInfo_Info con_ traits_  =
    ( )
-- ClassInfos --------------------------------------------------
-- cata
sem_ClassInfos :: ClassInfos  ->
                  T_ClassInfos 
sem_ClassInfos list  =
    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )
-- semantic domain
type T_ClassInfos  = ( )
sem_ClassInfos_Cons :: T_ClassInfo  ->
                       T_ClassInfos  ->
                       T_ClassInfos 
sem_ClassInfos_Cons hd_ tl_  =
    ( )
sem_ClassInfos_Nil :: T_ClassInfos 
sem_ClassInfos_Nil  =
    ( )
-- DebugType ---------------------------------------------------
-- cata
sem_DebugType :: DebugType  ->
                 T_DebugType 
sem_DebugType (DebugType_Local )  =
    (sem_DebugType_Local )
-- semantic domain
type T_DebugType  = ( Int)
sem_DebugType_Local :: T_DebugType 
sem_DebugType_Local  =
    (case (({-# LINE 184 "src/PrettyInstr.ag" #-}
            u8 0x01
            {-# LINE 217 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
-- Exception ---------------------------------------------------
-- cata
sem_Exception :: Exception  ->
                 T_Exception 
sem_Exception (Exception_Info _from _to _target _tp _name )  =
    (sem_Exception_Info _from _to _target _tp _name )
-- semantic domain
type T_Exception  = ( )
sem_Exception_Info :: Word32 ->
                      Word32 ->
                      Word32 ->
                      Word32 ->
                      Word32 ->
                      T_Exception 
sem_Exception_Info from_ to_ target_ tp_ name_  =
    ( )
-- Exceptions --------------------------------------------------
-- cata
sem_Exceptions :: Exceptions  ->
                  T_Exceptions 
sem_Exceptions list  =
    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )
-- semantic domain
type T_Exceptions  = ( )
sem_Exceptions_Cons :: T_Exception  ->
                       T_Exceptions  ->
                       T_Exceptions 
sem_Exceptions_Cons hd_ tl_  =
    ( )
sem_Exceptions_Nil :: T_Exceptions 
sem_Exceptions_Nil  =
    ( )
-- InstanceFlag ------------------------------------------------
-- cata
sem_InstanceFlag :: InstanceFlag  ->
                    T_InstanceFlag 
sem_InstanceFlag (InstanceFlag_ClassFinal )  =
    (sem_InstanceFlag_ClassFinal )
sem_InstanceFlag (InstanceFlag_ClassInterface )  =
    (sem_InstanceFlag_ClassInterface )
sem_InstanceFlag (InstanceFlag_ClassProtected )  =
    (sem_InstanceFlag_ClassProtected )
sem_InstanceFlag (InstanceFlag_ClassSealed )  =
    (sem_InstanceFlag_ClassSealed )
-- semantic domain
type T_InstanceFlag  = ( )
sem_InstanceFlag_ClassFinal :: T_InstanceFlag 
sem_InstanceFlag_ClassFinal  =
    ( )
sem_InstanceFlag_ClassInterface :: T_InstanceFlag 
sem_InstanceFlag_ClassInterface  =
    ( )
sem_InstanceFlag_ClassProtected :: T_InstanceFlag 
sem_InstanceFlag_ClassProtected  =
    ( )
sem_InstanceFlag_ClassSealed :: T_InstanceFlag 
sem_InstanceFlag_ClassSealed  =
    ( )
-- InstanceFlags -----------------------------------------------
-- cata
sem_InstanceFlags :: InstanceFlags  ->
                     T_InstanceFlags 
sem_InstanceFlags list  =
    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )
-- semantic domain
type T_InstanceFlags  = ( )
sem_InstanceFlags_Cons :: T_InstanceFlag  ->
                          T_InstanceFlags  ->
                          T_InstanceFlags 
sem_InstanceFlags_Cons hd_ tl_  =
    ( )
sem_InstanceFlags_Nil :: T_InstanceFlags 
sem_InstanceFlags_Nil  =
    ( )
-- InstanceInfo ------------------------------------------------
-- cata
sem_InstanceInfo :: InstanceInfo  ->
                    T_InstanceInfo 
sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =
    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )
-- semantic domain
type T_InstanceInfo  = ( )
sem_InstanceInfo_Info :: Word32 ->
                         Word32 ->
                         T_InstanceFlags  ->
                         Word32 ->
                         T_Interfaces  ->
                         Word32 ->
                         T_Traits  ->
                         T_InstanceInfo 
sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =
    ( )
-- InstanceInfos -----------------------------------------------
-- cata
sem_InstanceInfos :: InstanceInfos  ->
                     T_InstanceInfos 
sem_InstanceInfos list  =
    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )
-- semantic domain
type T_InstanceInfos  = ( )
sem_InstanceInfos_Cons :: T_InstanceInfo  ->
                          T_InstanceInfos  ->
                          T_InstanceInfos 
sem_InstanceInfos_Cons hd_ tl_  =
    ( )
sem_InstanceInfos_Nil :: T_InstanceInfos 
sem_InstanceInfos_Nil  =
    ( )
-- Instruction -------------------------------------------------
-- cata
sem_Instruction :: Instruction  ->
                   T_Instruction 
sem_Instruction (Instruction_Add )  =
    (sem_Instruction_Add )
sem_Instruction (Instruction_Add_d )  =
    (sem_Instruction_Add_d )
sem_Instruction (Instruction_Add_i )  =
    (sem_Instruction_Add_i )
sem_Instruction (Instruction_ApplyType _name )  =
    (sem_Instruction_ApplyType _name )
sem_Instruction (Instruction_AsType _name )  =
    (sem_Instruction_AsType _name )
sem_Instruction (Instruction_AsTypeLate )  =
    (sem_Instruction_AsTypeLate )
sem_Instruction (Instruction_BitAnd )  =
    (sem_Instruction_BitAnd )
sem_Instruction (Instruction_BitNot )  =
    (sem_Instruction_BitNot )
sem_Instruction (Instruction_BitOr )  =
    (sem_Instruction_BitOr )
sem_Instruction (Instruction_BitXor )  =
    (sem_Instruction_BitXor )
sem_Instruction (Instruction_BreakLine _line )  =
    (sem_Instruction_BreakLine _line )
sem_Instruction (Instruction_Breakpoint )  =
    (sem_Instruction_Breakpoint )
sem_Instruction (Instruction_Call _argCount )  =
    (sem_Instruction_Call _argCount )
sem_Instruction (Instruction_CallInterface _name _argCount )  =
    (sem_Instruction_CallInterface _name _argCount )
sem_Instruction (Instruction_CallMethod _index _argCount )  =
    (sem_Instruction_CallMethod _index _argCount )
sem_Instruction (Instruction_CallProp _name _argCount )  =
    (sem_Instruction_CallProp _name _argCount )
sem_Instruction (Instruction_CallPropLex _name _argCount )  =
    (sem_Instruction_CallPropLex _name _argCount )
sem_Instruction (Instruction_CallPropVoid _name _argCount )  =
    (sem_Instruction_CallPropVoid _name _argCount )
sem_Instruction (Instruction_CallStatic _method _argCount )  =
    (sem_Instruction_CallStatic _method _argCount )
sem_Instruction (Instruction_CallSuper _name _argCount )  =
    (sem_Instruction_CallSuper _name _argCount )
sem_Instruction (Instruction_CallSuperId )  =
    (sem_Instruction_CallSuperId )
sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =
    (sem_Instruction_CallSuperVoid _name _argCount )
sem_Instruction (Instruction_CheckFilter )  =
    (sem_Instruction_CheckFilter )
sem_Instruction (Instruction_Coerce _name )  =
    (sem_Instruction_Coerce _name )
sem_Instruction (Instruction_Coerce_a )  =
    (sem_Instruction_Coerce_a )
sem_Instruction (Instruction_Coerce_b )  =
    (sem_Instruction_Coerce_b )
sem_Instruction (Instruction_Coerce_d )  =
    (sem_Instruction_Coerce_d )
sem_Instruction (Instruction_Coerce_i )  =
    (sem_Instruction_Coerce_i )
sem_Instruction (Instruction_Coerce_o )  =
    (sem_Instruction_Coerce_o )
sem_Instruction (Instruction_Coerce_s )  =
    (sem_Instruction_Coerce_s )
sem_Instruction (Instruction_Coerce_u )  =
    (sem_Instruction_Coerce_u )
sem_Instruction (Instruction_Concat )  =
    (sem_Instruction_Concat )
sem_Instruction (Instruction_Construct _argCount )  =
    (sem_Instruction_Construct _argCount )
sem_Instruction (Instruction_ConstructProp _name _argCount )  =
    (sem_Instruction_ConstructProp _name _argCount )
sem_Instruction (Instruction_ConstructSuper _argCount )  =
    (sem_Instruction_ConstructSuper _argCount )
sem_Instruction (Instruction_Convert_b )  =
    (sem_Instruction_Convert_b )
sem_Instruction (Instruction_Convert_d )  =
    (sem_Instruction_Convert_d )
sem_Instruction (Instruction_Convert_i )  =
    (sem_Instruction_Convert_i )
sem_Instruction (Instruction_Convert_o )  =
    (sem_Instruction_Convert_o )
sem_Instruction (Instruction_Convert_s )  =
    (sem_Instruction_Convert_s )
sem_Instruction (Instruction_Convert_u )  =
    (sem_Instruction_Convert_u )
sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =
    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )
sem_Instruction (Instruction_DebugFile _name )  =
    (sem_Instruction_DebugFile _name )
sem_Instruction (Instruction_DebugLine _line )  =
    (sem_Instruction_DebugLine _line )
sem_Instruction (Instruction_DecLocal _reg )  =
    (sem_Instruction_DecLocal _reg )
sem_Instruction (Instruction_DecLocal_i _reg )  =
    (sem_Instruction_DecLocal_i _reg )
sem_Instruction (Instruction_Decrement )  =
    (sem_Instruction_Decrement )
sem_Instruction (Instruction_Decrement_i )  =
    (sem_Instruction_Decrement_i )
sem_Instruction (Instruction_DeleteProperty _name )  =
    (sem_Instruction_DeleteProperty _name )
sem_Instruction (Instruction_DeletePropertyLate )  =
    (sem_Instruction_DeletePropertyLate )
sem_Instruction (Instruction_Divide )  =
    (sem_Instruction_Divide )
sem_Instruction (Instruction_Dup )  =
    (sem_Instruction_Dup )
sem_Instruction (Instruction_Dxns _name )  =
    (sem_Instruction_Dxns _name )
sem_Instruction (Instruction_DxnsLate )  =
    (sem_Instruction_DxnsLate )
sem_Instruction (Instruction_Equals )  =
    (sem_Instruction_Equals )
sem_Instruction (Instruction_EscXAttr )  =
    (sem_Instruction_EscXAttr )
sem_Instruction (Instruction_EscXElem )  =
    (sem_Instruction_EscXElem )
sem_Instruction (Instruction_FindDef _name )  =
    (sem_Instruction_FindDef _name )
sem_Instruction (Instruction_FindPropStrict _name )  =
    (sem_Instruction_FindPropStrict _name )
sem_Instruction (Instruction_FindProperty _name )  =
    (sem_Instruction_FindProperty _name )
sem_Instruction (Instruction_FindPropertyGlobal _name )  =
    (sem_Instruction_FindPropertyGlobal _name )
sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =
    (sem_Instruction_FindPropertyGlobalStrict _name )
sem_Instruction (Instruction_GetDescendants _name )  =
    (sem_Instruction_GetDescendants _name )
sem_Instruction (Instruction_GetGlobalScope )  =
    (sem_Instruction_GetGlobalScope )
sem_Instruction (Instruction_GetGlobalSlot _slot )  =
    (sem_Instruction_GetGlobalSlot _slot )
sem_Instruction (Instruction_GetLex _name )  =
    (sem_Instruction_GetLex _name )
sem_Instruction (Instruction_GetLocal _reg )  =
    (sem_Instruction_GetLocal _reg )
sem_Instruction (Instruction_GetLocal0 )  =
    (sem_Instruction_GetLocal0 )
sem_Instruction (Instruction_GetLocal1 )  =
    (sem_Instruction_GetLocal1 )
sem_Instruction (Instruction_GetLocal2 )  =
    (sem_Instruction_GetLocal2 )
sem_Instruction (Instruction_GetLocal3 )  =
    (sem_Instruction_GetLocal3 )
sem_Instruction (Instruction_GetOuterScope _name )  =
    (sem_Instruction_GetOuterScope _name )
sem_Instruction (Instruction_GetProperty _name )  =
    (sem_Instruction_GetProperty _name )
sem_Instruction (Instruction_GetScopeObject _index )  =
    (sem_Instruction_GetScopeObject _index )
sem_Instruction (Instruction_GetSlot _slot )  =
    (sem_Instruction_GetSlot _slot )
sem_Instruction (Instruction_GetSuper _name )  =
    (sem_Instruction_GetSuper _name )
sem_Instruction (Instruction_GreaterEquals )  =
    (sem_Instruction_GreaterEquals )
sem_Instruction (Instruction_GreaterThan )  =
    (sem_Instruction_GreaterThan )
sem_Instruction (Instruction_HasNext )  =
    (sem_Instruction_HasNext )
sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =
    (sem_Instruction_HasNext2 _objectReg _indexReg )
sem_Instruction (Instruction_IfEq _offset )  =
    (sem_Instruction_IfEq _offset )
sem_Instruction (Instruction_IfFalse _offset )  =
    (sem_Instruction_IfFalse _offset )
sem_Instruction (Instruction_IfGe _offset )  =
    (sem_Instruction_IfGe _offset )
sem_Instruction (Instruction_IfGt _offset )  =
    (sem_Instruction_IfGt _offset )
sem_Instruction (Instruction_IfLe _offset )  =
    (sem_Instruction_IfLe _offset )
sem_Instruction (Instruction_IfLt _offset )  =
    (sem_Instruction_IfLt _offset )
sem_Instruction (Instruction_IfNGe _offset )  =
    (sem_Instruction_IfNGe _offset )
sem_Instruction (Instruction_IfNGt _offset )  =
    (sem_Instruction_IfNGt _offset )
sem_Instruction (Instruction_IfNLe _offset )  =
    (sem_Instruction_IfNLe _offset )
sem_Instruction (Instruction_IfNLt _offset )  =
    (sem_Instruction_IfNLt _offset )
sem_Instruction (Instruction_IfNe _offset )  =
    (sem_Instruction_IfNe _offset )
sem_Instruction (Instruction_IfStrictEq _offset )  =
    (sem_Instruction_IfStrictEq _offset )
sem_Instruction (Instruction_IfStrictNe _offset )  =
    (sem_Instruction_IfStrictNe _offset )
sem_Instruction (Instruction_IfTrue _offset )  =
    (sem_Instruction_IfTrue _offset )
sem_Instruction (Instruction_In )  =
    (sem_Instruction_In )
sem_Instruction (Instruction_IncLocal _reg )  =
    (sem_Instruction_IncLocal _reg )
sem_Instruction (Instruction_IncLocal_i _reg )  =
    (sem_Instruction_IncLocal_i _reg )
sem_Instruction (Instruction_Increment )  =
    (sem_Instruction_Increment )
sem_Instruction (Instruction_Increment_i )  =
    (sem_Instruction_Increment_i )
sem_Instruction (Instruction_InitProperty _name )  =
    (sem_Instruction_InitProperty _name )
sem_Instruction (Instruction_InstanceOf )  =
    (sem_Instruction_InstanceOf )
sem_Instruction (Instruction_IsType _name )  =
    (sem_Instruction_IsType _name )
sem_Instruction (Instruction_IsTypeLate )  =
    (sem_Instruction_IsTypeLate )
sem_Instruction (Instruction_Jump _offset )  =
    (sem_Instruction_Jump _offset )
sem_Instruction (Instruction_Kill _reg )  =
    (sem_Instruction_Kill _reg )
sem_Instruction (Instruction_Label )  =
    (sem_Instruction_Label )
sem_Instruction (Instruction_LessEquals )  =
    (sem_Instruction_LessEquals )
sem_Instruction (Instruction_LessThan )  =
    (sem_Instruction_LessThan )
sem_Instruction (Instruction_LoadFloat32 )  =
    (sem_Instruction_LoadFloat32 )
sem_Instruction (Instruction_LoadFloat64 )  =
    (sem_Instruction_LoadFloat64 )
sem_Instruction (Instruction_LoadIndirect16 )  =
    (sem_Instruction_LoadIndirect16 )
sem_Instruction (Instruction_LoadIndirect32 )  =
    (sem_Instruction_LoadIndirect32 )
sem_Instruction (Instruction_LoadIndirect8 )  =
    (sem_Instruction_LoadIndirect8 )
sem_Instruction (Instruction_Location _index )  =
    (sem_Instruction_Location _index )
sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =
    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )
sem_Instruction (Instruction_Lshift )  =
    (sem_Instruction_Lshift )
sem_Instruction (Instruction_Modulo )  =
    (sem_Instruction_Modulo )
sem_Instruction (Instruction_Multiply )  =
    (sem_Instruction_Multiply )
sem_Instruction (Instruction_Multiply_i )  =
    (sem_Instruction_Multiply_i )
sem_Instruction (Instruction_Negate )  =
    (sem_Instruction_Negate )
sem_Instruction (Instruction_Negate_i )  =
    (sem_Instruction_Negate_i )
sem_Instruction (Instruction_NewActivation )  =
    (sem_Instruction_NewActivation )
sem_Instruction (Instruction_NewArray _argCount )  =
    (sem_Instruction_NewArray _argCount )
sem_Instruction (Instruction_NewCatch _exception )  =
    (sem_Instruction_NewCatch _exception )
sem_Instruction (Instruction_NewClass _class )  =
    (sem_Instruction_NewClass _class )
sem_Instruction (Instruction_NewFunction _method )  =
    (sem_Instruction_NewFunction _method )
sem_Instruction (Instruction_NewObject _argCount )  =
    (sem_Instruction_NewObject _argCount )
sem_Instruction (Instruction_NextName )  =
    (sem_Instruction_NextName )
sem_Instruction (Instruction_NextValue )  =
    (sem_Instruction_NextValue )
sem_Instruction (Instruction_Nop )  =
    (sem_Instruction_Nop )
sem_Instruction (Instruction_Not )  =
    (sem_Instruction_Not )
sem_Instruction (Instruction_Pop )  =
    (sem_Instruction_Pop )
sem_Instruction (Instruction_PopScope )  =
    (sem_Instruction_PopScope )
sem_Instruction (Instruction_PushByte _val )  =
    (sem_Instruction_PushByte _val )
sem_Instruction (Instruction_PushDouble _name )  =
    (sem_Instruction_PushDouble _name )
sem_Instruction (Instruction_PushFalse )  =
    (sem_Instruction_PushFalse )
sem_Instruction (Instruction_PushInt _name )  =
    (sem_Instruction_PushInt _name )
sem_Instruction (Instruction_PushNaN )  =
    (sem_Instruction_PushNaN )
sem_Instruction (Instruction_PushNamespace _name )  =
    (sem_Instruction_PushNamespace _name )
sem_Instruction (Instruction_PushNull )  =
    (sem_Instruction_PushNull )
sem_Instruction (Instruction_PushScope )  =
    (sem_Instruction_PushScope )
sem_Instruction (Instruction_PushShort _val )  =
    (sem_Instruction_PushShort _val )
sem_Instruction (Instruction_PushString _name )  =
    (sem_Instruction_PushString _name )
sem_Instruction (Instruction_PushTrue )  =
    (sem_Instruction_PushTrue )
sem_Instruction (Instruction_PushUInt _name )  =
    (sem_Instruction_PushUInt _name )
sem_Instruction (Instruction_PushUndefined )  =
    (sem_Instruction_PushUndefined )
sem_Instruction (Instruction_PushWith )  =
    (sem_Instruction_PushWith )
sem_Instruction (Instruction_ReturnValue )  =
    (sem_Instruction_ReturnValue )
sem_Instruction (Instruction_ReturnVoid )  =
    (sem_Instruction_ReturnVoid )
sem_Instruction (Instruction_Rshift )  =
    (sem_Instruction_Rshift )
sem_Instruction (Instruction_SetGlobalSlot _slot )  =
    (sem_Instruction_SetGlobalSlot _slot )
sem_Instruction (Instruction_SetLocal _reg )  =
    (sem_Instruction_SetLocal _reg )
sem_Instruction (Instruction_SetLocal0 )  =
    (sem_Instruction_SetLocal0 )
sem_Instruction (Instruction_SetLocal1 )  =
    (sem_Instruction_SetLocal1 )
sem_Instruction (Instruction_SetLocal2 )  =
    (sem_Instruction_SetLocal2 )
sem_Instruction (Instruction_SetLocal3 )  =
    (sem_Instruction_SetLocal3 )
sem_Instruction (Instruction_SetProperty _name )  =
    (sem_Instruction_SetProperty _name )
sem_Instruction (Instruction_SetPropertyLate )  =
    (sem_Instruction_SetPropertyLate )
sem_Instruction (Instruction_SetSlot _slot )  =
    (sem_Instruction_SetSlot _slot )
sem_Instruction (Instruction_SetSuper _name )  =
    (sem_Instruction_SetSuper _name )
sem_Instruction (Instruction_SignExtend1 )  =
    (sem_Instruction_SignExtend1 )
sem_Instruction (Instruction_SignExtend16 )  =
    (sem_Instruction_SignExtend16 )
sem_Instruction (Instruction_SignExtend8 )  =
    (sem_Instruction_SignExtend8 )
sem_Instruction (Instruction_StoreFloat32 )  =
    (sem_Instruction_StoreFloat32 )
sem_Instruction (Instruction_StoreFloat64 )  =
    (sem_Instruction_StoreFloat64 )
sem_Instruction (Instruction_StoreIndirect16 )  =
    (sem_Instruction_StoreIndirect16 )
sem_Instruction (Instruction_StoreIndirect32 )  =
    (sem_Instruction_StoreIndirect32 )
sem_Instruction (Instruction_StoreIndirect8 )  =
    (sem_Instruction_StoreIndirect8 )
sem_Instruction (Instruction_StrictEquals )  =
    (sem_Instruction_StrictEquals )
sem_Instruction (Instruction_Substract )  =
    (sem_Instruction_Substract )
sem_Instruction (Instruction_Substract_i )  =
    (sem_Instruction_Substract_i )
sem_Instruction (Instruction_Swap )  =
    (sem_Instruction_Swap )
sem_Instruction (Instruction_Throw )  =
    (sem_Instruction_Throw )
sem_Instruction (Instruction_Timestamp )  =
    (sem_Instruction_Timestamp )
sem_Instruction (Instruction_TypeOf )  =
    (sem_Instruction_TypeOf )
sem_Instruction (Instruction_Urshift )  =
    (sem_Instruction_Urshift )
-- semantic domain
type T_Instruction  = ( Int)
data Inh_Instruction  = Inh_Instruction {}
data Syn_Instruction  = Syn_Instruction {output_Syn_Instruction :: !(Int)}
wrap_Instruction :: T_Instruction  ->
                    Inh_Instruction  ->
                    Syn_Instruction 
wrap_Instruction sem (Inh_Instruction )  =
    (let ( _lhsOoutput) | True = sem 
     in  (Syn_Instruction _lhsOoutput ))
sem_Instruction_Add :: T_Instruction 
sem_Instruction_Add  =
    (case (({-# LINE 8 "src/PrettyInstr.ag" #-}
            u8 0xA0
            {-# LINE 699 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Add_d :: T_Instruction 
sem_Instruction_Add_d  =
    (case (({-# LINE 10 "src/PrettyInstr.ag" #-}
            u8 0x9B
            {-# LINE 707 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Add_i :: T_Instruction 
sem_Instruction_Add_i  =
    (case (({-# LINE 9 "src/PrettyInstr.ag" #-}
            u8 0xC5
            {-# LINE 715 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_ApplyType :: Word32 ->
                             T_Instruction 
sem_Instruction_ApplyType name_  =
    (case (({-# LINE 11 "src/PrettyInstr.ag" #-}
            u8 0x53 ## u30 name_
            {-# LINE 724 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_AsType :: Word32 ->
                          T_Instruction 
sem_Instruction_AsType name_  =
    (case (({-# LINE 12 "src/PrettyInstr.ag" #-}
            u8 0x86 ## u30 name_
            {-# LINE 733 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_AsTypeLate :: T_Instruction 
sem_Instruction_AsTypeLate  =
    (case (({-# LINE 13 "src/PrettyInstr.ag" #-}
            u8 0x87
            {-# LINE 741 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_BitAnd :: T_Instruction 
sem_Instruction_BitAnd  =
    (case (({-# LINE 14 "src/PrettyInstr.ag" #-}
            u8 0xA8
            {-# LINE 749 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_BitNot :: T_Instruction 
sem_Instruction_BitNot  =
    (case (({-# LINE 15 "src/PrettyInstr.ag" #-}
            u8 0x97
            {-# LINE 757 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_BitOr :: T_Instruction 
sem_Instruction_BitOr  =
    (case (({-# LINE 16 "src/PrettyInstr.ag" #-}
            u8 0xA9
            {-# LINE 765 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_BitXor :: T_Instruction 
sem_Instruction_BitXor  =
    (case (({-# LINE 17 "src/PrettyInstr.ag" #-}
            u8 0xAA
            {-# LINE 773 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_BreakLine :: Word32 ->
                             T_Instruction 
sem_Instruction_BreakLine line_  =
    (case (({-# LINE 19 "src/PrettyInstr.ag" #-}
            u8 0xF2 ## u30 line_
            {-# LINE 782 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Breakpoint :: T_Instruction 
sem_Instruction_Breakpoint  =
    (case (({-# LINE 18 "src/PrettyInstr.ag" #-}
            u8 0x01
            {-# LINE 790 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Call :: Word32 ->
                        T_Instruction 
sem_Instruction_Call argCount_  =
    (case (({-# LINE 20 "src/PrettyInstr.ag" #-}
            u8 0x41 ## u30 argCount_
            {-# LINE 799 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CallInterface :: Word32 ->
                                 Word32 ->
                                 T_Instruction 
sem_Instruction_CallInterface name_ argCount_  =
    (case (({-# LINE 21 "src/PrettyInstr.ag" #-}
            u8 0x4D ## u30 name_ ## u30 argCount_
            {-# LINE 809 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CallMethod :: Word32 ->
                              Word32 ->
                              T_Instruction 
sem_Instruction_CallMethod index_ argCount_  =
    (case (({-# LINE 22 "src/PrettyInstr.ag" #-}
            u8 0x43 ## u30 index_ ## u30 argCount_
            {-# LINE 819 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CallProp :: Word32 ->
                            Word32 ->
                            T_Instruction 
sem_Instruction_CallProp name_ argCount_  =
    (case (({-# LINE 23 "src/PrettyInstr.ag" #-}
            u8 0x46 ## u30 name_ ## u30 argCount_
            {-# LINE 829 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CallPropLex :: Word32 ->
                               Word32 ->
                               T_Instruction 
sem_Instruction_CallPropLex name_ argCount_  =
    (case (({-# LINE 24 "src/PrettyInstr.ag" #-}
            u8 0x4C ## u30 name_ ## u30 argCount_
            {-# LINE 839 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CallPropVoid :: Word32 ->
                                Word32 ->
                                T_Instruction 
sem_Instruction_CallPropVoid name_ argCount_  =
    (case (({-# LINE 25 "src/PrettyInstr.ag" #-}
            u8 0x4F ## u30 name_ ## u30 argCount_
            {-# LINE 849 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CallStatic :: Word32 ->
                              Word32 ->
                              T_Instruction 
sem_Instruction_CallStatic method_ argCount_  =
    (case (({-# LINE 26 "src/PrettyInstr.ag" #-}
            u8 0x44 ## u30 method_ ## u30 argCount_
            {-# LINE 859 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CallSuper :: Word32 ->
                             Word32 ->
                             T_Instruction 
sem_Instruction_CallSuper name_ argCount_  =
    (case (({-# LINE 27 "src/PrettyInstr.ag" #-}
            u8 0x45 ## u30 name_ ## u30 argCount_
            {-# LINE 869 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CallSuperId :: T_Instruction 
sem_Instruction_CallSuperId  =
    (case (({-# LINE 28 "src/PrettyInstr.ag" #-}
            u8 0x4B
            {-# LINE 877 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CallSuperVoid :: Word32 ->
                                 Word32 ->
                                 T_Instruction 
sem_Instruction_CallSuperVoid name_ argCount_  =
    (case (({-# LINE 29 "src/PrettyInstr.ag" #-}
            u8 0x4E ## u30 name_ ## u30 argCount_
            {-# LINE 887 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_CheckFilter :: T_Instruction 
sem_Instruction_CheckFilter  =
    (case (({-# LINE 30 "src/PrettyInstr.ag" #-}
            u8 0x78
            {-# LINE 895 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Coerce :: Word32 ->
                          T_Instruction 
sem_Instruction_Coerce name_  =
    (case (({-# LINE 31 "src/PrettyInstr.ag" #-}
            u8 0x80 ## u30 name_
            {-# LINE 904 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Coerce_a :: T_Instruction 
sem_Instruction_Coerce_a  =
    (case (({-# LINE 33 "src/PrettyInstr.ag" #-}
            u8 0x82
            {-# LINE 912 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Coerce_b :: T_Instruction 
sem_Instruction_Coerce_b  =
    (case (({-# LINE 32 "src/PrettyInstr.ag" #-}
            u8 0x81
            {-# LINE 920 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Coerce_d :: T_Instruction 
sem_Instruction_Coerce_d  =
    (case (({-# LINE 35 "src/PrettyInstr.ag" #-}
            u8 0x84
            {-# LINE 928 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Coerce_i :: T_Instruction 
sem_Instruction_Coerce_i  =
    (case (({-# LINE 34 "src/PrettyInstr.ag" #-}
            u8 0x83
            {-# LINE 936 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Coerce_o :: T_Instruction 
sem_Instruction_Coerce_o  =
    (case (({-# LINE 38 "src/PrettyInstr.ag" #-}
            u8 0x89
            {-# LINE 944 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Coerce_s :: T_Instruction 
sem_Instruction_Coerce_s  =
    (case (({-# LINE 36 "src/PrettyInstr.ag" #-}
            u8 0x85
            {-# LINE 952 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Coerce_u :: T_Instruction 
sem_Instruction_Coerce_u  =
    (case (({-# LINE 37 "src/PrettyInstr.ag" #-}
            u8 0x88
            {-# LINE 960 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Concat :: T_Instruction 
sem_Instruction_Concat  =
    (case (({-# LINE 39 "src/PrettyInstr.ag" #-}
            u8 0x9A
            {-# LINE 968 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Construct :: Word32 ->
                             T_Instruction 
sem_Instruction_Construct argCount_  =
    (case (({-# LINE 40 "src/PrettyInstr.ag" #-}
            u8 0x42 ## u30 argCount_
            {-# LINE 977 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_ConstructProp :: Word32 ->
                                 Word32 ->
                                 T_Instruction 
sem_Instruction_ConstructProp name_ argCount_  =
    (case (({-# LINE 41 "src/PrettyInstr.ag" #-}
            u8 0x4A ## u30 name_ ## u30 argCount_
            {-# LINE 987 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_ConstructSuper :: Word32 ->
                                  T_Instruction 
sem_Instruction_ConstructSuper argCount_  =
    (case (({-# LINE 42 "src/PrettyInstr.ag" #-}
            u8 0x49 ## u30 argCount_
            {-# LINE 996 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Convert_b :: T_Instruction 
sem_Instruction_Convert_b  =
    (case (({-# LINE 43 "src/PrettyInstr.ag" #-}
            u8 0x76
            {-# LINE 1004 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Convert_d :: T_Instruction 
sem_Instruction_Convert_d  =
    (case (({-# LINE 45 "src/PrettyInstr.ag" #-}
            u8 0x75
            {-# LINE 1012 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Convert_i :: T_Instruction 
sem_Instruction_Convert_i  =
    (case (({-# LINE 44 "src/PrettyInstr.ag" #-}
            u8 0x73
            {-# LINE 1020 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Convert_o :: T_Instruction 
sem_Instruction_Convert_o  =
    (case (({-# LINE 46 "src/PrettyInstr.ag" #-}
            u8 0x77
            {-# LINE 1028 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Convert_s :: T_Instruction 
sem_Instruction_Convert_s  =
    (case (({-# LINE 48 "src/PrettyInstr.ag" #-}
            u8 0x70
            {-# LINE 1036 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Convert_u :: T_Instruction 
sem_Instruction_Convert_u  =
    (case (({-# LINE 47 "src/PrettyInstr.ag" #-}
            u8 0x74
            {-# LINE 1044 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Debug :: T_DebugType  ->
                         Word32 ->
                         Word32 ->
                         Word32 ->
                         T_Instruction 
sem_Instruction_Debug tp_ name_ reg_ extra_  =
    (case (tp_ ) of
     { ( _tpIoutput) | True ->
         (case (({-# LINE 49 "src/PrettyInstr.ag" #-}
                 u8 0xEF ## _tpIoutput ## u30 name_ ## u30 reg_ ## u30 extra_
                 {-# LINE 1058 "src/InstrSize.hs" #-}
                 )) of
          { _lhsOoutput | _lhsOoutput `seq` (True) ->
          ( _lhsOoutput) }) })
sem_Instruction_DebugFile :: Word32 ->
                             T_Instruction 
sem_Instruction_DebugFile name_  =
    (case (({-# LINE 50 "src/PrettyInstr.ag" #-}
            u8 0xF1 ## u30 name_
            {-# LINE 1067 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_DebugLine :: Word32 ->
                             T_Instruction 
sem_Instruction_DebugLine line_  =
    (case (({-# LINE 51 "src/PrettyInstr.ag" #-}
            u8 0xF0 ## u30 line_
            {-# LINE 1076 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_DecLocal :: Word32 ->
                            T_Instruction 
sem_Instruction_DecLocal reg_  =
    (case (({-# LINE 52 "src/PrettyInstr.ag" #-}
            u8 0x94 ## u30 reg_
            {-# LINE 1085 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_DecLocal_i :: Word32 ->
                              T_Instruction 
sem_Instruction_DecLocal_i reg_  =
    (case (({-# LINE 53 "src/PrettyInstr.ag" #-}
            u8 0xC3 ## u30 reg_
            {-# LINE 1094 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Decrement :: T_Instruction 
sem_Instruction_Decrement  =
    (case (({-# LINE 54 "src/PrettyInstr.ag" #-}
            u8 0x93
            {-# LINE 1102 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Decrement_i :: T_Instruction 
sem_Instruction_Decrement_i  =
    (case (({-# LINE 55 "src/PrettyInstr.ag" #-}
            u8 0xC1
            {-# LINE 1110 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_DeleteProperty :: Word32 ->
                                  T_Instruction 
sem_Instruction_DeleteProperty name_  =
    (case (({-# LINE 56 "src/PrettyInstr.ag" #-}
            u8 0x6A ## u30 name_
            {-# LINE 1119 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_DeletePropertyLate :: T_Instruction 
sem_Instruction_DeletePropertyLate  =
    (case (({-# LINE 57 "src/PrettyInstr.ag" #-}
            u8 0x6B
            {-# LINE 1127 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Divide :: T_Instruction 
sem_Instruction_Divide  =
    (case (({-# LINE 58 "src/PrettyInstr.ag" #-}
            u8 0xA3
            {-# LINE 1135 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Dup :: T_Instruction 
sem_Instruction_Dup  =
    (case (({-# LINE 59 "src/PrettyInstr.ag" #-}
            u8 0x2A
            {-# LINE 1143 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Dxns :: Word32 ->
                        T_Instruction 
sem_Instruction_Dxns name_  =
    (case (({-# LINE 60 "src/PrettyInstr.ag" #-}
            u8 0x06 ## u30 name_
            {-# LINE 1152 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_DxnsLate :: T_Instruction 
sem_Instruction_DxnsLate  =
    (case (({-# LINE 61 "src/PrettyInstr.ag" #-}
            u8 0x07
            {-# LINE 1160 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Equals :: T_Instruction 
sem_Instruction_Equals  =
    (case (({-# LINE 62 "src/PrettyInstr.ag" #-}
            u8 0xAB
            {-# LINE 1168 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_EscXAttr :: T_Instruction 
sem_Instruction_EscXAttr  =
    (case (({-# LINE 63 "src/PrettyInstr.ag" #-}
            u8 0x72
            {-# LINE 1176 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_EscXElem :: T_Instruction 
sem_Instruction_EscXElem  =
    (case (({-# LINE 64 "src/PrettyInstr.ag" #-}
            u8 0x71
            {-# LINE 1184 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_FindDef :: Word32 ->
                           T_Instruction 
sem_Instruction_FindDef name_  =
    (case (({-# LINE 65 "src/PrettyInstr.ag" #-}
            u8 0x5F ## u30 name_
            {-# LINE 1193 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_FindPropStrict :: Word32 ->
                                  T_Instruction 
sem_Instruction_FindPropStrict name_  =
    (case (({-# LINE 69 "src/PrettyInstr.ag" #-}
            u8 0x5D ## u30 name_
            {-# LINE 1202 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_FindProperty :: Word32 ->
                                T_Instruction 
sem_Instruction_FindProperty name_  =
    (case (({-# LINE 68 "src/PrettyInstr.ag" #-}
            u8 0x5E ## u30 name_
            {-# LINE 1211 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_FindPropertyGlobal :: Word32 ->
                                      T_Instruction 
sem_Instruction_FindPropertyGlobal name_  =
    (case (({-# LINE 67 "src/PrettyInstr.ag" #-}
            u8 0x5C ## u30 name_
            {-# LINE 1220 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_FindPropertyGlobalStrict :: Word32 ->
                                            T_Instruction 
sem_Instruction_FindPropertyGlobalStrict name_  =
    (case (({-# LINE 66 "src/PrettyInstr.ag" #-}
            u8 0x5B ## u30 name_
            {-# LINE 1229 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetDescendants :: Word32 ->
                                  T_Instruction 
sem_Instruction_GetDescendants name_  =
    (case (({-# LINE 70 "src/PrettyInstr.ag" #-}
            u8 0x59 ## u30 name_
            {-# LINE 1238 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetGlobalScope :: T_Instruction 
sem_Instruction_GetGlobalScope  =
    (case (({-# LINE 71 "src/PrettyInstr.ag" #-}
            u8 0x64
            {-# LINE 1246 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetGlobalSlot :: Word32 ->
                                 T_Instruction 
sem_Instruction_GetGlobalSlot slot_  =
    (case (({-# LINE 72 "src/PrettyInstr.ag" #-}
            u8 0x6E ## u30 slot_
            {-# LINE 1255 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetLex :: Word32 ->
                          T_Instruction 
sem_Instruction_GetLex name_  =
    (case (({-# LINE 73 "src/PrettyInstr.ag" #-}
            u8 0x60 ## u30 name_
            {-# LINE 1264 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetLocal :: Word32 ->
                            T_Instruction 
sem_Instruction_GetLocal reg_  =
    (case (({-# LINE 74 "src/PrettyInstr.ag" #-}
            u8 0x62 ## u30 reg_
            {-# LINE 1273 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetLocal0 :: T_Instruction 
sem_Instruction_GetLocal0  =
    (case (({-# LINE 75 "src/PrettyInstr.ag" #-}
            u8 0xD0
            {-# LINE 1281 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetLocal1 :: T_Instruction 
sem_Instruction_GetLocal1  =
    (case (({-# LINE 76 "src/PrettyInstr.ag" #-}
            u8 0xD1
            {-# LINE 1289 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetLocal2 :: T_Instruction 
sem_Instruction_GetLocal2  =
    (case (({-# LINE 77 "src/PrettyInstr.ag" #-}
            u8 0xD2
            {-# LINE 1297 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetLocal3 :: T_Instruction 
sem_Instruction_GetLocal3  =
    (case (({-# LINE 78 "src/PrettyInstr.ag" #-}
            u8 0xD3
            {-# LINE 1305 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetOuterScope :: Word32 ->
                                 T_Instruction 
sem_Instruction_GetOuterScope name_  =
    (case (({-# LINE 79 "src/PrettyInstr.ag" #-}
            u8 0x67
            {-# LINE 1314 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetProperty :: Word32 ->
                               T_Instruction 
sem_Instruction_GetProperty name_  =
    (case (({-# LINE 80 "src/PrettyInstr.ag" #-}
            u8 0x66 ## u30 name_
            {-# LINE 1323 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetScopeObject :: Word8 ->
                                  T_Instruction 
sem_Instruction_GetScopeObject index_  =
    (case (({-# LINE 81 "src/PrettyInstr.ag" #-}
            u8 0x65 ## u8 index_
            {-# LINE 1332 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetSlot :: Word32 ->
                           T_Instruction 
sem_Instruction_GetSlot slot_  =
    (case (({-# LINE 82 "src/PrettyInstr.ag" #-}
            u8 0x6C ## u30 slot_
            {-# LINE 1341 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GetSuper :: Word32 ->
                            T_Instruction 
sem_Instruction_GetSuper name_  =
    (case (({-# LINE 83 "src/PrettyInstr.ag" #-}
            u8 0x04 ## u30 name_
            {-# LINE 1350 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GreaterEquals :: T_Instruction 
sem_Instruction_GreaterEquals  =
    (case (({-# LINE 84 "src/PrettyInstr.ag" #-}
            u8 0xB0
            {-# LINE 1358 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_GreaterThan :: T_Instruction 
sem_Instruction_GreaterThan  =
    (case (({-# LINE 85 "src/PrettyInstr.ag" #-}
            u8 0xAF
            {-# LINE 1366 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_HasNext :: T_Instruction 
sem_Instruction_HasNext  =
    (case (({-# LINE 86 "src/PrettyInstr.ag" #-}
            u8 0x1F
            {-# LINE 1374 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_HasNext2 :: Word32 ->
                            Word32 ->
                            T_Instruction 
sem_Instruction_HasNext2 objectReg_ indexReg_  =
    (case (({-# LINE 87 "src/PrettyInstr.ag" #-}
            u8 0x32 ## u30 objectReg_ ## u30 indexReg_
            {-# LINE 1384 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfEq :: Word32 ->
                        T_Instruction 
sem_Instruction_IfEq offset_  =
    (case (({-# LINE 88 "src/PrettyInstr.ag" #-}
            u8 0x13 ## s24 offset_
            {-# LINE 1393 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfFalse :: Word32 ->
                           T_Instruction 
sem_Instruction_IfFalse offset_  =
    (case (({-# LINE 89 "src/PrettyInstr.ag" #-}
            u8 0x12 ## s24 offset_
            {-# LINE 1402 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfGe :: Word32 ->
                        T_Instruction 
sem_Instruction_IfGe offset_  =
    (case (({-# LINE 90 "src/PrettyInstr.ag" #-}
            u8 0x18 ## s24 offset_
            {-# LINE 1411 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfGt :: Word32 ->
                        T_Instruction 
sem_Instruction_IfGt offset_  =
    (case (({-# LINE 91 "src/PrettyInstr.ag" #-}
            u8 0x17 ## s24 offset_
            {-# LINE 1420 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfLe :: Word32 ->
                        T_Instruction 
sem_Instruction_IfLe offset_  =
    (case (({-# LINE 92 "src/PrettyInstr.ag" #-}
            u8 0x16 ## s24 offset_
            {-# LINE 1429 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfLt :: Word32 ->
                        T_Instruction 
sem_Instruction_IfLt offset_  =
    (case (({-# LINE 93 "src/PrettyInstr.ag" #-}
            u8 0x15 ## s24 offset_
            {-# LINE 1438 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfNGe :: Word32 ->
                         T_Instruction 
sem_Instruction_IfNGe offset_  =
    (case (({-# LINE 94 "src/PrettyInstr.ag" #-}
            u8 0x0F ## s24 offset_
            {-# LINE 1447 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfNGt :: Word32 ->
                         T_Instruction 
sem_Instruction_IfNGt offset_  =
    (case (({-# LINE 95 "src/PrettyInstr.ag" #-}
            u8 0x0E ## s24 offset_
            {-# LINE 1456 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfNLe :: Word32 ->
                         T_Instruction 
sem_Instruction_IfNLe offset_  =
    (case (({-# LINE 96 "src/PrettyInstr.ag" #-}
            u8 0x0D ## s24 offset_
            {-# LINE 1465 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfNLt :: Word32 ->
                         T_Instruction 
sem_Instruction_IfNLt offset_  =
    (case (({-# LINE 97 "src/PrettyInstr.ag" #-}
            u8 0x0C ## s24 offset_
            {-# LINE 1474 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfNe :: Word32 ->
                        T_Instruction 
sem_Instruction_IfNe offset_  =
    (case (({-# LINE 98 "src/PrettyInstr.ag" #-}
            u8 0x14 ## s24 offset_
            {-# LINE 1483 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfStrictEq :: Word32 ->
                              T_Instruction 
sem_Instruction_IfStrictEq offset_  =
    (case (({-# LINE 99 "src/PrettyInstr.ag" #-}
            u8 0x19 ## s24 offset_
            {-# LINE 1492 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfStrictNe :: Word32 ->
                              T_Instruction 
sem_Instruction_IfStrictNe offset_  =
    (case (({-# LINE 100 "src/PrettyInstr.ag" #-}
            u8 0x1A ## s24 offset_
            {-# LINE 1501 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IfTrue :: Word32 ->
                          T_Instruction 
sem_Instruction_IfTrue offset_  =
    (case (({-# LINE 101 "src/PrettyInstr.ag" #-}
            u8 0x11 ## s24 offset_
            {-# LINE 1510 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_In :: T_Instruction 
sem_Instruction_In  =
    (case (({-# LINE 102 "src/PrettyInstr.ag" #-}
            u8 0xB4
            {-# LINE 1518 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IncLocal :: Word32 ->
                            T_Instruction 
sem_Instruction_IncLocal reg_  =
    (case (({-# LINE 103 "src/PrettyInstr.ag" #-}
            u8 0x92 ## u30 reg_
            {-# LINE 1527 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IncLocal_i :: Word32 ->
                              T_Instruction 
sem_Instruction_IncLocal_i reg_  =
    (case (({-# LINE 104 "src/PrettyInstr.ag" #-}
            u8 0xC2 ## u30 reg_
            {-# LINE 1536 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Increment :: T_Instruction 
sem_Instruction_Increment  =
    (case (({-# LINE 105 "src/PrettyInstr.ag" #-}
            u8 0x91
            {-# LINE 1544 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Increment_i :: T_Instruction 
sem_Instruction_Increment_i  =
    (case (({-# LINE 106 "src/PrettyInstr.ag" #-}
            u8 0xC0
            {-# LINE 1552 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_InitProperty :: Word32 ->
                                T_Instruction 
sem_Instruction_InitProperty name_  =
    (case (({-# LINE 107 "src/PrettyInstr.ag" #-}
            u8 0x68 ## u30 name_
            {-# LINE 1561 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_InstanceOf :: T_Instruction 
sem_Instruction_InstanceOf  =
    (case (({-# LINE 108 "src/PrettyInstr.ag" #-}
            u8 0xB1
            {-# LINE 1569 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IsType :: Word32 ->
                          T_Instruction 
sem_Instruction_IsType name_  =
    (case (({-# LINE 109 "src/PrettyInstr.ag" #-}
            u8 0xB2 ## u30 name_
            {-# LINE 1578 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_IsTypeLate :: T_Instruction 
sem_Instruction_IsTypeLate  =
    (case (({-# LINE 110 "src/PrettyInstr.ag" #-}
            u8 0xB3
            {-# LINE 1586 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Jump :: Word32 ->
                        T_Instruction 
sem_Instruction_Jump offset_  =
    (case (({-# LINE 111 "src/PrettyInstr.ag" #-}
            u8 0x10 ## s24 offset_
            {-# LINE 1595 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Kill :: Word32 ->
                        T_Instruction 
sem_Instruction_Kill reg_  =
    (case (({-# LINE 112 "src/PrettyInstr.ag" #-}
            u8 0x08 ## u30 reg_
            {-# LINE 1604 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Label :: T_Instruction 
sem_Instruction_Label  =
    (case (({-# LINE 113 "src/PrettyInstr.ag" #-}
            u8 0x09
            {-# LINE 1612 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_LessEquals :: T_Instruction 
sem_Instruction_LessEquals  =
    (case (({-# LINE 114 "src/PrettyInstr.ag" #-}
            u8 0xAE
            {-# LINE 1620 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_LessThan :: T_Instruction 
sem_Instruction_LessThan  =
    (case (({-# LINE 115 "src/PrettyInstr.ag" #-}
            u8 0xAD
            {-# LINE 1628 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_LoadFloat32 :: T_Instruction 
sem_Instruction_LoadFloat32  =
    (case (({-# LINE 116 "src/PrettyInstr.ag" #-}
            u8 0x38
            {-# LINE 1636 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_LoadFloat64 :: T_Instruction 
sem_Instruction_LoadFloat64  =
    (case (({-# LINE 117 "src/PrettyInstr.ag" #-}
            u8 0x39
            {-# LINE 1644 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_LoadIndirect16 :: T_Instruction 
sem_Instruction_LoadIndirect16  =
    (case (({-# LINE 119 "src/PrettyInstr.ag" #-}
            u8 0x36
            {-# LINE 1652 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_LoadIndirect32 :: T_Instruction 
sem_Instruction_LoadIndirect32  =
    (case (({-# LINE 120 "src/PrettyInstr.ag" #-}
            u8 0x37
            {-# LINE 1660 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_LoadIndirect8 :: T_Instruction 
sem_Instruction_LoadIndirect8  =
    (case (({-# LINE 118 "src/PrettyInstr.ag" #-}
            u8 0x35
            {-# LINE 1668 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Location :: Int ->
                            T_Instruction 
sem_Instruction_Location index_  =
    (case (({-# LINE 31 "src/InstrSize.ag" #-}
            0
            {-# LINE 1677 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_LookupSwitch :: Word32 ->
                                T_CaseOffsets  ->
                                T_Instruction 
sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =
    (case (caseOffsets_ ) of
     { ( _caseOffsetsIcount,_caseOffsetsIoutput) | True ->
         (case (({-# LINE 121 "src/PrettyInstr.ag" #-}
                 u8 0x1B ## s24 defaultOffset_ ## u30size (_caseOffsetsIcount - 1) ## _caseOffsetsIoutput
                 {-# LINE 1689 "src/InstrSize.hs" #-}
                 )) of
          { _lhsOoutput | _lhsOoutput `seq` (True) ->
          ( _lhsOoutput) }) })
sem_Instruction_Lshift :: T_Instruction 
sem_Instruction_Lshift  =
    (case (({-# LINE 122 "src/PrettyInstr.ag" #-}
            u8 0xA5
            {-# LINE 1697 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Modulo :: T_Instruction 
sem_Instruction_Modulo  =
    (case (({-# LINE 123 "src/PrettyInstr.ag" #-}
            u8 0xA4
            {-# LINE 1705 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Multiply :: T_Instruction 
sem_Instruction_Multiply  =
    (case (({-# LINE 124 "src/PrettyInstr.ag" #-}
            u8 0xA2
            {-# LINE 1713 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Multiply_i :: T_Instruction 
sem_Instruction_Multiply_i  =
    (case (({-# LINE 125 "src/PrettyInstr.ag" #-}
            u8 0xC7
            {-# LINE 1721 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Negate :: T_Instruction 
sem_Instruction_Negate  =
    (case (({-# LINE 126 "src/PrettyInstr.ag" #-}
            u8 0x90
            {-# LINE 1729 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Negate_i :: T_Instruction 
sem_Instruction_Negate_i  =
    (case (({-# LINE 127 "src/PrettyInstr.ag" #-}
            u8 0xC4
            {-# LINE 1737 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_NewActivation :: T_Instruction 
sem_Instruction_NewActivation  =
    (case (({-# LINE 128 "src/PrettyInstr.ag" #-}
            u8 0x57
            {-# LINE 1745 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_NewArray :: Word32 ->
                            T_Instruction 
sem_Instruction_NewArray argCount_  =
    (case (({-# LINE 129 "src/PrettyInstr.ag" #-}
            u8 0x56 ## u30 argCount_
            {-# LINE 1754 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_NewCatch :: Word32 ->
                            T_Instruction 
sem_Instruction_NewCatch exception_  =
    (case (({-# LINE 130 "src/PrettyInstr.ag" #-}
            u8 0x5A ## u30 exception_
            {-# LINE 1763 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_NewClass :: Word32 ->
                            T_Instruction 
sem_Instruction_NewClass class_  =
    (case (({-# LINE 131 "src/PrettyInstr.ag" #-}
            u8 0x58 ## u30 class_
            {-# LINE 1772 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_NewFunction :: Word32 ->
                               T_Instruction 
sem_Instruction_NewFunction method_  =
    (case (({-# LINE 132 "src/PrettyInstr.ag" #-}
            u8 0x40 ## u30 method_
            {-# LINE 1781 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_NewObject :: Word32 ->
                             T_Instruction 
sem_Instruction_NewObject argCount_  =
    (case (({-# LINE 133 "src/PrettyInstr.ag" #-}
            u8 0x55 ## u30 argCount_
            {-# LINE 1790 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_NextName :: T_Instruction 
sem_Instruction_NextName  =
    (case (({-# LINE 134 "src/PrettyInstr.ag" #-}
            u8 0x1E
            {-# LINE 1798 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_NextValue :: T_Instruction 
sem_Instruction_NextValue  =
    (case (({-# LINE 135 "src/PrettyInstr.ag" #-}
            u8 0x23
            {-# LINE 1806 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Nop :: T_Instruction 
sem_Instruction_Nop  =
    (case (({-# LINE 136 "src/PrettyInstr.ag" #-}
            u8 0x02
            {-# LINE 1814 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Not :: T_Instruction 
sem_Instruction_Not  =
    (case (({-# LINE 137 "src/PrettyInstr.ag" #-}
            u8 0x96
            {-# LINE 1822 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Pop :: T_Instruction 
sem_Instruction_Pop  =
    (case (({-# LINE 138 "src/PrettyInstr.ag" #-}
            u8 0x29
            {-# LINE 1830 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PopScope :: T_Instruction 
sem_Instruction_PopScope  =
    (case (({-# LINE 139 "src/PrettyInstr.ag" #-}
            u8 0x1D
            {-# LINE 1838 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushByte :: Word8 ->
                            T_Instruction 
sem_Instruction_PushByte val_  =
    (case (({-# LINE 140 "src/PrettyInstr.ag" #-}
            u8 0x24 ## u8 val_
            {-# LINE 1847 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushDouble :: Word32 ->
                              T_Instruction 
sem_Instruction_PushDouble name_  =
    (case (({-# LINE 141 "src/PrettyInstr.ag" #-}
            u8 0x2F ## u30 name_
            {-# LINE 1856 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushFalse :: T_Instruction 
sem_Instruction_PushFalse  =
    (case (({-# LINE 142 "src/PrettyInstr.ag" #-}
            u8 0x27
            {-# LINE 1864 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushInt :: Word32 ->
                           T_Instruction 
sem_Instruction_PushInt name_  =
    (case (({-# LINE 143 "src/PrettyInstr.ag" #-}
            u8 0x2D ## u30 name_
            {-# LINE 1873 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushNaN :: T_Instruction 
sem_Instruction_PushNaN  =
    (case (({-# LINE 145 "src/PrettyInstr.ag" #-}
            u8 0x28
            {-# LINE 1881 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushNamespace :: Word32 ->
                                 T_Instruction 
sem_Instruction_PushNamespace name_  =
    (case (({-# LINE 144 "src/PrettyInstr.ag" #-}
            u8 0x31 ## u30 name_
            {-# LINE 1890 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushNull :: T_Instruction 
sem_Instruction_PushNull  =
    (case (({-# LINE 146 "src/PrettyInstr.ag" #-}
            u8 0x20
            {-# LINE 1898 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushScope :: T_Instruction 
sem_Instruction_PushScope  =
    (case (({-# LINE 147 "src/PrettyInstr.ag" #-}
            u8 0x30
            {-# LINE 1906 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushShort :: Word32 ->
                             T_Instruction 
sem_Instruction_PushShort val_  =
    (case (({-# LINE 148 "src/PrettyInstr.ag" #-}
            u8 0x25 ## u30 val_
            {-# LINE 1915 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushString :: Word32 ->
                              T_Instruction 
sem_Instruction_PushString name_  =
    (case (({-# LINE 149 "src/PrettyInstr.ag" #-}
            u8 0x2C ## u30 name_
            {-# LINE 1924 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushTrue :: T_Instruction 
sem_Instruction_PushTrue  =
    (case (({-# LINE 150 "src/PrettyInstr.ag" #-}
            u8 0x26
            {-# LINE 1932 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushUInt :: Word32 ->
                            T_Instruction 
sem_Instruction_PushUInt name_  =
    (case (({-# LINE 151 "src/PrettyInstr.ag" #-}
            u8 0x2E ## u30 name_
            {-# LINE 1941 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushUndefined :: T_Instruction 
sem_Instruction_PushUndefined  =
    (case (({-# LINE 152 "src/PrettyInstr.ag" #-}
            u8 0x21
            {-# LINE 1949 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_PushWith :: T_Instruction 
sem_Instruction_PushWith  =
    (case (({-# LINE 153 "src/PrettyInstr.ag" #-}
            u8 0x1C
            {-# LINE 1957 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_ReturnValue :: T_Instruction 
sem_Instruction_ReturnValue  =
    (case (({-# LINE 154 "src/PrettyInstr.ag" #-}
            u8 0x48
            {-# LINE 1965 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_ReturnVoid :: T_Instruction 
sem_Instruction_ReturnVoid  =
    (case (({-# LINE 155 "src/PrettyInstr.ag" #-}
            u8 0x47
            {-# LINE 1973 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Rshift :: T_Instruction 
sem_Instruction_Rshift  =
    (case (({-# LINE 156 "src/PrettyInstr.ag" #-}
            u8 0xA6
            {-# LINE 1981 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetGlobalSlot :: Word32 ->
                                 T_Instruction 
sem_Instruction_SetGlobalSlot slot_  =
    (case (({-# LINE 162 "src/PrettyInstr.ag" #-}
            u8 0x6F ## u30 slot_
            {-# LINE 1990 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetLocal :: Word32 ->
                            T_Instruction 
sem_Instruction_SetLocal reg_  =
    (case (({-# LINE 157 "src/PrettyInstr.ag" #-}
            u8 0x63 ## u30 reg_
            {-# LINE 1999 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetLocal0 :: T_Instruction 
sem_Instruction_SetLocal0  =
    (case (({-# LINE 158 "src/PrettyInstr.ag" #-}
            u8 0xD4
            {-# LINE 2007 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetLocal1 :: T_Instruction 
sem_Instruction_SetLocal1  =
    (case (({-# LINE 159 "src/PrettyInstr.ag" #-}
            u8 0xD5
            {-# LINE 2015 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetLocal2 :: T_Instruction 
sem_Instruction_SetLocal2  =
    (case (({-# LINE 160 "src/PrettyInstr.ag" #-}
            u8 0xD6
            {-# LINE 2023 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetLocal3 :: T_Instruction 
sem_Instruction_SetLocal3  =
    (case (({-# LINE 161 "src/PrettyInstr.ag" #-}
            u8 0xD7
            {-# LINE 2031 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetProperty :: Word32 ->
                               T_Instruction 
sem_Instruction_SetProperty name_  =
    (case (({-# LINE 163 "src/PrettyInstr.ag" #-}
            u8 0x61 ## u30 name_
            {-# LINE 2040 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetPropertyLate :: T_Instruction 
sem_Instruction_SetPropertyLate  =
    (case (({-# LINE 164 "src/PrettyInstr.ag" #-}
            u8 0x69
            {-# LINE 2048 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetSlot :: Word32 ->
                           T_Instruction 
sem_Instruction_SetSlot slot_  =
    (case (({-# LINE 165 "src/PrettyInstr.ag" #-}
            u8 0x6D ## u30 slot_
            {-# LINE 2057 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SetSuper :: Word32 ->
                            T_Instruction 
sem_Instruction_SetSuper name_  =
    (case (({-# LINE 166 "src/PrettyInstr.ag" #-}
            u8 0x05 ## u30 name_
            {-# LINE 2066 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SignExtend1 :: T_Instruction 
sem_Instruction_SignExtend1  =
    (case (({-# LINE 167 "src/PrettyInstr.ag" #-}
            u8 0x50
            {-# LINE 2074 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SignExtend16 :: T_Instruction 
sem_Instruction_SignExtend16  =
    (case (({-# LINE 169 "src/PrettyInstr.ag" #-}
            u8 0x52
            {-# LINE 2082 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_SignExtend8 :: T_Instruction 
sem_Instruction_SignExtend8  =
    (case (({-# LINE 168 "src/PrettyInstr.ag" #-}
            u8 0x51
            {-# LINE 2090 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_StoreFloat32 :: T_Instruction 
sem_Instruction_StoreFloat32  =
    (case (({-# LINE 170 "src/PrettyInstr.ag" #-}
            u8 0x3D
            {-# LINE 2098 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_StoreFloat64 :: T_Instruction 
sem_Instruction_StoreFloat64  =
    (case (({-# LINE 171 "src/PrettyInstr.ag" #-}
            u8 0x3E
            {-# LINE 2106 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_StoreIndirect16 :: T_Instruction 
sem_Instruction_StoreIndirect16  =
    (case (({-# LINE 173 "src/PrettyInstr.ag" #-}
            u8 0x3B
            {-# LINE 2114 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_StoreIndirect32 :: T_Instruction 
sem_Instruction_StoreIndirect32  =
    (case (({-# LINE 174 "src/PrettyInstr.ag" #-}
            u8 0x3C
            {-# LINE 2122 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_StoreIndirect8 :: T_Instruction 
sem_Instruction_StoreIndirect8  =
    (case (({-# LINE 172 "src/PrettyInstr.ag" #-}
            u8 0x3A
            {-# LINE 2130 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_StrictEquals :: T_Instruction 
sem_Instruction_StrictEquals  =
    (case (({-# LINE 175 "src/PrettyInstr.ag" #-}
            u8 0xAC
            {-# LINE 2138 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Substract :: T_Instruction 
sem_Instruction_Substract  =
    (case (({-# LINE 176 "src/PrettyInstr.ag" #-}
            u8 0xA1
            {-# LINE 2146 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Substract_i :: T_Instruction 
sem_Instruction_Substract_i  =
    (case (({-# LINE 177 "src/PrettyInstr.ag" #-}
            u8 0xC6
            {-# LINE 2154 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Swap :: T_Instruction 
sem_Instruction_Swap  =
    (case (({-# LINE 178 "src/PrettyInstr.ag" #-}
            u8 0x2B
            {-# LINE 2162 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Throw :: T_Instruction 
sem_Instruction_Throw  =
    (case (({-# LINE 179 "src/PrettyInstr.ag" #-}
            u8 0x03
            {-# LINE 2170 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Timestamp :: T_Instruction 
sem_Instruction_Timestamp  =
    (case (({-# LINE 180 "src/PrettyInstr.ag" #-}
            u8 0xF3
            {-# LINE 2178 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_TypeOf :: T_Instruction 
sem_Instruction_TypeOf  =
    (case (({-# LINE 181 "src/PrettyInstr.ag" #-}
            u8 0x95
            {-# LINE 2186 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
sem_Instruction_Urshift :: T_Instruction 
sem_Instruction_Urshift  =
    (case (({-# LINE 182 "src/PrettyInstr.ag" #-}
            u8 0xA7
            {-# LINE 2194 "src/InstrSize.hs" #-}
            )) of
     { _lhsOoutput | _lhsOoutput `seq` (True) ->
     ( _lhsOoutput) })
-- Instructions ------------------------------------------------
-- cata
sem_Instructions :: Instructions  ->
                    T_Instructions 
sem_Instructions list  =
    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )
-- semantic domain
type T_Instructions  = ( )
sem_Instructions_Cons :: T_Instruction  ->
                         T_Instructions  ->
                         T_Instructions 
sem_Instructions_Cons hd_ tl_  =
    ( )
sem_Instructions_Nil :: T_Instructions 
sem_Instructions_Nil  =
    ( )
-- Interfaces --------------------------------------------------
-- cata
sem_Interfaces :: Interfaces  ->
                  T_Interfaces 
sem_Interfaces list  =
    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )
-- semantic domain
type T_Interfaces  = ( )
sem_Interfaces_Cons :: Word32 ->
                       T_Interfaces  ->
                       T_Interfaces 
sem_Interfaces_Cons hd_ tl_  =
    ( )
sem_Interfaces_Nil :: T_Interfaces 
sem_Interfaces_Nil  =
    ( )
-- MetaInfo ----------------------------------------------------
-- cata
sem_MetaInfo :: MetaInfo  ->
                T_MetaInfo 
sem_MetaInfo (MetaInfo_Info _name _items )  =
    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )
-- semantic domain
type T_MetaInfo  = ( )
sem_MetaInfo_Info :: Word32 ->
                     T_MetaItems  ->
                     T_MetaInfo 
sem_MetaInfo_Info name_ items_  =
    ( )
-- MetaInfos ---------------------------------------------------
-- cata
sem_MetaInfos :: MetaInfos  ->
                 T_MetaInfos 
sem_MetaInfos list  =
    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )
-- semantic domain
type T_MetaInfos  = ( )
sem_MetaInfos_Cons :: T_MetaInfo  ->
                      T_MetaInfos  ->
                      T_MetaInfos 
sem_MetaInfos_Cons hd_ tl_  =
    ( )
sem_MetaInfos_Nil :: T_MetaInfos 
sem_MetaInfos_Nil  =
    ( )
-- MetaItem ----------------------------------------------------
-- cata
sem_MetaItem :: MetaItem  ->
                T_MetaItem 
sem_MetaItem (MetaItem_Item _key _value )  =
    (sem_MetaItem_Item _key _value )
-- semantic domain
type T_MetaItem  = ( )
sem_MetaItem_Item :: Word32 ->
                     Word32 ->
                     T_MetaItem 
sem_MetaItem_Item key_ value_  =
    ( )
-- MetaItems ---------------------------------------------------
-- cata
sem_MetaItems :: MetaItems  ->
                 T_MetaItems 
sem_MetaItems list  =
    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )
-- semantic domain
type T_MetaItems  = ( )
sem_MetaItems_Cons :: T_MetaItem  ->
                      T_MetaItems  ->
                      T_MetaItems 
sem_MetaItems_Cons hd_ tl_  =
    ( )
sem_MetaItems_Nil :: T_MetaItems 
sem_MetaItems_Nil  =
    ( )
-- MethodFlag --------------------------------------------------
-- cata
sem_MethodFlag :: MethodFlag  ->
                  T_MethodFlag 
sem_MethodFlag (MethodFlag_HasOptionals )  =
    (sem_MethodFlag_HasOptionals )
sem_MethodFlag (MethodFlag_HasParamNames )  =
    (sem_MethodFlag_HasParamNames )
sem_MethodFlag (MethodFlag_NeedAct )  =
    (sem_MethodFlag_NeedAct )
sem_MethodFlag (MethodFlag_NeedArgs )  =
    (sem_MethodFlag_NeedArgs )
sem_MethodFlag (MethodFlag_NeedRest )  =
    (sem_MethodFlag_NeedRest )
sem_MethodFlag (MethodFlag_SetDXNS )  =
    (sem_MethodFlag_SetDXNS )
-- semantic domain
type T_MethodFlag  = ( )
sem_MethodFlag_HasOptionals :: T_MethodFlag 
sem_MethodFlag_HasOptionals  =
    ( )
sem_MethodFlag_HasParamNames :: T_MethodFlag 
sem_MethodFlag_HasParamNames  =
    ( )
sem_MethodFlag_NeedAct :: T_MethodFlag 
sem_MethodFlag_NeedAct  =
    ( )
sem_MethodFlag_NeedArgs :: T_MethodFlag 
sem_MethodFlag_NeedArgs  =
    ( )
sem_MethodFlag_NeedRest :: T_MethodFlag 
sem_MethodFlag_NeedRest  =
    ( )
sem_MethodFlag_SetDXNS :: T_MethodFlag 
sem_MethodFlag_SetDXNS  =
    ( )
-- MethodFlags -------------------------------------------------
-- cata
sem_MethodFlags :: MethodFlags  ->
                   T_MethodFlags 
sem_MethodFlags list  =
    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )
-- semantic domain
type T_MethodFlags  = ( )
sem_MethodFlags_Cons :: T_MethodFlag  ->
                        T_MethodFlags  ->
                        T_MethodFlags 
sem_MethodFlags_Cons hd_ tl_  =
    ( )
sem_MethodFlags_Nil :: T_MethodFlags 
sem_MethodFlags_Nil  =
    ( )
-- MethodInfo --------------------------------------------------
-- cata
sem_MethodInfo :: MethodInfo  ->
                  T_MethodInfo 
sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =
    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )
-- semantic domain
type T_MethodInfo  = ( )
sem_MethodInfo_Info :: Word32 ->
                       T_ParamTypes  ->
                       Word32 ->
                       T_MethodFlags  ->
                       T_Optionals  ->
                       T_ParamNames  ->
                       T_MethodInfo 
sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =
    ( )
-- MethodInfos -------------------------------------------------
-- cata
sem_MethodInfos :: MethodInfos  ->
                   T_MethodInfos 
sem_MethodInfos list  =
    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )
-- semantic domain
type T_MethodInfos  = ( )
sem_MethodInfos_Cons :: T_MethodInfo  ->
                        T_MethodInfos  ->
                        T_MethodInfos 
sem_MethodInfos_Cons hd_ tl_  =
    ( )
sem_MethodInfos_Nil :: T_MethodInfos 
sem_MethodInfos_Nil  =
    ( )
-- MultinameInfo -----------------------------------------------
-- cata
sem_MultinameInfo :: MultinameInfo  ->
                     T_MultinameInfo 
sem_MultinameInfo (MultinameInfo_Generic _name _params )  =
    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )
sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =
    (sem_MultinameInfo_Multiname _name _set )
sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =
    (sem_MultinameInfo_MultinameA _name _set )
sem_MultinameInfo (MultinameInfo_MultinameL _set )  =
    (sem_MultinameInfo_MultinameL _set )
sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =
    (sem_MultinameInfo_MultinameLA _set )
sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =
    (sem_MultinameInfo_QName _namespace _name )
sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =
    (sem_MultinameInfo_QNameA _namespace _name )
sem_MultinameInfo (MultinameInfo_RTQName _name )  =
    (sem_MultinameInfo_RTQName _name )
sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =
    (sem_MultinameInfo_RTQNameA _name )
sem_MultinameInfo (MultinameInfo_RTQNameL )  =
    (sem_MultinameInfo_RTQNameL )
sem_MultinameInfo (MultinameInfo_RTQNameLA )  =
    (sem_MultinameInfo_RTQNameLA )
-- semantic domain
type T_MultinameInfo  = ( )
sem_MultinameInfo_Generic :: Word32 ->
                             T_ParamNames  ->
                             T_MultinameInfo 
sem_MultinameInfo_Generic name_ params_  =
    ( )
sem_MultinameInfo_Multiname :: Word32 ->
                               Word32 ->
                               T_MultinameInfo 
sem_MultinameInfo_Multiname name_ set_  =
    ( )
sem_MultinameInfo_MultinameA :: Word32 ->
                                Word32 ->
                                T_MultinameInfo 
sem_MultinameInfo_MultinameA name_ set_  =
    ( )
sem_MultinameInfo_MultinameL :: Word32 ->
                                T_MultinameInfo 
sem_MultinameInfo_MultinameL set_  =
    ( )
sem_MultinameInfo_MultinameLA :: Word32 ->
                                 T_MultinameInfo 
sem_MultinameInfo_MultinameLA set_  =
    ( )
sem_MultinameInfo_QName :: Word32 ->
                           Word32 ->
                           T_MultinameInfo 
sem_MultinameInfo_QName namespace_ name_  =
    ( )
sem_MultinameInfo_QNameA :: Word32 ->
                            Word32 ->
                            T_MultinameInfo 
sem_MultinameInfo_QNameA namespace_ name_  =
    ( )
sem_MultinameInfo_RTQName :: Word32 ->
                             T_MultinameInfo 
sem_MultinameInfo_RTQName name_  =
    ( )
sem_MultinameInfo_RTQNameA :: Word32 ->
                              T_MultinameInfo 
sem_MultinameInfo_RTQNameA name_  =
    ( )
sem_MultinameInfo_RTQNameL :: T_MultinameInfo 
sem_MultinameInfo_RTQNameL  =
    ( )
sem_MultinameInfo_RTQNameLA :: T_MultinameInfo 
sem_MultinameInfo_RTQNameLA  =
    ( )
-- MultinameInfos ----------------------------------------------
-- cata
sem_MultinameInfos :: MultinameInfos  ->
                      T_MultinameInfos 
sem_MultinameInfos list  =
    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )
-- semantic domain
type T_MultinameInfos  = ( )
sem_MultinameInfos_Cons :: T_MultinameInfo  ->
                           T_MultinameInfos  ->
                           T_MultinameInfos 
sem_MultinameInfos_Cons hd_ tl_  =
    ( )
sem_MultinameInfos_Nil :: T_MultinameInfos 
sem_MultinameInfos_Nil  =
    ( )
-- MultinameKind -----------------------------------------------
-- cata
sem_MultinameKind :: MultinameKind  ->
                     T_MultinameKind 
sem_MultinameKind (MultinameKind_Generic )  =
    (sem_MultinameKind_Generic )
sem_MultinameKind (MultinameKind_Multiname )  =
    (sem_MultinameKind_Multiname )
sem_MultinameKind (MultinameKind_MultinameA )  =
    (sem_MultinameKind_MultinameA )
sem_MultinameKind (MultinameKind_MultinameL )  =
    (sem_MultinameKind_MultinameL )
sem_MultinameKind (MultinameKind_MultinameLA )  =
    (sem_MultinameKind_MultinameLA )
sem_MultinameKind (MultinameKind_QName )  =
    (sem_MultinameKind_QName )
sem_MultinameKind (MultinameKind_QNameA )  =
    (sem_MultinameKind_QNameA )
sem_MultinameKind (MultinameKind_RTQName )  =
    (sem_MultinameKind_RTQName )
sem_MultinameKind (MultinameKind_RTQNameA )  =
    (sem_MultinameKind_RTQNameA )
sem_MultinameKind (MultinameKind_RTQNameL )  =
    (sem_MultinameKind_RTQNameL )
sem_MultinameKind (MultinameKind_RTQNameLA )  =
    (sem_MultinameKind_RTQNameLA )
-- semantic domain
type T_MultinameKind  = ( )
sem_MultinameKind_Generic :: T_MultinameKind 
sem_MultinameKind_Generic  =
    ( )
sem_MultinameKind_Multiname :: T_MultinameKind 
sem_MultinameKind_Multiname  =
    ( )
sem_MultinameKind_MultinameA :: T_MultinameKind 
sem_MultinameKind_MultinameA  =
    ( )
sem_MultinameKind_MultinameL :: T_MultinameKind 
sem_MultinameKind_MultinameL  =
    ( )
sem_MultinameKind_MultinameLA :: T_MultinameKind 
sem_MultinameKind_MultinameLA  =
    ( )
sem_MultinameKind_QName :: T_MultinameKind 
sem_MultinameKind_QName  =
    ( )
sem_MultinameKind_QNameA :: T_MultinameKind 
sem_MultinameKind_QNameA  =
    ( )
sem_MultinameKind_RTQName :: T_MultinameKind 
sem_MultinameKind_RTQName  =
    ( )
sem_MultinameKind_RTQNameA :: T_MultinameKind 
sem_MultinameKind_RTQNameA  =
    ( )
sem_MultinameKind_RTQNameL :: T_MultinameKind 
sem_MultinameKind_RTQNameL  =
    ( )
sem_MultinameKind_RTQNameLA :: T_MultinameKind 
sem_MultinameKind_RTQNameLA  =
    ( )
-- NamespaceInfo -----------------------------------------------
-- cata
sem_NamespaceInfo :: NamespaceInfo  ->
                     T_NamespaceInfo 
sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =
    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )
-- semantic domain
type T_NamespaceInfo  = ( )
sem_NamespaceInfo_Info :: T_NamespaceKind  ->
                          Word32 ->
                          T_NamespaceInfo 
sem_NamespaceInfo_Info kind_ name_  =
    ( )
-- NamespaceInfos ----------------------------------------------
-- cata
sem_NamespaceInfos :: NamespaceInfos  ->
                      T_NamespaceInfos 
sem_NamespaceInfos list  =
    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )
-- semantic domain
type T_NamespaceInfos  = ( )
sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->
                           T_NamespaceInfos  ->
                           T_NamespaceInfos 
sem_NamespaceInfos_Cons hd_ tl_  =
    ( )
sem_NamespaceInfos_Nil :: T_NamespaceInfos 
sem_NamespaceInfos_Nil  =
    ( )
-- NamespaceKind -----------------------------------------------
-- cata
sem_NamespaceKind :: NamespaceKind  ->
                     T_NamespaceKind 
sem_NamespaceKind (NamespaceKind_Explicit )  =
    (sem_NamespaceKind_Explicit )
sem_NamespaceKind (NamespaceKind_General )  =
    (sem_NamespaceKind_General )
sem_NamespaceKind (NamespaceKind_Internal )  =
    (sem_NamespaceKind_Internal )
sem_NamespaceKind (NamespaceKind_Package )  =
    (sem_NamespaceKind_Package )
sem_NamespaceKind (NamespaceKind_Private )  =
    (sem_NamespaceKind_Private )
sem_NamespaceKind (NamespaceKind_Protected )  =
    (sem_NamespaceKind_Protected )
sem_NamespaceKind (NamespaceKind_Static )  =
    (sem_NamespaceKind_Static )
-- semantic domain
type T_NamespaceKind  = ( )
sem_NamespaceKind_Explicit :: T_NamespaceKind 
sem_NamespaceKind_Explicit  =
    ( )
sem_NamespaceKind_General :: T_NamespaceKind 
sem_NamespaceKind_General  =
    ( )
sem_NamespaceKind_Internal :: T_NamespaceKind 
sem_NamespaceKind_Internal  =
    ( )
sem_NamespaceKind_Package :: T_NamespaceKind 
sem_NamespaceKind_Package  =
    ( )
sem_NamespaceKind_Private :: T_NamespaceKind 
sem_NamespaceKind_Private  =
    ( )
sem_NamespaceKind_Protected :: T_NamespaceKind 
sem_NamespaceKind_Protected  =
    ( )
sem_NamespaceKind_Static :: T_NamespaceKind 
sem_NamespaceKind_Static  =
    ( )
-- NamespaceNames ----------------------------------------------
-- cata
sem_NamespaceNames :: NamespaceNames  ->
                      T_NamespaceNames 
sem_NamespaceNames list  =
    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )
-- semantic domain
type T_NamespaceNames  = ( )
sem_NamespaceNames_Cons :: Word32 ->
                           T_NamespaceNames  ->
                           T_NamespaceNames 
sem_NamespaceNames_Cons hd_ tl_  =
    ( )
sem_NamespaceNames_Nil :: T_NamespaceNames 
sem_NamespaceNames_Nil  =
    ( )
-- Optional ----------------------------------------------------
-- cata
sem_Optional :: Optional  ->
                T_Optional 
sem_Optional (Optional_Detail _val _kind )  =
    (sem_Optional_Detail _val (sem_ValueKind _kind ) )
-- semantic domain
type T_Optional  = ( )
sem_Optional_Detail :: Word32 ->
                       T_ValueKind  ->
                       T_Optional 
sem_Optional_Detail val_ kind_  =
    ( )
-- Optionals ---------------------------------------------------
-- cata
sem_Optionals :: Optionals  ->
                 T_Optionals 
sem_Optionals list  =
    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )
-- semantic domain
type T_Optionals  = ( )
sem_Optionals_Cons :: T_Optional  ->
                      T_Optionals  ->
                      T_Optionals 
sem_Optionals_Cons hd_ tl_  =
    ( )
sem_Optionals_Nil :: T_Optionals 
sem_Optionals_Nil  =
    ( )
-- ParamNames --------------------------------------------------
-- cata
sem_ParamNames :: ParamNames  ->
                  T_ParamNames 
sem_ParamNames list  =
    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )
-- semantic domain
type T_ParamNames  = ( )
sem_ParamNames_Cons :: Word32 ->
                       T_ParamNames  ->
                       T_ParamNames 
sem_ParamNames_Cons hd_ tl_  =
    ( )
sem_ParamNames_Nil :: T_ParamNames 
sem_ParamNames_Nil  =
    ( )
-- ParamTypes --------------------------------------------------
-- cata
sem_ParamTypes :: ParamTypes  ->
                  T_ParamTypes 
sem_ParamTypes list  =
    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )
-- semantic domain
type T_ParamTypes  = ( )
sem_ParamTypes_Cons :: Word32 ->
                       T_ParamTypes  ->
                       T_ParamTypes 
sem_ParamTypes_Cons hd_ tl_  =
    ( )
sem_ParamTypes_Nil :: T_ParamTypes 
sem_ParamTypes_Nil  =
    ( )
-- PoolDoubles -------------------------------------------------
-- cata
sem_PoolDoubles :: PoolDoubles  ->
                   T_PoolDoubles 
sem_PoolDoubles list  =
    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )
-- semantic domain
type T_PoolDoubles  = ( )
sem_PoolDoubles_Cons :: Double ->
                        T_PoolDoubles  ->
                        T_PoolDoubles 
sem_PoolDoubles_Cons hd_ tl_  =
    ( )
sem_PoolDoubles_Nil :: T_PoolDoubles 
sem_PoolDoubles_Nil  =
    ( )
-- PoolInfo ----------------------------------------------------
-- cata
sem_PoolInfo :: PoolInfo  ->
                T_PoolInfo 
sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =
    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )
-- semantic domain
type T_PoolInfo  = ( )
sem_PoolInfo_Info :: T_PoolInts  ->
                     T_PoolUInts  ->
                     T_PoolDoubles  ->
                     T_PoolStrings  ->
                     T_NamespaceInfos  ->
                     T_SetInfos  ->
                     T_MultinameInfos  ->
                     T_PoolInfo 
sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =
    ( )
-- PoolInts ----------------------------------------------------
-- cata
sem_PoolInts :: PoolInts  ->
                T_PoolInts 
sem_PoolInts list  =
    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )
-- semantic domain
type T_PoolInts  = ( )
sem_PoolInts_Cons :: Word32 ->
                     T_PoolInts  ->
                     T_PoolInts 
sem_PoolInts_Cons hd_ tl_  =
    ( )
sem_PoolInts_Nil :: T_PoolInts 
sem_PoolInts_Nil  =
    ( )
-- PoolStrings -------------------------------------------------
-- cata
sem_PoolStrings :: PoolStrings  ->
                   T_PoolStrings 
sem_PoolStrings list  =
    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )
-- semantic domain
type T_PoolStrings  = ( )
sem_PoolStrings_Cons :: ByteString ->
                        T_PoolStrings  ->
                        T_PoolStrings 
sem_PoolStrings_Cons hd_ tl_  =
    ( )
sem_PoolStrings_Nil :: T_PoolStrings 
sem_PoolStrings_Nil  =
    ( )
-- PoolUInts ---------------------------------------------------
-- cata
sem_PoolUInts :: PoolUInts  ->
                 T_PoolUInts 
sem_PoolUInts list  =
    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )
-- semantic domain
type T_PoolUInts  = ( )
sem_PoolUInts_Cons :: Word32 ->
                      T_PoolUInts  ->
                      T_PoolUInts 
sem_PoolUInts_Cons hd_ tl_  =
    ( )
sem_PoolUInts_Nil :: T_PoolUInts 
sem_PoolUInts_Nil  =
    ( )
-- Rect --------------------------------------------------------
-- cata
sem_Rect :: Rect  ->
            T_Rect 
sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =
    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )
-- semantic domain
type T_Rect  = ( )
sem_Rect_Rect :: Int ->
                 Word32 ->
                 Word32 ->
                 Word32 ->
                 Word32 ->
                 T_Rect 
sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =
    ( )
-- ScriptInfo --------------------------------------------------
-- cata
sem_ScriptInfo :: ScriptInfo  ->
                  T_ScriptInfo 
sem_ScriptInfo (ScriptInfo_Info _method _traits )  =
    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )
-- semantic domain
type T_ScriptInfo  = ( )
sem_ScriptInfo_Info :: Word32 ->
                       T_Traits  ->
                       T_ScriptInfo 
sem_ScriptInfo_Info method_ traits_  =
    ( )
-- ScriptInfos -------------------------------------------------
-- cata
sem_ScriptInfos :: ScriptInfos  ->
                   T_ScriptInfos 
sem_ScriptInfos list  =
    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )
-- semantic domain
type T_ScriptInfos  = ( )
sem_ScriptInfos_Cons :: T_ScriptInfo  ->
                        T_ScriptInfos  ->
                        T_ScriptInfos 
sem_ScriptInfos_Cons hd_ tl_  =
    ( )
sem_ScriptInfos_Nil :: T_ScriptInfos 
sem_ScriptInfos_Nil  =
    ( )
-- SetInfo -----------------------------------------------------
-- cata
sem_SetInfo :: SetInfo  ->
               T_SetInfo 
sem_SetInfo (SetInfo_Info _names )  =
    (sem_SetInfo_Info (sem_NamespaceNames _names ) )
-- semantic domain
type T_SetInfo  = ( )
sem_SetInfo_Info :: T_NamespaceNames  ->
                    T_SetInfo 
sem_SetInfo_Info names_  =
    ( )
-- SetInfos ----------------------------------------------------
-- cata
sem_SetInfos :: SetInfos  ->
                T_SetInfos 
sem_SetInfos list  =
    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )
-- semantic domain
type T_SetInfos  = ( )
sem_SetInfos_Cons :: T_SetInfo  ->
                     T_SetInfos  ->
                     T_SetInfos 
sem_SetInfos_Cons hd_ tl_  =
    ( )
sem_SetInfos_Nil :: T_SetInfos 
sem_SetInfos_Nil  =
    ( )
-- SwfFile -----------------------------------------------------
-- cata
sem_SwfFile :: SwfFile  ->
               T_SwfFile 
sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =
    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )
-- semantic domain
type T_SwfFile  = ( )
sem_SwfFile_File :: Bool ->
                    Word8 ->
                    Word32 ->
                    T_Rect  ->
                    Word16 ->
                    Word16 ->
                    T_Tags  ->
                    T_SwfFile 
sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =
    ( )
-- Tag ---------------------------------------------------------
-- cata
sem_Tag :: Tag  ->
           T_Tag 
sem_Tag (Tag_Abc _flags _name _file )  =
    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )
sem_Tag (Tag_End )  =
    (sem_Tag_End )
sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =
    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )
sem_Tag (Tag_Opaque _kind _length _body )  =
    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )
-- semantic domain
type T_Tag  = ( )
sem_Tag_Abc :: T_AbcFlags  ->
               ByteString ->
               T_AbcFile  ->
               T_Tag 
sem_Tag_Abc flags_ name_ file_  =
    ( )
sem_Tag_End :: T_Tag 
sem_Tag_End  =
    ( )
sem_Tag_FileAttributes :: Bool ->
                          Bool ->
                          Bool ->
                          Bool ->
                          Bool ->
                          T_Tag 
sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =
    ( )
sem_Tag_Opaque :: T_TagKind  ->
                  Word32 ->
                  ByteString ->
                  T_Tag 
sem_Tag_Opaque kind_ length_ body_  =
    ( )
-- TagKind -----------------------------------------------------
-- cata
sem_TagKind :: TagKind  ->
               T_TagKind 
sem_TagKind (TagKind_CSMTextSettings )  =
    (sem_TagKind_CSMTextSettings )
sem_TagKind (TagKind_DefineBinaryData )  =
    (sem_TagKind_DefineBinaryData )
sem_TagKind (TagKind_DefineBits )  =
    (sem_TagKind_DefineBits )
sem_TagKind (TagKind_DefineBitsJPEG2 )  =
    (sem_TagKind_DefineBitsJPEG2 )
sem_TagKind (TagKind_DefineBitsJPEG3 )  =
    (sem_TagKind_DefineBitsJPEG3 )
sem_TagKind (TagKind_DefineBitsJPEG4 )  =
    (sem_TagKind_DefineBitsJPEG4 )
sem_TagKind (TagKind_DefineBitsLossless )  =
    (sem_TagKind_DefineBitsLossless )
sem_TagKind (TagKind_DefineBitsLossless2 )  =
    (sem_TagKind_DefineBitsLossless2 )
sem_TagKind (TagKind_DefineButton )  =
    (sem_TagKind_DefineButton )
sem_TagKind (TagKind_DefineButton2 )  =
    (sem_TagKind_DefineButton2 )
sem_TagKind (TagKind_DefineButtonCxform )  =
    (sem_TagKind_DefineButtonCxform )
sem_TagKind (TagKind_DefineButtonSound )  =
    (sem_TagKind_DefineButtonSound )
sem_TagKind (TagKind_DefineEditText )  =
    (sem_TagKind_DefineEditText )
sem_TagKind (TagKind_DefineFont )  =
    (sem_TagKind_DefineFont )
sem_TagKind (TagKind_DefineFont2 )  =
    (sem_TagKind_DefineFont2 )
sem_TagKind (TagKind_DefineFont3 )  =
    (sem_TagKind_DefineFont3 )
sem_TagKind (TagKind_DefineFont4 )  =
    (sem_TagKind_DefineFont4 )
sem_TagKind (TagKind_DefineFontAlignZones )  =
    (sem_TagKind_DefineFontAlignZones )
sem_TagKind (TagKind_DefineFontInfo )  =
    (sem_TagKind_DefineFontInfo )
sem_TagKind (TagKind_DefineFontInfo2 )  =
    (sem_TagKind_DefineFontInfo2 )
sem_TagKind (TagKind_DefineFontName )  =
    (sem_TagKind_DefineFontName )
sem_TagKind (TagKind_DefineMorphShape )  =
    (sem_TagKind_DefineMorphShape )
sem_TagKind (TagKind_DefineMorphShape2 )  =
    (sem_TagKind_DefineMorphShape2 )
sem_TagKind (TagKind_DefineScalingGrid )  =
    (sem_TagKind_DefineScalingGrid )
sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =
    (sem_TagKind_DefineSceneAndFrameLabelData )
sem_TagKind (TagKind_DefineShape )  =
    (sem_TagKind_DefineShape )
sem_TagKind (TagKind_DefineShape2 )  =
    (sem_TagKind_DefineShape2 )
sem_TagKind (TagKind_DefineShape3 )  =
    (sem_TagKind_DefineShape3 )
sem_TagKind (TagKind_DefineShape4 )  =
    (sem_TagKind_DefineShape4 )
sem_TagKind (TagKind_DefineSound )  =
    (sem_TagKind_DefineSound )
sem_TagKind (TagKind_DefineSprite )  =
    (sem_TagKind_DefineSprite )
sem_TagKind (TagKind_DefineText )  =
    (sem_TagKind_DefineText )
sem_TagKind (TagKind_DefineText2 )  =
    (sem_TagKind_DefineText2 )
sem_TagKind (TagKind_DefineVideoStream )  =
    (sem_TagKind_DefineVideoStream )
sem_TagKind (TagKind_DoABC )  =
    (sem_TagKind_DoABC )
sem_TagKind (TagKind_DoAction )  =
    (sem_TagKind_DoAction )
sem_TagKind (TagKind_DoInitAction )  =
    (sem_TagKind_DoInitAction )
sem_TagKind (TagKind_EnableDebugger )  =
    (sem_TagKind_EnableDebugger )
sem_TagKind (TagKind_EnableDebugger2 )  =
    (sem_TagKind_EnableDebugger2 )
sem_TagKind (TagKind_End )  =
    (sem_TagKind_End )
sem_TagKind (TagKind_ExportAssets )  =
    (sem_TagKind_ExportAssets )
sem_TagKind (TagKind_FileAttributes )  =
    (sem_TagKind_FileAttributes )
sem_TagKind (TagKind_FrameLabel )  =
    (sem_TagKind_FrameLabel )
sem_TagKind (TagKind_ImportAssets )  =
    (sem_TagKind_ImportAssets )
sem_TagKind (TagKind_ImportAssets2 )  =
    (sem_TagKind_ImportAssets2 )
sem_TagKind (TagKind_JPEGTables )  =
    (sem_TagKind_JPEGTables )
sem_TagKind (TagKind_Metadata )  =
    (sem_TagKind_Metadata )
sem_TagKind (TagKind_Other _code )  =
    (sem_TagKind_Other _code )
sem_TagKind (TagKind_PlaceObject )  =
    (sem_TagKind_PlaceObject )
sem_TagKind (TagKind_PlaceObject2 )  =
    (sem_TagKind_PlaceObject2 )
sem_TagKind (TagKind_PlaceObject3 )  =
    (sem_TagKind_PlaceObject3 )
sem_TagKind (TagKind_Protect )  =
    (sem_TagKind_Protect )
sem_TagKind (TagKind_RemoveObject )  =
    (sem_TagKind_RemoveObject )
sem_TagKind (TagKind_RemoveObject2 )  =
    (sem_TagKind_RemoveObject2 )
sem_TagKind (TagKind_ScriptLimits )  =
    (sem_TagKind_ScriptLimits )
sem_TagKind (TagKind_SetBackgroundColor )  =
    (sem_TagKind_SetBackgroundColor )
sem_TagKind (TagKind_SetTabIndex )  =
    (sem_TagKind_SetTabIndex )
sem_TagKind (TagKind_ShowFrame )  =
    (sem_TagKind_ShowFrame )
sem_TagKind (TagKind_SoundStreamBlock )  =
    (sem_TagKind_SoundStreamBlock )
sem_TagKind (TagKind_SoundStreamHead )  =
    (sem_TagKind_SoundStreamHead )
sem_TagKind (TagKind_SoundStreamHead2 )  =
    (sem_TagKind_SoundStreamHead2 )
sem_TagKind (TagKind_StartSound )  =
    (sem_TagKind_StartSound )
sem_TagKind (TagKind_StartSound2 )  =
    (sem_TagKind_StartSound2 )
sem_TagKind (TagKind_SymbolClass )  =
    (sem_TagKind_SymbolClass )
sem_TagKind (TagKind_VideoFrame )  =
    (sem_TagKind_VideoFrame )
-- semantic domain
type T_TagKind  = ( )
sem_TagKind_CSMTextSettings :: T_TagKind 
sem_TagKind_CSMTextSettings  =
    ( )
sem_TagKind_DefineBinaryData :: T_TagKind 
sem_TagKind_DefineBinaryData  =
    ( )
sem_TagKind_DefineBits :: T_TagKind 
sem_TagKind_DefineBits  =
    ( )
sem_TagKind_DefineBitsJPEG2 :: T_TagKind 
sem_TagKind_DefineBitsJPEG2  =
    ( )
sem_TagKind_DefineBitsJPEG3 :: T_TagKind 
sem_TagKind_DefineBitsJPEG3  =
    ( )
sem_TagKind_DefineBitsJPEG4 :: T_TagKind 
sem_TagKind_DefineBitsJPEG4  =
    ( )
sem_TagKind_DefineBitsLossless :: T_TagKind 
sem_TagKind_DefineBitsLossless  =
    ( )
sem_TagKind_DefineBitsLossless2 :: T_TagKind 
sem_TagKind_DefineBitsLossless2  =
    ( )
sem_TagKind_DefineButton :: T_TagKind 
sem_TagKind_DefineButton  =
    ( )
sem_TagKind_DefineButton2 :: T_TagKind 
sem_TagKind_DefineButton2  =
    ( )
sem_TagKind_DefineButtonCxform :: T_TagKind 
sem_TagKind_DefineButtonCxform  =
    ( )
sem_TagKind_DefineButtonSound :: T_TagKind 
sem_TagKind_DefineButtonSound  =
    ( )
sem_TagKind_DefineEditText :: T_TagKind 
sem_TagKind_DefineEditText  =
    ( )
sem_TagKind_DefineFont :: T_TagKind 
sem_TagKind_DefineFont  =
    ( )
sem_TagKind_DefineFont2 :: T_TagKind 
sem_TagKind_DefineFont2  =
    ( )
sem_TagKind_DefineFont3 :: T_TagKind 
sem_TagKind_DefineFont3  =
    ( )
sem_TagKind_DefineFont4 :: T_TagKind 
sem_TagKind_DefineFont4  =
    ( )
sem_TagKind_DefineFontAlignZones :: T_TagKind 
sem_TagKind_DefineFontAlignZones  =
    ( )
sem_TagKind_DefineFontInfo :: T_TagKind 
sem_TagKind_DefineFontInfo  =
    ( )
sem_TagKind_DefineFontInfo2 :: T_TagKind 
sem_TagKind_DefineFontInfo2  =
    ( )
sem_TagKind_DefineFontName :: T_TagKind 
sem_TagKind_DefineFontName  =
    ( )
sem_TagKind_DefineMorphShape :: T_TagKind 
sem_TagKind_DefineMorphShape  =
    ( )
sem_TagKind_DefineMorphShape2 :: T_TagKind 
sem_TagKind_DefineMorphShape2  =
    ( )
sem_TagKind_DefineScalingGrid :: T_TagKind 
sem_TagKind_DefineScalingGrid  =
    ( )
sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind 
sem_TagKind_DefineSceneAndFrameLabelData  =
    ( )
sem_TagKind_DefineShape :: T_TagKind 
sem_TagKind_DefineShape  =
    ( )
sem_TagKind_DefineShape2 :: T_TagKind 
sem_TagKind_DefineShape2  =
    ( )
sem_TagKind_DefineShape3 :: T_TagKind 
sem_TagKind_DefineShape3  =
    ( )
sem_TagKind_DefineShape4 :: T_TagKind 
sem_TagKind_DefineShape4  =
    ( )
sem_TagKind_DefineSound :: T_TagKind 
sem_TagKind_DefineSound  =
    ( )
sem_TagKind_DefineSprite :: T_TagKind 
sem_TagKind_DefineSprite  =
    ( )
sem_TagKind_DefineText :: T_TagKind 
sem_TagKind_DefineText  =
    ( )
sem_TagKind_DefineText2 :: T_TagKind 
sem_TagKind_DefineText2  =
    ( )
sem_TagKind_DefineVideoStream :: T_TagKind 
sem_TagKind_DefineVideoStream  =
    ( )
sem_TagKind_DoABC :: T_TagKind 
sem_TagKind_DoABC  =
    ( )
sem_TagKind_DoAction :: T_TagKind 
sem_TagKind_DoAction  =
    ( )
sem_TagKind_DoInitAction :: T_TagKind 
sem_TagKind_DoInitAction  =
    ( )
sem_TagKind_EnableDebugger :: T_TagKind 
sem_TagKind_EnableDebugger  =
    ( )
sem_TagKind_EnableDebugger2 :: T_TagKind 
sem_TagKind_EnableDebugger2  =
    ( )
sem_TagKind_End :: T_TagKind 
sem_TagKind_End  =
    ( )
sem_TagKind_ExportAssets :: T_TagKind 
sem_TagKind_ExportAssets  =
    ( )
sem_TagKind_FileAttributes :: T_TagKind 
sem_TagKind_FileAttributes  =
    ( )
sem_TagKind_FrameLabel :: T_TagKind 
sem_TagKind_FrameLabel  =
    ( )
sem_TagKind_ImportAssets :: T_TagKind 
sem_TagKind_ImportAssets  =
    ( )
sem_TagKind_ImportAssets2 :: T_TagKind 
sem_TagKind_ImportAssets2  =
    ( )
sem_TagKind_JPEGTables :: T_TagKind 
sem_TagKind_JPEGTables  =
    ( )
sem_TagKind_Metadata :: T_TagKind 
sem_TagKind_Metadata  =
    ( )
sem_TagKind_Other :: Word16 ->
                     T_TagKind 
sem_TagKind_Other code_  =
    ( )
sem_TagKind_PlaceObject :: T_TagKind 
sem_TagKind_PlaceObject  =
    ( )
sem_TagKind_PlaceObject2 :: T_TagKind 
sem_TagKind_PlaceObject2  =
    ( )
sem_TagKind_PlaceObject3 :: T_TagKind 
sem_TagKind_PlaceObject3  =
    ( )
sem_TagKind_Protect :: T_TagKind 
sem_TagKind_Protect  =
    ( )
sem_TagKind_RemoveObject :: T_TagKind 
sem_TagKind_RemoveObject  =
    ( )
sem_TagKind_RemoveObject2 :: T_TagKind 
sem_TagKind_RemoveObject2  =
    ( )
sem_TagKind_ScriptLimits :: T_TagKind 
sem_TagKind_ScriptLimits  =
    ( )
sem_TagKind_SetBackgroundColor :: T_TagKind 
sem_TagKind_SetBackgroundColor  =
    ( )
sem_TagKind_SetTabIndex :: T_TagKind 
sem_TagKind_SetTabIndex  =
    ( )
sem_TagKind_ShowFrame :: T_TagKind 
sem_TagKind_ShowFrame  =
    ( )
sem_TagKind_SoundStreamBlock :: T_TagKind 
sem_TagKind_SoundStreamBlock  =
    ( )
sem_TagKind_SoundStreamHead :: T_TagKind 
sem_TagKind_SoundStreamHead  =
    ( )
sem_TagKind_SoundStreamHead2 :: T_TagKind 
sem_TagKind_SoundStreamHead2  =
    ( )
sem_TagKind_StartSound :: T_TagKind 
sem_TagKind_StartSound  =
    ( )
sem_TagKind_StartSound2 :: T_TagKind 
sem_TagKind_StartSound2  =
    ( )
sem_TagKind_SymbolClass :: T_TagKind 
sem_TagKind_SymbolClass  =
    ( )
sem_TagKind_VideoFrame :: T_TagKind 
sem_TagKind_VideoFrame  =
    ( )
-- Tags --------------------------------------------------------
-- cata
sem_Tags :: Tags  ->
            T_Tags 
sem_Tags list  =
    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )
-- semantic domain
type T_Tags  = ( )
sem_Tags_Cons :: T_Tag  ->
                 T_Tags  ->
                 T_Tags 
sem_Tags_Cons hd_ tl_  =
    ( )
sem_Tags_Nil :: T_Tags 
sem_Tags_Nil  =
    ( )
-- Trait -------------------------------------------------------
-- cata
sem_Trait :: Trait  ->
             T_Trait 
sem_Trait (Trait_Trait _name _data _attrs _meta )  =
    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )
-- semantic domain
type T_Trait  = ( )
sem_Trait_Trait :: Word32 ->
                   T_TraitData  ->
                   T_TraitAttrs  ->
                   T_TraitMeta  ->
                   T_Trait 
sem_Trait_Trait name_ data_ attrs_ meta_  =
    ( )
-- TraitAttr ---------------------------------------------------
-- cata
sem_TraitAttr :: TraitAttr  ->
                 T_TraitAttr 
sem_TraitAttr (TraitAttr_Final )  =
    (sem_TraitAttr_Final )
sem_TraitAttr (TraitAttr_Metadata )  =
    (sem_TraitAttr_Metadata )
sem_TraitAttr (TraitAttr_Override )  =
    (sem_TraitAttr_Override )
-- semantic domain
type T_TraitAttr  = ( )
sem_TraitAttr_Final :: T_TraitAttr 
sem_TraitAttr_Final  =
    ( )
sem_TraitAttr_Metadata :: T_TraitAttr 
sem_TraitAttr_Metadata  =
    ( )
sem_TraitAttr_Override :: T_TraitAttr 
sem_TraitAttr_Override  =
    ( )
-- TraitAttrs --------------------------------------------------
-- cata
sem_TraitAttrs :: TraitAttrs  ->
                  T_TraitAttrs 
sem_TraitAttrs list  =
    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )
-- semantic domain
type T_TraitAttrs  = ( )
sem_TraitAttrs_Cons :: T_TraitAttr  ->
                       T_TraitAttrs  ->
                       T_TraitAttrs 
sem_TraitAttrs_Cons hd_ tl_  =
    ( )
sem_TraitAttrs_Nil :: T_TraitAttrs 
sem_TraitAttrs_Nil  =
    ( )
-- TraitData ---------------------------------------------------
-- cata
sem_TraitData :: TraitData  ->
                 T_TraitData 
sem_TraitData (TraitData_Class _slotId _class )  =
    (sem_TraitData_Class _slotId _class )
sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =
    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )
sem_TraitData (TraitData_Function _dispId _method )  =
    (sem_TraitData_Function _dispId _method )
sem_TraitData (TraitData_Getter _dispId _method )  =
    (sem_TraitData_Getter _dispId _method )
sem_TraitData (TraitData_Method _dispId _method )  =
    (sem_TraitData_Method _dispId _method )
sem_TraitData (TraitData_Setter _dispId _method )  =
    (sem_TraitData_Setter _dispId _method )
sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =
    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )
-- semantic domain
type T_TraitData  = ( )
sem_TraitData_Class :: Word32 ->
                       Word32 ->
                       T_TraitData 
sem_TraitData_Class slotId_ class_  =
    ( )
sem_TraitData_Const :: Word32 ->
                       Word32 ->
                       Word32 ->
                       T_ValueKind  ->
                       T_TraitData 
sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =
    ( )
sem_TraitData_Function :: Word32 ->
                          Word32 ->
                          T_TraitData 
sem_TraitData_Function dispId_ method_  =
    ( )
sem_TraitData_Getter :: Word32 ->
                        Word32 ->
                        T_TraitData 
sem_TraitData_Getter dispId_ method_  =
    ( )
sem_TraitData_Method :: Word32 ->
                        Word32 ->
                        T_TraitData 
sem_TraitData_Method dispId_ method_  =
    ( )
sem_TraitData_Setter :: Word32 ->
                        Word32 ->
                        T_TraitData 
sem_TraitData_Setter dispId_ method_  =
    ( )
sem_TraitData_Slot :: Word32 ->
                      Word32 ->
                      Word32 ->
                      T_ValueKind  ->
                      T_TraitData 
sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =
    ( )
-- TraitKind ---------------------------------------------------
-- cata
sem_TraitKind :: TraitKind  ->
                 T_TraitKind 
sem_TraitKind (TraitKind_Class )  =
    (sem_TraitKind_Class )
sem_TraitKind (TraitKind_Const )  =
    (sem_TraitKind_Const )
sem_TraitKind (TraitKind_Function )  =
    (sem_TraitKind_Function )
sem_TraitKind (TraitKind_Getter )  =
    (sem_TraitKind_Getter )
sem_TraitKind (TraitKind_Method )  =
    (sem_TraitKind_Method )
sem_TraitKind (TraitKind_Setter )  =
    (sem_TraitKind_Setter )
sem_TraitKind (TraitKind_Slot )  =
    (sem_TraitKind_Slot )
-- semantic domain
type T_TraitKind  = ( )
sem_TraitKind_Class :: T_TraitKind 
sem_TraitKind_Class  =
    ( )
sem_TraitKind_Const :: T_TraitKind 
sem_TraitKind_Const  =
    ( )
sem_TraitKind_Function :: T_TraitKind 
sem_TraitKind_Function  =
    ( )
sem_TraitKind_Getter :: T_TraitKind 
sem_TraitKind_Getter  =
    ( )
sem_TraitKind_Method :: T_TraitKind 
sem_TraitKind_Method  =
    ( )
sem_TraitKind_Setter :: T_TraitKind 
sem_TraitKind_Setter  =
    ( )
sem_TraitKind_Slot :: T_TraitKind 
sem_TraitKind_Slot  =
    ( )
-- TraitMeta ---------------------------------------------------
-- cata
sem_TraitMeta :: TraitMeta  ->
                 T_TraitMeta 
sem_TraitMeta list  =
    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )
-- semantic domain
type T_TraitMeta  = ( )
sem_TraitMeta_Cons :: Word32 ->
                      T_TraitMeta  ->
                      T_TraitMeta 
sem_TraitMeta_Cons hd_ tl_  =
    ( )
sem_TraitMeta_Nil :: T_TraitMeta 
sem_TraitMeta_Nil  =
    ( )
-- Traits ------------------------------------------------------
-- cata
sem_Traits :: Traits  ->
              T_Traits 
sem_Traits list  =
    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )
-- semantic domain
type T_Traits  = ( )
sem_Traits_Cons :: T_Trait  ->
                   T_Traits  ->
                   T_Traits 
sem_Traits_Cons hd_ tl_  =
    ( )
sem_Traits_Nil :: T_Traits 
sem_Traits_Nil  =
    ( )
-- ValueKind ---------------------------------------------------
-- cata
sem_ValueKind :: ValueKind  ->
                 T_ValueKind 
sem_ValueKind (ValueKind_Double )  =
    (sem_ValueKind_Double )
sem_ValueKind (ValueKind_Explicit )  =
    (sem_ValueKind_Explicit )
sem_ValueKind (ValueKind_False )  =
    (sem_ValueKind_False )
sem_ValueKind (ValueKind_Int )  =
    (sem_ValueKind_Int )
sem_ValueKind (ValueKind_Internal )  =
    (sem_ValueKind_Internal )
sem_ValueKind (ValueKind_Namespace )  =
    (sem_ValueKind_Namespace )
sem_ValueKind (ValueKind_Null )  =
    (sem_ValueKind_Null )
sem_ValueKind (ValueKind_Package )  =
    (sem_ValueKind_Package )
sem_ValueKind (ValueKind_Private )  =
    (sem_ValueKind_Private )
sem_ValueKind (ValueKind_Protected )  =
    (sem_ValueKind_Protected )
sem_ValueKind (ValueKind_Static )  =
    (sem_ValueKind_Static )
sem_ValueKind (ValueKind_True )  =
    (sem_ValueKind_True )
sem_ValueKind (ValueKind_UInt )  =
    (sem_ValueKind_UInt )
sem_ValueKind (ValueKind_Undefined )  =
    (sem_ValueKind_Undefined )
sem_ValueKind (ValueKind_Utf8 )  =
    (sem_ValueKind_Utf8 )
-- semantic domain
type T_ValueKind  = ( )
sem_ValueKind_Double :: T_ValueKind 
sem_ValueKind_Double  =
    ( )
sem_ValueKind_Explicit :: T_ValueKind 
sem_ValueKind_Explicit  =
    ( )
sem_ValueKind_False :: T_ValueKind 
sem_ValueKind_False  =
    ( )
sem_ValueKind_Int :: T_ValueKind 
sem_ValueKind_Int  =
    ( )
sem_ValueKind_Internal :: T_ValueKind 
sem_ValueKind_Internal  =
    ( )
sem_ValueKind_Namespace :: T_ValueKind 
sem_ValueKind_Namespace  =
    ( )
sem_ValueKind_Null :: T_ValueKind 
sem_ValueKind_Null  =
    ( )
sem_ValueKind_Package :: T_ValueKind 
sem_ValueKind_Package  =
    ( )
sem_ValueKind_Private :: T_ValueKind 
sem_ValueKind_Private  =
    ( )
sem_ValueKind_Protected :: T_ValueKind 
sem_ValueKind_Protected  =
    ( )
sem_ValueKind_Static :: T_ValueKind 
sem_ValueKind_Static  =
    ( )
sem_ValueKind_True :: T_ValueKind 
sem_ValueKind_True  =
    ( )
sem_ValueKind_UInt :: T_ValueKind 
sem_ValueKind_UInt  =
    ( )
sem_ValueKind_Undefined :: T_ValueKind 
sem_ValueKind_Undefined  =
    ( )
sem_ValueKind_Utf8 :: T_ValueKind 
sem_ValueKind_Utf8  =
    ( )