pub struct RawInstruction<T>(pub T);Expand description
Each instruction is three 32 bit unsigned integers divided as follows. lsb msb COAABBBB VVVVVVVV DDDDDDDD Condition Opcode paramA paramB Value Debug
The Debug field contains the following information:
- line: The source code line which the instruction was compiled from.
- ast_location: Where in the AST the instruction was compiled from, encoded by the RawAstLocation enum.
- extra: Additional debugging information, meaning depends on the value of ast_location. If ast_location is AcceptStatementFailure, extra is the key of the accept statement. Otherwise, extra is unused.
Tuple Fields§
§0: TImplementations§
Source§impl<T: AsRef<[u32]>> RawInstruction<T>
impl<T: AsRef<[u32]>> RawInstruction<T>
Source§impl<T: AsMut<[u32]>> RawInstruction<T>
impl<T: AsMut<[u32]>> RawInstruction<T>
pub fn set_condition(&mut self, value: u32)
pub fn set_operation(&mut self, value: u32)
pub fn set_parameter_a(&mut self, value: u32)
pub fn set_parameter_b(&mut self, value: u32)
pub fn set_value(&mut self, value: u32)
pub fn set_line(&mut self, value: u32)
pub fn set_ast_location(&mut self, value: u32)
pub fn set_extra(&mut self, value: u32)
Trait Implementations§
Source§impl<T: AsMut<[u32]>> BitRangeMut<i128> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<i128> for RawInstruction<T>
Source§impl<T: AsMut<[u32]>> BitRangeMut<i16> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<i16> for RawInstruction<T>
Source§impl<T: AsMut<[u32]>> BitRangeMut<i32> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<i32> for RawInstruction<T>
Source§impl<T: AsMut<[u32]>> BitRangeMut<i64> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<i64> for RawInstruction<T>
Source§impl<T: AsMut<[u32]>> BitRangeMut<i8> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<i8> for RawInstruction<T>
Source§impl<T: AsMut<[u32]>> BitRangeMut<u128> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<u128> for RawInstruction<T>
Source§impl<T: AsMut<[u32]>> BitRangeMut<u16> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<u16> for RawInstruction<T>
Source§impl<T: AsMut<[u32]>> BitRangeMut<u32> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<u32> for RawInstruction<T>
Source§impl<T: AsMut<[u32]>> BitRangeMut<u64> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<u64> for RawInstruction<T>
Source§impl<T: AsMut<[u32]>> BitRangeMut<u8> for RawInstruction<T>
impl<T: AsMut<[u32]>> BitRangeMut<u8> for RawInstruction<T>
Auto Trait Implementations§
impl<T> Freeze for RawInstruction<T>where
T: Freeze,
impl<T> RefUnwindSafe for RawInstruction<T>where
T: RefUnwindSafe,
impl<T> Send for RawInstruction<T>where
T: Send,
impl<T> Sync for RawInstruction<T>where
T: Sync,
impl<T> Unpin for RawInstruction<T>where
T: Unpin,
impl<T> UnwindSafe for RawInstruction<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BitMut for Twhere
T: BitRangeMut<u8>,
impl<T> BitMut for Twhere
T: BitRangeMut<u8>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more