From d2b4f3d1a454c7bbcc487ddfb2839b01dc1c9c9e Mon Sep 17 00:00:00 2001 From: iximeow Date: Sat, 27 Aug 2022 17:08:29 -0700 Subject: remove a few duplicate impls, add stubs for geneirc translations generate_opcode.py has quickly grown into generating much more than just opcode definitions, and now handles a few duplicate impls across the different decode modes as well. some of the added impl generation conflicts with still-existing hand-written impls from yore, so they needed a bit of removing. next will be the addition of a generic module for "probably what you want" disassembly of x86, avoiding the 64-/32-/16-bitness of the architecture family with an attempt to decode "probably what you wanted" from a byte sequence. it needs a little more work still, but TODO stubs added here support that new module. --- src/long_mode/mod.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/long_mode') diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 56fd90f..c30f0e1 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -1135,6 +1135,12 @@ pub enum DecodeError { IncompleteDecoder, } +impl DecodeError { + pub fn to_generic(&self) -> crate::generic::DecodeError { + panic!("TODO") + } +} + impl yaxpeax_arch::DecodeError for DecodeError { fn data_exhausted(&self) -> bool { self == &DecodeError::ExhaustedInput } fn bad_opcode(&self) -> bool { self == &DecodeError::InvalidOpcode } @@ -2119,6 +2125,10 @@ impl Default for Instruction { } impl Instruction { + pub fn to_generic(&self) -> crate::generic::Instruction { + panic!("TODO"); + } + /// get the `Opcode` of this instruction. pub fn opcode(&self) -> Opcode { self.opcode -- cgit v1.1