packages feed

asil-1.2: dist/build/ByteCode.hs


-- UUAGC 0.9.36 (src/ByteCode.ag)
module ByteCode where

{-# LINE 6 "src/ByteCode.ag" #-}

import Data.Word
import Data.ByteString.Lazy(ByteString)
import Data.Bits
{-# LINE 12 "dist/src/sdist.27680/asil-1.2/dist/build/ByteCode.hs" #-}
{-# LINE 19 "src/ByteCode.ag" #-}

fromS24 :: Word32 -> Int
fromS24 w | testBit w 31 = negate (fromIntegral w)
          | otherwise    = fromIntegral w
{-# LINE 18 "dist/src/sdist.27680/asil-1.2/dist/build/ByteCode.hs" #-}

{-# LINE 27 "src/ByteCode.ag" #-}

type AbcFiles = [AbcFile]
type SwfFiles = [SwfFile]
{-# LINE 24 "dist/src/sdist.27680/asil-1.2/dist/build/ByteCode.hs" #-}
-- AbcFile -----------------------------------------------------
data AbcFile  = AbcFile_File !(Word16) !(Word16) !(PoolInfo ) !(MethodInfos ) !(MetaInfos ) !(InstanceInfos ) !(ClassInfos ) !(ScriptInfos ) !(BodyInfos ) 
              deriving ( Eq,Ord,Show)
-- AbcFlag -----------------------------------------------------
data AbcFlag  = AbcFlag_LazyInit 
              deriving ( Eq,Ord,Show)
-- AbcFlags ----------------------------------------------------
type AbcFlags  = [AbcFlag ]
-- BodyInfo ----------------------------------------------------
data BodyInfo  = BodyInfo_Info !(Word32) !(Word32) !(Word32) !(Word32) !(Word32) !(Instructions ) !(Exceptions ) !(Traits ) 
               deriving ( Eq,Ord,Show)
-- BodyInfos ---------------------------------------------------
type BodyInfos  = [BodyInfo ]
-- CaseOffsets -------------------------------------------------
type CaseOffsets  = [(Word32)]
-- ClassInfo ---------------------------------------------------
data ClassInfo  = ClassInfo_Info !(Word32) !(Traits ) 
                deriving ( Eq,Ord,Show)
-- ClassInfos --------------------------------------------------
type ClassInfos  = [ClassInfo ]
-- DebugType ---------------------------------------------------
data DebugType  = DebugType_Local 
                deriving ( Eq,Ord,Show)
-- Exception ---------------------------------------------------
data Exception  = Exception_Info !(Word32) !(Word32) !(Word32) !(Word32) !(Word32) 
                deriving ( Eq,Ord,Show)
-- Exceptions --------------------------------------------------
type Exceptions  = [Exception ]
-- InstanceFlag ------------------------------------------------
data InstanceFlag  = InstanceFlag_ClassFinal 
                   | InstanceFlag_ClassInterface 
                   | InstanceFlag_ClassProtected 
                   | InstanceFlag_ClassSealed 
                   deriving ( Eq,Ord,Show)
-- InstanceFlags -----------------------------------------------
type InstanceFlags  = [InstanceFlag ]
-- InstanceInfo ------------------------------------------------
data InstanceInfo  = InstanceInfo_Info !(Word32) !(Word32) !(InstanceFlags ) !(Word32) !(Interfaces ) !(Word32) !(Traits ) 
                   deriving ( Eq,Ord,Show)
-- InstanceInfos -----------------------------------------------
type InstanceInfos  = [InstanceInfo ]
-- Instruction -------------------------------------------------
data Instruction  = Instruction_Add 
                  | Instruction_Add_d 
                  | Instruction_Add_i 
                  | Instruction_ApplyType !(Word32) 
                  | Instruction_AsType !(Word32) 
                  | Instruction_AsTypeLate 
                  | Instruction_BitAnd 
                  | Instruction_BitNot 
                  | Instruction_BitOr 
                  | Instruction_BitXor 
                  | Instruction_BreakLine !(Word32) 
                  | Instruction_Breakpoint 
                  | Instruction_Call !(Word32) 
                  | Instruction_CallInterface !(Word32) !(Word32) 
                  | Instruction_CallMethod !(Word32) !(Word32) 
                  | Instruction_CallProp !(Word32) !(Word32) 
                  | Instruction_CallPropLex !(Word32) !(Word32) 
                  | Instruction_CallPropVoid !(Word32) !(Word32) 
                  | Instruction_CallStatic !(Word32) !(Word32) 
                  | Instruction_CallSuper !(Word32) !(Word32) 
                  | Instruction_CallSuperId 
                  | Instruction_CallSuperVoid !(Word32) !(Word32) 
                  | Instruction_CheckFilter 
                  | Instruction_Coerce !(Word32) 
                  | Instruction_Coerce_a 
                  | Instruction_Coerce_b 
                  | Instruction_Coerce_d 
                  | Instruction_Coerce_i 
                  | Instruction_Coerce_o 
                  | Instruction_Coerce_s 
                  | Instruction_Coerce_u 
                  | Instruction_Concat 
                  | Instruction_Construct !(Word32) 
                  | Instruction_ConstructProp !(Word32) !(Word32) 
                  | Instruction_ConstructSuper !(Word32) 
                  | Instruction_Convert_b 
                  | Instruction_Convert_d 
                  | Instruction_Convert_i 
                  | Instruction_Convert_o 
                  | Instruction_Convert_s 
                  | Instruction_Convert_u 
                  | Instruction_Debug !(DebugType ) !(Word32) !(Word32) !(Word32) 
                  | Instruction_DebugFile !(Word32) 
                  | Instruction_DebugLine !(Word32) 
                  | Instruction_DecLocal !(Word32) 
                  | Instruction_DecLocal_i !(Word32) 
                  | Instruction_Decrement 
                  | Instruction_Decrement_i 
                  | Instruction_DeleteProperty !(Word32) 
                  | Instruction_DeletePropertyLate 
                  | Instruction_Divide 
                  | Instruction_Dup 
                  | Instruction_Dxns !(Word32) 
                  | Instruction_DxnsLate 
                  | Instruction_Equals 
                  | Instruction_EscXAttr 
                  | Instruction_EscXElem 
                  | Instruction_FindDef !(Word32) 
                  | Instruction_FindPropStrict !(Word32) 
                  | Instruction_FindProperty !(Word32) 
                  | Instruction_FindPropertyGlobal !(Word32) 
                  | Instruction_FindPropertyGlobalStrict !(Word32) 
                  | Instruction_GetDescendants !(Word32) 
                  | Instruction_GetGlobalScope 
                  | Instruction_GetGlobalSlot !(Word32) 
                  | Instruction_GetLex !(Word32) 
                  | Instruction_GetLocal !(Word32) 
                  | Instruction_GetLocal0 
                  | Instruction_GetLocal1 
                  | Instruction_GetLocal2 
                  | Instruction_GetLocal3 
                  | Instruction_GetOuterScope !(Word32) 
                  | Instruction_GetProperty !(Word32) 
                  | Instruction_GetScopeObject !(Word8) 
                  | Instruction_GetSlot !(Word32) 
                  | Instruction_GetSuper !(Word32) 
                  | Instruction_GreaterEquals 
                  | Instruction_GreaterThan 
                  | Instruction_HasNext 
                  | Instruction_HasNext2 !(Word32) !(Word32) 
                  | Instruction_IfEq !(Word32) 
                  | Instruction_IfFalse !(Word32) 
                  | Instruction_IfGe !(Word32) 
                  | Instruction_IfGt !(Word32) 
                  | Instruction_IfLe !(Word32) 
                  | Instruction_IfLt !(Word32) 
                  | Instruction_IfNGe !(Word32) 
                  | Instruction_IfNGt !(Word32) 
                  | Instruction_IfNLe !(Word32) 
                  | Instruction_IfNLt !(Word32) 
                  | Instruction_IfNe !(Word32) 
                  | Instruction_IfStrictEq !(Word32) 
                  | Instruction_IfStrictNe !(Word32) 
                  | Instruction_IfTrue !(Word32) 
                  | Instruction_In 
                  | Instruction_IncLocal !(Word32) 
                  | Instruction_IncLocal_i !(Word32) 
                  | Instruction_Increment 
                  | Instruction_Increment_i 
                  | Instruction_InitProperty !(Word32) 
                  | Instruction_InstanceOf 
                  | Instruction_IsType !(Word32) 
                  | Instruction_IsTypeLate 
                  | Instruction_Jump !(Word32) 
                  | Instruction_Kill !(Word32) 
                  | Instruction_Label 
                  | Instruction_LessEquals 
                  | Instruction_LessThan 
                  | Instruction_LoadFloat32 
                  | Instruction_LoadFloat64 
                  | Instruction_LoadIndirect16 
                  | Instruction_LoadIndirect32 
                  | Instruction_LoadIndirect8 
                  | Instruction_Location !(Int) 
                  | Instruction_LookupSwitch !(Word32) !(CaseOffsets ) 
                  | Instruction_Lshift 
                  | Instruction_Modulo 
                  | Instruction_Multiply 
                  | Instruction_Multiply_i 
                  | Instruction_Negate 
                  | Instruction_Negate_i 
                  | Instruction_NewActivation 
                  | Instruction_NewArray !(Word32) 
                  | Instruction_NewCatch !(Word32) 
                  | Instruction_NewClass !(Word32) 
                  | Instruction_NewFunction !(Word32) 
                  | Instruction_NewObject !(Word32) 
                  | Instruction_NextName 
                  | Instruction_NextValue 
                  | Instruction_Nop 
                  | Instruction_Not 
                  | Instruction_Pop 
                  | Instruction_PopScope 
                  | Instruction_PushByte !(Word8) 
                  | Instruction_PushDouble !(Word32) 
                  | Instruction_PushFalse 
                  | Instruction_PushInt !(Word32) 
                  | Instruction_PushNaN 
                  | Instruction_PushNamespace !(Word32) 
                  | Instruction_PushNull 
                  | Instruction_PushScope 
                  | Instruction_PushShort !(Word32) 
                  | Instruction_PushString !(Word32) 
                  | Instruction_PushTrue 
                  | Instruction_PushUInt !(Word32) 
                  | Instruction_PushUndefined 
                  | Instruction_PushWith 
                  | Instruction_ReturnValue 
                  | Instruction_ReturnVoid 
                  | Instruction_Rshift 
                  | Instruction_SetGlobalSlot !(Word32) 
                  | Instruction_SetLocal !(Word32) 
                  | Instruction_SetLocal0 
                  | Instruction_SetLocal1 
                  | Instruction_SetLocal2 
                  | Instruction_SetLocal3 
                  | Instruction_SetProperty !(Word32) 
                  | Instruction_SetPropertyLate 
                  | Instruction_SetSlot !(Word32) 
                  | Instruction_SetSuper !(Word32) 
                  | Instruction_SignExtend1 
                  | Instruction_SignExtend16 
                  | Instruction_SignExtend8 
                  | Instruction_StoreFloat32 
                  | Instruction_StoreFloat64 
                  | Instruction_StoreIndirect16 
                  | Instruction_StoreIndirect32 
                  | Instruction_StoreIndirect8 
                  | Instruction_StrictEquals 
                  | Instruction_Substract 
                  | Instruction_Substract_i 
                  | Instruction_Swap 
                  | Instruction_Throw 
                  | Instruction_Timestamp 
                  | Instruction_TypeOf 
                  | Instruction_Urshift 
                  deriving ( Eq,Ord,Show)
-- Instructions ------------------------------------------------
type Instructions  = [Instruction ]
-- Interfaces --------------------------------------------------
type Interfaces  = [(Word32)]
-- MetaInfo ----------------------------------------------------
data MetaInfo  = MetaInfo_Info !(Word32) !(MetaItems ) 
               deriving ( Eq,Ord,Show)
-- MetaInfos ---------------------------------------------------
type MetaInfos  = [MetaInfo ]
-- MetaItem ----------------------------------------------------
data MetaItem  = MetaItem_Item !(Word32) !(Word32) 
               deriving ( Eq,Ord,Show)
-- MetaItems ---------------------------------------------------
type MetaItems  = [MetaItem ]
-- MethodFlag --------------------------------------------------
data MethodFlag  = MethodFlag_HasOptionals 
                 | MethodFlag_HasParamNames 
                 | MethodFlag_NeedAct 
                 | MethodFlag_NeedArgs 
                 | MethodFlag_NeedRest 
                 | MethodFlag_SetDXNS 
                 deriving ( Eq,Ord,Show)
-- MethodFlags -------------------------------------------------
type MethodFlags  = [MethodFlag ]
-- MethodInfo --------------------------------------------------
data MethodInfo  = MethodInfo_Info !(Word32) !(ParamTypes ) !(Word32) !(MethodFlags ) !(Optionals ) !(ParamNames ) 
                 deriving ( Eq,Ord,Show)
-- MethodInfos -------------------------------------------------
type MethodInfos  = [MethodInfo ]
-- MultinameInfo -----------------------------------------------
data MultinameInfo  = MultinameInfo_Generic !(Word32) !(ParamNames ) 
                    | MultinameInfo_Multiname !(Word32) !(Word32) 
                    | MultinameInfo_MultinameA !(Word32) !(Word32) 
                    | MultinameInfo_MultinameL !(Word32) 
                    | MultinameInfo_MultinameLA !(Word32) 
                    | MultinameInfo_QName !(Word32) !(Word32) 
                    | MultinameInfo_QNameA !(Word32) !(Word32) 
                    | MultinameInfo_RTQName !(Word32) 
                    | MultinameInfo_RTQNameA !(Word32) 
                    | MultinameInfo_RTQNameL 
                    | MultinameInfo_RTQNameLA 
                    deriving ( Eq,Ord,Show)
-- MultinameInfos ----------------------------------------------
type MultinameInfos  = [MultinameInfo ]
-- MultinameKind -----------------------------------------------
data MultinameKind  = MultinameKind_Generic 
                    | MultinameKind_Multiname 
                    | MultinameKind_MultinameA 
                    | MultinameKind_MultinameL 
                    | MultinameKind_MultinameLA 
                    | MultinameKind_QName 
                    | MultinameKind_QNameA 
                    | MultinameKind_RTQName 
                    | MultinameKind_RTQNameA 
                    | MultinameKind_RTQNameL 
                    | MultinameKind_RTQNameLA 
                    deriving ( Eq,Ord,Show)
-- NamespaceInfo -----------------------------------------------
data NamespaceInfo  = NamespaceInfo_Info !(NamespaceKind ) !(Word32) 
                    deriving ( Eq,Ord,Show)
-- NamespaceInfos ----------------------------------------------
type NamespaceInfos  = [NamespaceInfo ]
-- NamespaceKind -----------------------------------------------
data NamespaceKind  = NamespaceKind_Explicit 
                    | NamespaceKind_General 
                    | NamespaceKind_Internal 
                    | NamespaceKind_Package 
                    | NamespaceKind_Private 
                    | NamespaceKind_Protected 
                    | NamespaceKind_Static 
                    deriving ( Eq,Ord,Show)
-- NamespaceNames ----------------------------------------------
type NamespaceNames  = [(Word32)]
-- Optional ----------------------------------------------------
data Optional  = Optional_Detail !(Word32) !(ValueKind ) 
               deriving ( Eq,Ord,Show)
-- Optionals ---------------------------------------------------
type Optionals  = [Optional ]
-- ParamNames --------------------------------------------------
type ParamNames  = [(Word32)]
-- ParamTypes --------------------------------------------------
type ParamTypes  = [(Word32)]
-- PoolDoubles -------------------------------------------------
type PoolDoubles  = [(Double)]
-- PoolInfo ----------------------------------------------------
data PoolInfo  = PoolInfo_Info !(PoolInts ) !(PoolUInts ) !(PoolDoubles ) !(PoolStrings ) !(NamespaceInfos ) !(SetInfos ) !(MultinameInfos ) 
               deriving ( Eq,Ord,Show)
-- PoolInts ----------------------------------------------------
type PoolInts  = [(Word32)]
-- PoolStrings -------------------------------------------------
type PoolStrings  = [(ByteString)]
-- PoolUInts ---------------------------------------------------
type PoolUInts  = [(Word32)]
-- Rect --------------------------------------------------------
data Rect  = Rect_Rect !(Int) !(Word32) !(Word32) !(Word32) !(Word32) 
           deriving ( Eq,Ord,Show)
-- ScriptInfo --------------------------------------------------
data ScriptInfo  = ScriptInfo_Info !(Word32) !(Traits ) 
                 deriving ( Eq,Ord,Show)
-- ScriptInfos -------------------------------------------------
type ScriptInfos  = [ScriptInfo ]
-- SetInfo -----------------------------------------------------
data SetInfo  = SetInfo_Info !(NamespaceNames ) 
              deriving ( Eq,Ord,Show)
-- SetInfos ----------------------------------------------------
type SetInfos  = [SetInfo ]
-- SwfFile -----------------------------------------------------
data SwfFile  = SwfFile_File !(Bool) !(Word8) !(Word32) !(Rect ) !(Word16) !(Word16) !(Tags ) 
              deriving ( Eq,Ord,Show)
-- Tag ---------------------------------------------------------
data Tag  = Tag_Abc !(AbcFlags ) !(ByteString) !(AbcFile ) 
          | Tag_End 
          | Tag_FileAttributes !(Bool) !(Bool) !(Bool) !(Bool) !(Bool) 
          | Tag_Opaque !(TagKind ) !(Word32) !(ByteString) 
          deriving ( Eq,Ord,Show)
-- TagKind -----------------------------------------------------
data TagKind  = TagKind_CSMTextSettings 
              | TagKind_DefineBinaryData 
              | TagKind_DefineBits 
              | TagKind_DefineBitsJPEG2 
              | TagKind_DefineBitsJPEG3 
              | TagKind_DefineBitsJPEG4 
              | TagKind_DefineBitsLossless 
              | TagKind_DefineBitsLossless2 
              | TagKind_DefineButton 
              | TagKind_DefineButton2 
              | TagKind_DefineButtonCxform 
              | TagKind_DefineButtonSound 
              | TagKind_DefineEditText 
              | TagKind_DefineFont 
              | TagKind_DefineFont2 
              | TagKind_DefineFont3 
              | TagKind_DefineFont4 
              | TagKind_DefineFontAlignZones 
              | TagKind_DefineFontInfo 
              | TagKind_DefineFontInfo2 
              | TagKind_DefineFontName 
              | TagKind_DefineMorphShape 
              | TagKind_DefineMorphShape2 
              | TagKind_DefineScalingGrid 
              | TagKind_DefineSceneAndFrameLabelData 
              | TagKind_DefineShape 
              | TagKind_DefineShape2 
              | TagKind_DefineShape3 
              | TagKind_DefineShape4 
              | TagKind_DefineSound 
              | TagKind_DefineSprite 
              | TagKind_DefineText 
              | TagKind_DefineText2 
              | TagKind_DefineVideoStream 
              | TagKind_DoABC 
              | TagKind_DoAction 
              | TagKind_DoInitAction 
              | TagKind_EnableDebugger 
              | TagKind_EnableDebugger2 
              | TagKind_End 
              | TagKind_ExportAssets 
              | TagKind_FileAttributes 
              | TagKind_FrameLabel 
              | TagKind_ImportAssets 
              | TagKind_ImportAssets2 
              | TagKind_JPEGTables 
              | TagKind_Metadata 
              | TagKind_Other !(Word16) 
              | TagKind_PlaceObject 
              | TagKind_PlaceObject2 
              | TagKind_PlaceObject3 
              | TagKind_Protect 
              | TagKind_RemoveObject 
              | TagKind_RemoveObject2 
              | TagKind_ScriptLimits 
              | TagKind_SetBackgroundColor 
              | TagKind_SetTabIndex 
              | TagKind_ShowFrame 
              | TagKind_SoundStreamBlock 
              | TagKind_SoundStreamHead 
              | TagKind_SoundStreamHead2 
              | TagKind_StartSound 
              | TagKind_StartSound2 
              | TagKind_SymbolClass 
              | TagKind_VideoFrame 
              deriving ( Eq,Ord,Show)
-- Tags --------------------------------------------------------
type Tags  = [Tag ]
-- Trait -------------------------------------------------------
data Trait  = Trait_Trait !(Word32) !(TraitData ) !(TraitAttrs ) !(TraitMeta ) 
            deriving ( Eq,Ord,Show)
-- TraitAttr ---------------------------------------------------
data TraitAttr  = TraitAttr_Final 
                | TraitAttr_Metadata 
                | TraitAttr_Override 
                deriving ( Eq,Ord,Show)
-- TraitAttrs --------------------------------------------------
type TraitAttrs  = [TraitAttr ]
-- TraitData ---------------------------------------------------
data TraitData  = TraitData_Class !(Word32) !(Word32) 
                | TraitData_Const !(Word32) !(Word32) !(Word32) !(ValueKind ) 
                | TraitData_Function !(Word32) !(Word32) 
                | TraitData_Getter !(Word32) !(Word32) 
                | TraitData_Method !(Word32) !(Word32) 
                | TraitData_Setter !(Word32) !(Word32) 
                | TraitData_Slot !(Word32) !(Word32) !(Word32) !(ValueKind ) 
                deriving ( Eq,Ord,Show)
-- TraitKind ---------------------------------------------------
data TraitKind  = TraitKind_Class 
                | TraitKind_Const 
                | TraitKind_Function 
                | TraitKind_Getter 
                | TraitKind_Method 
                | TraitKind_Setter 
                | TraitKind_Slot 
                deriving ( Eq,Ord,Show)
-- TraitMeta ---------------------------------------------------
type TraitMeta  = [(Word32)]
-- Traits ------------------------------------------------------
type Traits  = [Trait ]
-- ValueKind ---------------------------------------------------
data ValueKind  = ValueKind_Double 
                | ValueKind_Explicit 
                | ValueKind_False 
                | ValueKind_Int 
                | ValueKind_Internal 
                | ValueKind_Namespace 
                | ValueKind_Null 
                | ValueKind_Package 
                | ValueKind_Private 
                | ValueKind_Protected 
                | ValueKind_Static 
                | ValueKind_True 
                | ValueKind_UInt 
                | ValueKind_Undefined 
                | ValueKind_Utf8 
                deriving ( Eq,Ord,Show)