[][src]Enum llvm_ir::operand::Operand

pub enum Operand {
    LocalOperand {
        name: Name,
        ty: TypeRef,
    },
    ConstantOperand(ConstantRef),
    MetadataOperand,
}

Variants

LocalOperand

e.g., i32 %foo

Fields of LocalOperand

name: Namety: TypeRef
ConstantOperand(ConstantRef)

includes GlobalReference for things like @foo

MetadataOperand

Implementations

impl Operand[src]

pub fn as_constant(&self) -> Option<&Constant>[src]

Get a reference to the Constant, if the operand is a constant; otherwise, returns None.

This allows nested matching on Operand. Instead of the following code (which doesn't compile because you can't directly match on ConstantRef)

This example is not tested
if let Operand::ConstantOperand(Constant::Float(Float::Double(val))) = op

you can write this:

This example is not tested
if let Some(Constant::Float(Float::Double(val))) = op.as_constant()

Trait Implementations

impl Clone for Operand[src]

impl Debug for Operand[src]

impl Display for Operand[src]

impl PartialEq<Operand> for Operand[src]

impl StructuralPartialEq for Operand[src]

impl Typed for Operand[src]

Auto Trait Implementations

impl RefUnwindSafe for Operand

impl Send for Operand

impl Sync for Operand

impl Unpin for Operand

impl UnwindSafe for Operand

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.