ECSExecutionImageDisassembler

Struct ECSExecutionImageDisassembler 

Source
pub struct ECSExecutionImageDisassembler<'a> {
    pub stream: MemReaderRef<'a>,
    function: &'a SectionFunction,
    func_info: &'a SectionFuncInfo,
    import_native_func: &'a SectionImportNativeFunc,
    class_info: &'a SectionClassInfo,
    const_string: &'a SectionConstString,
    pub assembly: ECSExecutionImageAssembly,
    writer: Option<Box<dyn Write + 'a>>,
    addr: u32,
    code: CSInstructionCode,
    pub func_map: HashMap<u32, &'a FuncInfoEntry>,
}
Available on crate feature entis-gls only.

Fields§

§stream: MemReaderRef<'a>§function: &'a SectionFunction§func_info: &'a SectionFuncInfo§import_native_func: &'a SectionImportNativeFunc§class_info: &'a SectionClassInfo§const_string: &'a SectionConstString§assembly: ECSExecutionImageAssembly§writer: Option<Box<dyn Write + 'a>>§addr: u32§code: CSInstructionCode§func_map: HashMap<u32, &'a FuncInfoEntry>

Implementations§

Source§

impl<'a> ECSExecutionImageDisassembler<'a>

Source

pub fn new( stream: MemReaderRef<'a>, function: &'a SectionFunction, func_info: &'a SectionFuncInfo, import_native_func: &'a SectionImportNativeFunc, class_info: &'a SectionClassInfo, const_string: &'a SectionConstString, writer: Option<Box<dyn Write + 'a>>, ) -> Self

Source

pub fn execute(&mut self) -> Result<()>

Source

fn line<S: AsRef<str> + ?Sized>(&mut self, line: &S) -> Result<()>

Source

fn execute_range(&mut self, start: u32, end: u32) -> Result<()>

Source

fn get_string_literal2(&mut self) -> Result<(Option<usize>, String)>

Source

pub fn get_string_literal(&mut self) -> Result<String>

Source

fn read_csct(&mut self) -> Result<CSCompareType>

Source

pub fn read_csom(&mut self) -> Result<CSObjectMode>

Source

pub fn read_csot(&mut self) -> Result<CSOperatorType>

Source

fn read_csuot(&mut self) -> Result<CSUnaryOperatorType>

Source

pub fn read_csvt(&mut self) -> Result<CSVariableType>

Source

fn read_csxot(&mut self) -> Result<CSExtraOperatorType>

Source

fn read_csxuot(&mut self) -> Result<CSExtraUniOperatorType>

Source

fn command_new(&mut self) -> Result<()>

Source

fn command_free(&mut self) -> Result<()>

Source

fn command_load(&mut self) -> Result<()>

Source

fn command_store(&mut self) -> Result<()>

Source

fn command_enter(&mut self) -> Result<()>

Source

fn command_leave(&mut self) -> Result<()>

Source

fn command_jump(&mut self) -> Result<()>

Source

fn command_cjump(&mut self) -> Result<()>

Source

fn command_call(&mut self) -> Result<()>

Source

fn command_return(&mut self) -> Result<()>

Source

fn command_element(&mut self) -> Result<()>

Source

fn command_element_indirect(&mut self) -> Result<()>

Source

fn command_operate(&mut self) -> Result<()>

Source

fn command_uni_operate(&mut self) -> Result<()>

Source

fn command_compare(&mut self) -> Result<()>

Source

fn command_ex_operate(&mut self) -> Result<()>

Source

fn command_ex_uni_operate(&mut self) -> Result<()>

Source

fn command_ex_call(&mut self) -> Result<()>

Source

fn command_ex_return(&mut self) -> Result<()>

Source

fn command_call_member(&mut self) -> Result<()>

Source

fn command_call_native_member(&mut self) -> Result<()>

Source

fn command_swap(&mut self) -> Result<()>

Source

fn command_create_buffer_vsize(&mut self) -> Result<()>

Source

fn command_pointer_to_object(&mut self) -> Result<()>

Source

fn command_reference_for_pointer(&mut self) -> Result<()>

Source

fn command_call_native_function(&mut self) -> Result<()>

Source

fn shell_command_load_mem(&mut self) -> Result<()>

Source

fn shell_command_load_mem_base_imm32(&mut self) -> Result<()>

Source

fn shell_command_load_mem_base_index(&mut self) -> Result<()>

Source

fn shell_command_load_mem_base_index_imm32(&mut self) -> Result<()>

Source

fn shell_command_store_mem(&mut self) -> Result<()>

Source

fn shell_command_store_mem_base_imm32(&mut self) -> Result<()>

Source

fn shell_command_store_mem_base_index(&mut self) -> Result<()>

Source

fn shell_command_store_mem_base_index_imm32(&mut self) -> Result<()>

Source

fn shell_command_load_local(&mut self) -> Result<()>

Source

fn shell_command_load_local_index_imm32(&mut self) -> Result<()>

Source

fn shell_command_store_local(&mut self) -> Result<()>

Source

fn shell_command_store_local_index_imm32(&mut self) -> Result<()>

Source

fn shell_command_move_reg(&mut self) -> Result<()>

Source

fn shell_command_cvt_float_2_int(&mut self) -> Result<()>

Source

fn shell_command_cvt_int_2_float(&mut self) -> Result<()>

Source

fn shell_command_srl_imm8(&mut self) -> Result<()>

Source

fn shell_command_sra_imm8(&mut self) -> Result<()>

Source

fn shell_command_sll_imm8(&mut self) -> Result<()>

Source

fn shell_command_mask_move(&mut self) -> Result<()>

Source

fn shell_command_add_imm32(&mut self) -> Result<()>

Source

fn shell_command_mul_imm32(&mut self) -> Result<()>

Source

fn shell_command_add_sp_imm32(&mut self) -> Result<()>

Source

fn shell_command_load_imm64(&mut self) -> Result<()>

Source

fn shell_command_neg_int(&mut self) -> Result<()>

Source

fn shell_command_not_int(&mut self) -> Result<()>

Source

fn shell_command_neg_float(&mut self) -> Result<()>

Source

fn shell_command_add_reg(&mut self) -> Result<()>

Source

fn shell_command_sub_reg(&mut self) -> Result<()>

Source

fn shell_command_mul_reg(&mut self) -> Result<()>

Source

fn shell_command_div_reg(&mut self) -> Result<()>

Source

fn shell_command_mod_reg(&mut self) -> Result<()>

Source

fn shell_command_and_reg(&mut self) -> Result<()>

Source

fn shell_command_or_reg(&mut self) -> Result<()>

Source

fn shell_command_xor_reg(&mut self) -> Result<()>

Source

fn shell_command_srl_reg(&mut self) -> Result<()>

Source

fn shell_command_sra_reg(&mut self) -> Result<()>

Source

fn shell_command_sll_reg(&mut self) -> Result<()>

Source

fn shell_command_move_sx32_reg(&mut self) -> Result<()>

Source

fn shell_command_move_sx16_reg(&mut self) -> Result<()>

Source

fn shell_command_move_sx8_reg(&mut self) -> Result<()>

Source

fn shell_command_f_add_reg(&mut self) -> Result<()>

Source

fn shell_command_f_sub_reg(&mut self) -> Result<()>

Source

fn shell_command_f_mul_reg(&mut self) -> Result<()>

Source

fn shell_command_f_div_reg(&mut self) -> Result<()>

Source

fn shell_command_mul32_reg(&mut self) -> Result<()>

Source

fn shell_command_i_mul32_reg(&mut self) -> Result<()>

Source

fn shell_command_div32_reg(&mut self) -> Result<()>

Source

fn shell_command_i_div32_reg(&mut self) -> Result<()>

Source

fn shell_command_mod32_reg(&mut self) -> Result<()>

Source

fn shell_command_i_mod32_reg(&mut self) -> Result<()>

Source

fn shell_command_cmp_ne_reg(&mut self) -> Result<()>

Source

fn shell_command_cmp_eq_reg(&mut self) -> Result<()>

Source

fn shell_command_cmp_lt_reg(&mut self) -> Result<()>

Source

fn shell_command_cmp_le_reg(&mut self) -> Result<()>

Source

fn shell_command_cmp_gt_reg(&mut self) -> Result<()>

Source

fn shell_command_cmp_ge_reg(&mut self) -> Result<()>

Source

fn shell_command_cmp_c_reg(&mut self) -> Result<()>

Source

fn shell_command_cmp_cz_reg(&mut self) -> Result<()>

Source

fn shell_command_f_cmp_ne_reg(&mut self) -> Result<()>

Source

fn shell_command_f_cmp_eq_reg(&mut self) -> Result<()>

Source

fn shell_command_f_cmp_lt_reg(&mut self) -> Result<()>

Source

fn shell_command_f_cmp_le_reg(&mut self) -> Result<()>

Source

fn shell_command_f_cmp_gt_reg(&mut self) -> Result<()>

Source

fn shell_command_f_cmp_ge_reg(&mut self) -> Result<()>

Source

fn shell_command_jump_offset32(&mut self) -> Result<()>

Source

fn shell_command_jump_reg(&mut self) -> Result<()>

Source

fn shell_command_cn_jump_offset32(&mut self) -> Result<()>

Source

fn shell_command_c_jump_offset32(&mut self) -> Result<()>

Source

fn shell_command_call_imm32(&mut self) -> Result<()>

Source

fn shell_command_call_reg(&mut self) -> Result<()>

Source

fn shell_command_sys_call_imm32(&mut self) -> Result<()>

Source

fn shell_command_sys_call_reg(&mut self) -> Result<()>

Source

fn shell_command_return(&mut self) -> Result<()>

Source

fn shell_command_push_reg(&mut self) -> Result<()>

Source

fn shell_command_pop_reg(&mut self) -> Result<()>

Source

fn shell_command_push_regs(&mut self) -> Result<()>

Source

fn shell_command_pop_regs(&mut self) -> Result<()>

Source

fn shell_command_memory_hint(&mut self) -> Result<()>

Source

fn shell_command_float_extension(&mut self) -> Result<()>

Source

fn shell_command_simd64_extension_2op(&mut self) -> Result<()>

Source

fn shell_command_simd64_extension_3op(&mut self) -> Result<()>

Source

fn shell_command_simd128_extension_2op(&mut self) -> Result<()>

Source

fn shell_command_simd128_extension_3op(&mut self) -> Result<()>

Source

fn shell_command_escape(&mut self) -> Result<()>

Source

fn shell_command_no_operation(&mut self) -> Result<()>

Source

fn shell_command_system_reserved(&mut self) -> Result<()>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V