module Binrep.Type.Assembly where import GHC.Generics ( Generic ) import Data.Data ( Typeable, Data ) import Data.ByteString.Short ( ShortByteString ) import Data.ByteString ( ByteString ) import Data.Text.Short ( ShortText ) import Data.Aeson ( ToJSON, FromJSON ) import Binrep.Extra.HexByteString import Binrep data Arch = ArmV8ThumbLE deriving stock ((forall x. Arch -> Rep Arch x) -> (forall x. Rep Arch x -> Arch) -> Generic Arch forall x. Rep Arch x -> Arch forall x. Arch -> Rep Arch x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep Arch x -> Arch $cfrom :: forall x. Arch -> Rep Arch x Generic, Typeable, Typeable Arch Typeable Arch -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Arch -> c Arch) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Arch) -> (Arch -> Constr) -> (Arch -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Arch)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Arch)) -> ((forall b. Data b => b -> b) -> Arch -> Arch) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r) -> (forall u. (forall d. Data d => d -> u) -> Arch -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> Arch -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Arch -> m Arch) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch) -> Data Arch Arch -> DataType Arch -> Constr (forall b. Data b => b -> b) -> Arch -> Arch forall a. Typeable a -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> Arch -> u forall u. (forall d. Data d => d -> u) -> Arch -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Arch -> m Arch forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Arch forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Arch -> c Arch forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Arch) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Arch) gmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch gmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch gmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Arch -> m Arch $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Arch -> m Arch gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Arch -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Arch -> u gmapQ :: forall u. (forall d. Data d => d -> u) -> Arch -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> Arch -> [u] gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r gmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r gmapT :: (forall b. Data b => b -> b) -> Arch -> Arch $cgmapT :: (forall b. Data b => b -> b) -> Arch -> Arch dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Arch) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Arch) dataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Arch) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Arch) dataTypeOf :: Arch -> DataType $cdataTypeOf :: Arch -> DataType toConstr :: Arch -> Constr $ctoConstr :: Arch -> Constr gunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Arch $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Arch gfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Arch -> c Arch $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Arch -> c Arch Data, Int -> Arch -> ShowS [Arch] -> ShowS Arch -> String (Int -> Arch -> ShowS) -> (Arch -> String) -> ([Arch] -> ShowS) -> Show Arch forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Arch] -> ShowS $cshowList :: [Arch] -> ShowS show :: Arch -> String $cshow :: Arch -> String showsPrec :: Int -> Arch -> ShowS $cshowsPrec :: Int -> Arch -> ShowS Show, Arch -> Arch -> Bool (Arch -> Arch -> Bool) -> (Arch -> Arch -> Bool) -> Eq Arch forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Arch -> Arch -> Bool $c/= :: Arch -> Arch -> Bool == :: Arch -> Arch -> Bool $c== :: Arch -> Arch -> Bool Eq) newtype MachineInstr (arch :: Arch) = MachineInstr { forall (arch :: Arch). MachineInstr arch -> ShortByteString getMachineInstr :: ShortByteString } deriving stock ((forall x. MachineInstr arch -> Rep (MachineInstr arch) x) -> (forall x. Rep (MachineInstr arch) x -> MachineInstr arch) -> Generic (MachineInstr arch) forall x. Rep (MachineInstr arch) x -> MachineInstr arch forall x. MachineInstr arch -> Rep (MachineInstr arch) x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall (arch :: Arch) x. Rep (MachineInstr arch) x -> MachineInstr arch forall (arch :: Arch) x. MachineInstr arch -> Rep (MachineInstr arch) x $cto :: forall (arch :: Arch) x. Rep (MachineInstr arch) x -> MachineInstr arch $cfrom :: forall (arch :: Arch) x. MachineInstr arch -> Rep (MachineInstr arch) x Generic, Typeable, Typeable (MachineInstr arch) Typeable (MachineInstr arch) -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineInstr arch -> c (MachineInstr arch)) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineInstr arch)) -> (MachineInstr arch -> Constr) -> (MachineInstr arch -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MachineInstr arch))) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineInstr arch))) -> ((forall b. Data b => b -> b) -> MachineInstr arch -> MachineInstr arch) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r) -> (forall u. (forall d. Data d => d -> u) -> MachineInstr arch -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> MachineInstr arch -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch)) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch)) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch)) -> Data (MachineInstr arch) MachineInstr arch -> DataType MachineInstr arch -> Constr (forall b. Data b => b -> b) -> MachineInstr arch -> MachineInstr arch forall a. Typeable a -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> MachineInstr arch -> u forall u. (forall d. Data d => d -> u) -> MachineInstr arch -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r forall {arch :: Arch}. Typeable arch => Typeable (MachineInstr arch) forall (arch :: Arch). Typeable arch => MachineInstr arch -> DataType forall (arch :: Arch). Typeable arch => MachineInstr arch -> Constr forall (arch :: Arch). Typeable arch => (forall b. Data b => b -> b) -> MachineInstr arch -> MachineInstr arch forall (arch :: Arch) u. Typeable arch => Int -> (forall d. Data d => d -> u) -> MachineInstr arch -> u forall (arch :: Arch) u. Typeable arch => (forall d. Data d => d -> u) -> MachineInstr arch -> [u] forall (arch :: Arch) r r'. Typeable arch => (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r forall (arch :: Arch) r r'. Typeable arch => (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r forall (arch :: Arch) (m :: * -> *). (Typeable arch, Monad m) => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) forall (arch :: Arch) (m :: * -> *). (Typeable arch, MonadPlus m) => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineInstr arch) forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineInstr arch -> c (MachineInstr arch) forall (arch :: Arch) (t :: * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d. Data d => c (t d)) -> Maybe (c (MachineInstr arch)) forall (arch :: Arch) (t :: * -> * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineInstr arch)) forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineInstr arch) forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineInstr arch -> c (MachineInstr arch) forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MachineInstr arch)) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineInstr arch)) gmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) $cgmapMo :: forall (arch :: Arch) (m :: * -> *). (Typeable arch, MonadPlus m) => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) gmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) $cgmapMp :: forall (arch :: Arch) (m :: * -> *). (Typeable arch, MonadPlus m) => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) gmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) $cgmapM :: forall (arch :: Arch) (m :: * -> *). (Typeable arch, Monad m) => (forall d. Data d => d -> m d) -> MachineInstr arch -> m (MachineInstr arch) gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> MachineInstr arch -> u $cgmapQi :: forall (arch :: Arch) u. Typeable arch => Int -> (forall d. Data d => d -> u) -> MachineInstr arch -> u gmapQ :: forall u. (forall d. Data d => d -> u) -> MachineInstr arch -> [u] $cgmapQ :: forall (arch :: Arch) u. Typeable arch => (forall d. Data d => d -> u) -> MachineInstr arch -> [u] gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r $cgmapQr :: forall (arch :: Arch) r r'. Typeable arch => (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r gmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r $cgmapQl :: forall (arch :: Arch) r r'. Typeable arch => (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineInstr arch -> r gmapT :: (forall b. Data b => b -> b) -> MachineInstr arch -> MachineInstr arch $cgmapT :: forall (arch :: Arch). Typeable arch => (forall b. Data b => b -> b) -> MachineInstr arch -> MachineInstr arch dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineInstr arch)) $cdataCast2 :: forall (arch :: Arch) (t :: * -> * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineInstr arch)) dataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MachineInstr arch)) $cdataCast1 :: forall (arch :: Arch) (t :: * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d. Data d => c (t d)) -> Maybe (c (MachineInstr arch)) dataTypeOf :: MachineInstr arch -> DataType $cdataTypeOf :: forall (arch :: Arch). Typeable arch => MachineInstr arch -> DataType toConstr :: MachineInstr arch -> Constr $ctoConstr :: forall (arch :: Arch). Typeable arch => MachineInstr arch -> Constr gunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineInstr arch) $cgunfold :: forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineInstr arch) gfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineInstr arch -> c (MachineInstr arch) $cgfoldl :: forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineInstr arch -> c (MachineInstr arch) Data) deriving Int -> MachineInstr arch -> ShowS [MachineInstr arch] -> ShowS MachineInstr arch -> String (Int -> MachineInstr arch -> ShowS) -> (MachineInstr arch -> String) -> ([MachineInstr arch] -> ShowS) -> Show (MachineInstr arch) forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a forall (arch :: Arch). Int -> MachineInstr arch -> ShowS forall (arch :: Arch). [MachineInstr arch] -> ShowS forall (arch :: Arch). MachineInstr arch -> String showList :: [MachineInstr arch] -> ShowS $cshowList :: forall (arch :: Arch). [MachineInstr arch] -> ShowS show :: MachineInstr arch -> String $cshow :: forall (arch :: Arch). MachineInstr arch -> String showsPrec :: Int -> MachineInstr arch -> ShowS $cshowsPrec :: forall (arch :: Arch). Int -> MachineInstr arch -> ShowS Show via (Hex ShortByteString) newtype MachineCode (arch :: Arch) = MachineCode { forall (arch :: Arch). MachineCode arch -> ByteString getMachineCode :: ByteString } deriving stock ((forall x. MachineCode arch -> Rep (MachineCode arch) x) -> (forall x. Rep (MachineCode arch) x -> MachineCode arch) -> Generic (MachineCode arch) forall x. Rep (MachineCode arch) x -> MachineCode arch forall x. MachineCode arch -> Rep (MachineCode arch) x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall (arch :: Arch) x. Rep (MachineCode arch) x -> MachineCode arch forall (arch :: Arch) x. MachineCode arch -> Rep (MachineCode arch) x $cto :: forall (arch :: Arch) x. Rep (MachineCode arch) x -> MachineCode arch $cfrom :: forall (arch :: Arch) x. MachineCode arch -> Rep (MachineCode arch) x Generic, Typeable, Typeable (MachineCode arch) Typeable (MachineCode arch) -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineCode arch -> c (MachineCode arch)) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineCode arch)) -> (MachineCode arch -> Constr) -> (MachineCode arch -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MachineCode arch))) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineCode arch))) -> ((forall b. Data b => b -> b) -> MachineCode arch -> MachineCode arch) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r) -> (forall u. (forall d. Data d => d -> u) -> MachineCode arch -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> MachineCode arch -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch)) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch)) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch)) -> Data (MachineCode arch) MachineCode arch -> DataType MachineCode arch -> Constr (forall b. Data b => b -> b) -> MachineCode arch -> MachineCode arch forall a. Typeable a -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> MachineCode arch -> u forall u. (forall d. Data d => d -> u) -> MachineCode arch -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r forall {arch :: Arch}. Typeable arch => Typeable (MachineCode arch) forall (arch :: Arch). Typeable arch => MachineCode arch -> DataType forall (arch :: Arch). Typeable arch => MachineCode arch -> Constr forall (arch :: Arch). Typeable arch => (forall b. Data b => b -> b) -> MachineCode arch -> MachineCode arch forall (arch :: Arch) u. Typeable arch => Int -> (forall d. Data d => d -> u) -> MachineCode arch -> u forall (arch :: Arch) u. Typeable arch => (forall d. Data d => d -> u) -> MachineCode arch -> [u] forall (arch :: Arch) r r'. Typeable arch => (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r forall (arch :: Arch) r r'. Typeable arch => (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r forall (arch :: Arch) (m :: * -> *). (Typeable arch, Monad m) => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) forall (arch :: Arch) (m :: * -> *). (Typeable arch, MonadPlus m) => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineCode arch) forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineCode arch -> c (MachineCode arch) forall (arch :: Arch) (t :: * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d. Data d => c (t d)) -> Maybe (c (MachineCode arch)) forall (arch :: Arch) (t :: * -> * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineCode arch)) forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineCode arch) forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineCode arch -> c (MachineCode arch) forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MachineCode arch)) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineCode arch)) gmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) $cgmapMo :: forall (arch :: Arch) (m :: * -> *). (Typeable arch, MonadPlus m) => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) gmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) $cgmapMp :: forall (arch :: Arch) (m :: * -> *). (Typeable arch, MonadPlus m) => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) gmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) $cgmapM :: forall (arch :: Arch) (m :: * -> *). (Typeable arch, Monad m) => (forall d. Data d => d -> m d) -> MachineCode arch -> m (MachineCode arch) gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> MachineCode arch -> u $cgmapQi :: forall (arch :: Arch) u. Typeable arch => Int -> (forall d. Data d => d -> u) -> MachineCode arch -> u gmapQ :: forall u. (forall d. Data d => d -> u) -> MachineCode arch -> [u] $cgmapQ :: forall (arch :: Arch) u. Typeable arch => (forall d. Data d => d -> u) -> MachineCode arch -> [u] gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r $cgmapQr :: forall (arch :: Arch) r r'. Typeable arch => (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r gmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r $cgmapQl :: forall (arch :: Arch) r r'. Typeable arch => (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MachineCode arch -> r gmapT :: (forall b. Data b => b -> b) -> MachineCode arch -> MachineCode arch $cgmapT :: forall (arch :: Arch). Typeable arch => (forall b. Data b => b -> b) -> MachineCode arch -> MachineCode arch dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineCode arch)) $cdataCast2 :: forall (arch :: Arch) (t :: * -> * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (MachineCode arch)) dataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MachineCode arch)) $cdataCast1 :: forall (arch :: Arch) (t :: * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d. Data d => c (t d)) -> Maybe (c (MachineCode arch)) dataTypeOf :: MachineCode arch -> DataType $cdataTypeOf :: forall (arch :: Arch). Typeable arch => MachineCode arch -> DataType toConstr :: MachineCode arch -> Constr $ctoConstr :: forall (arch :: Arch). Typeable arch => MachineCode arch -> Constr gunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineCode arch) $cgunfold :: forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MachineCode arch) gfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineCode arch -> c (MachineCode arch) $cgfoldl :: forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MachineCode arch -> c (MachineCode arch) Data) deriving MachineCode arch -> MachineCode arch -> Bool (MachineCode arch -> MachineCode arch -> Bool) -> (MachineCode arch -> MachineCode arch -> Bool) -> Eq (MachineCode arch) forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a forall (arch :: Arch). MachineCode arch -> MachineCode arch -> Bool /= :: MachineCode arch -> MachineCode arch -> Bool $c/= :: forall (arch :: Arch). MachineCode arch -> MachineCode arch -> Bool == :: MachineCode arch -> MachineCode arch -> Bool $c== :: forall (arch :: Arch). MachineCode arch -> MachineCode arch -> Bool Eq via ByteString deriving Int -> MachineCode arch -> ShowS [MachineCode arch] -> ShowS MachineCode arch -> String (Int -> MachineCode arch -> ShowS) -> (MachineCode arch -> String) -> ([MachineCode arch] -> ShowS) -> Show (MachineCode arch) forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a forall (arch :: Arch). Int -> MachineCode arch -> ShowS forall (arch :: Arch). [MachineCode arch] -> ShowS forall (arch :: Arch). MachineCode arch -> String showList :: [MachineCode arch] -> ShowS $cshowList :: forall (arch :: Arch). [MachineCode arch] -> ShowS show :: MachineCode arch -> String $cshow :: forall (arch :: Arch). MachineCode arch -> String showsPrec :: Int -> MachineCode arch -> ShowS $cshowsPrec :: forall (arch :: Arch). Int -> MachineCode arch -> ShowS Show via (Hex ByteString) deriving (MachineCode arch -> Int (MachineCode arch -> Int) -> BLen (MachineCode arch) forall a. (a -> Int) -> BLen a forall (arch :: Arch). MachineCode arch -> Int blen :: MachineCode arch -> Int $cblen :: forall (arch :: Arch). MachineCode arch -> Int BLen, MachineCode arch -> Builder (MachineCode arch -> Builder) -> Put (MachineCode arch) forall a. (a -> Builder) -> Put a forall (arch :: Arch). MachineCode arch -> Builder put :: MachineCode arch -> Builder $cput :: forall (arch :: Arch). MachineCode arch -> Builder Put, Getter (MachineCode arch) Getter (MachineCode arch) -> Get (MachineCode arch) forall a. Getter a -> Get a forall (arch :: Arch). Getter (MachineCode arch) get :: Getter (MachineCode arch) $cget :: forall (arch :: Arch). Getter (MachineCode arch) Get) via ByteString newtype AsmInstr (arch :: Arch) = AsmInstr { forall (arch :: Arch). AsmInstr arch -> ShortText getAsmInstr :: ShortText } deriving stock ((forall x. AsmInstr arch -> Rep (AsmInstr arch) x) -> (forall x. Rep (AsmInstr arch) x -> AsmInstr arch) -> Generic (AsmInstr arch) forall x. Rep (AsmInstr arch) x -> AsmInstr arch forall x. AsmInstr arch -> Rep (AsmInstr arch) x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall (arch :: Arch) x. Rep (AsmInstr arch) x -> AsmInstr arch forall (arch :: Arch) x. AsmInstr arch -> Rep (AsmInstr arch) x $cto :: forall (arch :: Arch) x. Rep (AsmInstr arch) x -> AsmInstr arch $cfrom :: forall (arch :: Arch) x. AsmInstr arch -> Rep (AsmInstr arch) x Generic, Typeable, Typeable (AsmInstr arch) Typeable (AsmInstr arch) -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AsmInstr arch -> c (AsmInstr arch)) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AsmInstr arch)) -> (AsmInstr arch -> Constr) -> (AsmInstr arch -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AsmInstr arch))) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AsmInstr arch))) -> ((forall b. Data b => b -> b) -> AsmInstr arch -> AsmInstr arch) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r) -> (forall u. (forall d. Data d => d -> u) -> AsmInstr arch -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> AsmInstr arch -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch)) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch)) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch)) -> Data (AsmInstr arch) AsmInstr arch -> DataType AsmInstr arch -> Constr (forall b. Data b => b -> b) -> AsmInstr arch -> AsmInstr arch forall a. Typeable a -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> AsmInstr arch -> u forall u. (forall d. Data d => d -> u) -> AsmInstr arch -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r forall {arch :: Arch}. Typeable arch => Typeable (AsmInstr arch) forall (arch :: Arch). Typeable arch => AsmInstr arch -> DataType forall (arch :: Arch). Typeable arch => AsmInstr arch -> Constr forall (arch :: Arch). Typeable arch => (forall b. Data b => b -> b) -> AsmInstr arch -> AsmInstr arch forall (arch :: Arch) u. Typeable arch => Int -> (forall d. Data d => d -> u) -> AsmInstr arch -> u forall (arch :: Arch) u. Typeable arch => (forall d. Data d => d -> u) -> AsmInstr arch -> [u] forall (arch :: Arch) r r'. Typeable arch => (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r forall (arch :: Arch) r r'. Typeable arch => (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r forall (arch :: Arch) (m :: * -> *). (Typeable arch, Monad m) => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) forall (arch :: Arch) (m :: * -> *). (Typeable arch, MonadPlus m) => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AsmInstr arch) forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AsmInstr arch -> c (AsmInstr arch) forall (arch :: Arch) (t :: * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d. Data d => c (t d)) -> Maybe (c (AsmInstr arch)) forall (arch :: Arch) (t :: * -> * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AsmInstr arch)) forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AsmInstr arch) forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AsmInstr arch -> c (AsmInstr arch) forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AsmInstr arch)) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AsmInstr arch)) gmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) $cgmapMo :: forall (arch :: Arch) (m :: * -> *). (Typeable arch, MonadPlus m) => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) gmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) $cgmapMp :: forall (arch :: Arch) (m :: * -> *). (Typeable arch, MonadPlus m) => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) gmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) $cgmapM :: forall (arch :: Arch) (m :: * -> *). (Typeable arch, Monad m) => (forall d. Data d => d -> m d) -> AsmInstr arch -> m (AsmInstr arch) gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> AsmInstr arch -> u $cgmapQi :: forall (arch :: Arch) u. Typeable arch => Int -> (forall d. Data d => d -> u) -> AsmInstr arch -> u gmapQ :: forall u. (forall d. Data d => d -> u) -> AsmInstr arch -> [u] $cgmapQ :: forall (arch :: Arch) u. Typeable arch => (forall d. Data d => d -> u) -> AsmInstr arch -> [u] gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r $cgmapQr :: forall (arch :: Arch) r r'. Typeable arch => (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r gmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r $cgmapQl :: forall (arch :: Arch) r r'. Typeable arch => (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AsmInstr arch -> r gmapT :: (forall b. Data b => b -> b) -> AsmInstr arch -> AsmInstr arch $cgmapT :: forall (arch :: Arch). Typeable arch => (forall b. Data b => b -> b) -> AsmInstr arch -> AsmInstr arch dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AsmInstr arch)) $cdataCast2 :: forall (arch :: Arch) (t :: * -> * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AsmInstr arch)) dataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AsmInstr arch)) $cdataCast1 :: forall (arch :: Arch) (t :: * -> *) (c :: * -> *). (Typeable arch, Typeable t) => (forall d. Data d => c (t d)) -> Maybe (c (AsmInstr arch)) dataTypeOf :: AsmInstr arch -> DataType $cdataTypeOf :: forall (arch :: Arch). Typeable arch => AsmInstr arch -> DataType toConstr :: AsmInstr arch -> Constr $ctoConstr :: forall (arch :: Arch). Typeable arch => AsmInstr arch -> Constr gunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AsmInstr arch) $cgunfold :: forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AsmInstr arch) gfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AsmInstr arch -> c (AsmInstr arch) $cgfoldl :: forall (arch :: Arch) (c :: * -> *). Typeable arch => (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AsmInstr arch -> c (AsmInstr arch) Data, Int -> AsmInstr arch -> ShowS [AsmInstr arch] -> ShowS AsmInstr arch -> String (Int -> AsmInstr arch -> ShowS) -> (AsmInstr arch -> String) -> ([AsmInstr arch] -> ShowS) -> Show (AsmInstr arch) forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a forall (arch :: Arch). Int -> AsmInstr arch -> ShowS forall (arch :: Arch). [AsmInstr arch] -> ShowS forall (arch :: Arch). AsmInstr arch -> String showList :: [AsmInstr arch] -> ShowS $cshowList :: forall (arch :: Arch). [AsmInstr arch] -> ShowS show :: AsmInstr arch -> String $cshow :: forall (arch :: Arch). AsmInstr arch -> String showsPrec :: Int -> AsmInstr arch -> ShowS $cshowsPrec :: forall (arch :: Arch). Int -> AsmInstr arch -> ShowS Show, AsmInstr arch -> AsmInstr arch -> Bool (AsmInstr arch -> AsmInstr arch -> Bool) -> (AsmInstr arch -> AsmInstr arch -> Bool) -> Eq (AsmInstr arch) forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a forall (arch :: Arch). AsmInstr arch -> AsmInstr arch -> Bool /= :: AsmInstr arch -> AsmInstr arch -> Bool $c/= :: forall (arch :: Arch). AsmInstr arch -> AsmInstr arch -> Bool == :: AsmInstr arch -> AsmInstr arch -> Bool $c== :: forall (arch :: Arch). AsmInstr arch -> AsmInstr arch -> Bool Eq) deriving ([AsmInstr arch] -> Encoding [AsmInstr arch] -> Value AsmInstr arch -> Encoding AsmInstr arch -> Value (AsmInstr arch -> Value) -> (AsmInstr arch -> Encoding) -> ([AsmInstr arch] -> Value) -> ([AsmInstr arch] -> Encoding) -> ToJSON (AsmInstr arch) forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a forall (arch :: Arch). [AsmInstr arch] -> Encoding forall (arch :: Arch). [AsmInstr arch] -> Value forall (arch :: Arch). AsmInstr arch -> Encoding forall (arch :: Arch). AsmInstr arch -> Value toEncodingList :: [AsmInstr arch] -> Encoding $ctoEncodingList :: forall (arch :: Arch). [AsmInstr arch] -> Encoding toJSONList :: [AsmInstr arch] -> Value $ctoJSONList :: forall (arch :: Arch). [AsmInstr arch] -> Value toEncoding :: AsmInstr arch -> Encoding $ctoEncoding :: forall (arch :: Arch). AsmInstr arch -> Encoding toJSON :: AsmInstr arch -> Value $ctoJSON :: forall (arch :: Arch). AsmInstr arch -> Value ToJSON, Value -> Parser [AsmInstr arch] Value -> Parser (AsmInstr arch) (Value -> Parser (AsmInstr arch)) -> (Value -> Parser [AsmInstr arch]) -> FromJSON (AsmInstr arch) forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a forall (arch :: Arch). Value -> Parser [AsmInstr arch] forall (arch :: Arch). Value -> Parser (AsmInstr arch) parseJSONList :: Value -> Parser [AsmInstr arch] $cparseJSONList :: forall (arch :: Arch). Value -> Parser [AsmInstr arch] parseJSON :: Value -> Parser (AsmInstr arch) $cparseJSON :: forall (arch :: Arch). Value -> Parser (AsmInstr arch) FromJSON) via ShortText