Enum Value

Source
pub enum Value {
    Number(Number),
    Expr(Expr),
}
Expand description

A dynamically or statically computed value.

To produce valid binary it is mostly only important to know the correct width of the output but the value itself can be computed by the caller. This allows freedom on parsing without requiring the assembler core (this library) to implement an arbitrary expression evaluator. In particular, the evaluation can even be further delayed by the caller and left to rustc.

Variants§

§

Number(Number)

A constant number.

§

Expr(Expr)

An external expression of the caller.

Implementations§

Source§

impl Value

Source

pub fn Byte(val: u8) -> Self

Source

pub fn Word(val: u16) -> Self

Source

pub fn Dword(val: u32) -> Self

Source

pub fn Qword(val: u64) -> Self

Source

pub fn repr(self) -> NumericRepr

Source

pub fn convert(self, repr: NumericRepr) -> Option<Self>

Source

pub fn size(self) -> Size

Trait Implementations§

Source§

impl Clone for Value

Source§

fn clone(&self) -> Value

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Value

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&Expr> for Value

Source§

fn from(expr: &Expr) -> Value

Converts to this type from the input type.
Source§

impl From<&Value> for Stmt

Source§

fn from(val: &Value) -> Self

Converts to this type from the input type.
Source§

impl From<Expr> for Value

Source§

fn from(expr: Expr) -> Value

Converts to this type from the input type.
Source§

impl From<Value> for JumpOffset

Source§

fn from(val: Value) -> JumpOffset

Converts to this type from the input type.
Source§

impl From<Value> for Stmt

Source§

fn from(val: Value) -> Self

Converts to this type from the input type.
Source§

impl From<u8> for Value

Source§

fn from(val: u8) -> Value

Converts to this type from the input type.
Source§

impl Copy for Value

Auto Trait Implementations§

§

impl Freeze for Value

§

impl RefUnwindSafe for Value

§

impl Send for Value

§

impl Sync for Value

§

impl Unpin for Value

§

impl UnwindSafe for Value

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.