#![allow(clippy::unreadable_literal)]
use crate::avm1::{opcode::OpCode, types::*};
use crate::error::{Error, Result};
use crate::extensions::ReadSwfExt;
#[allow(dead_code)]
pub struct Reader<'a> {
input: &'a [u8],
version: u8,
}
impl<'a> ReadSwfExt<'a> for Reader<'a> {
#[inline(always)]
fn as_mut_slice(&mut self) -> &mut &'a [u8] {
&mut self.input
}
#[inline(always)]
fn as_slice(&self) -> &'a [u8] {
self.input
}
}
impl<'a> Reader<'a> {
#[inline]
pub const fn new(input: &'a [u8], version: u8) -> Self {
Self { input, version }
}
#[inline]
pub fn seek(&mut self, data: &'a [u8], jump_offset: i16) {
ReadSwfExt::seek(self, data, jump_offset as isize)
}
#[inline]
pub const fn get_ref(&self) -> &'a [u8] {
self.input
}
#[inline]
pub fn get_mut(&mut self) -> &mut &'a [u8] {
&mut self.input
}
#[inline]
pub fn read_action(&mut self) -> Result