Struct gccjit::RValue [] [src]

pub struct RValue<'ctx> {
    // some fields omitted
}

An RValue is a value that may or may not have a storage address in gccjit. RValues can be dereferenced, used for field accesses, and are the parameters given to a majority of the gccjit API calls.

Methods

impl<'ctx> RValue<'ctx>
[src]

fn get_type(&self) -> Type<'ctx>

Gets the type of this RValue.

fn access_field(&self, loc: Option<Location<'ctx>>, field: Field<'ctx>) -> LValue<'ctx>

Given an RValue x and a Field f, returns an RValue representing C's x.f.

fn dereference_field(&self, loc: Option<Location<'ctx>>, field: Field<'ctx>) -> LValue<'ctx>

Given an RValue x and a Field f, returns an LValue representing C's x->f.

fn dereference(&self, loc: Option<Location<'ctx>>) -> LValue<'ctx>

Given a RValue x, returns an RValue that represents *x.

Trait Implementations

impl<'ctx> Clone for RValue<'ctx>
[src]

fn clone(&self) -> RValue<'ctx>

Returns a copy of the value. Read more

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

Performs copy-assignment from source. Read more

impl<'ctx> Copy for RValue<'ctx>
[src]

impl<'ctx> ToObject<'ctx> for RValue<'ctx>
[src]

fn to_object(&self) -> Object<'ctx>

impl<'ctx> Debug for RValue<'ctx>
[src]

fn fmt(&self, fmt: &mut Formatter) -> Result<()Error>

Formats the value using the given formatter.

impl<'ctx> ToRValue<'ctx> for RValue<'ctx>
[src]

fn to_rvalue(&self) -> RValue<'ctx>

impl<'ctx> Add for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the + operator

fn add(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the + operator

impl<'ctx> Sub for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the - operator

fn sub(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the - operator

impl<'ctx> Mul for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the * operator

fn mul(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the * operator

impl<'ctx> Div for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the / operator

fn div(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the / operator

impl<'ctx> Rem for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the % operator

fn rem(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the % operator

impl<'ctx> BitAnd for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the & operator

fn bitand(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the & operator

impl<'ctx> BitOr for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the | operator

fn bitor(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the | operator

impl<'ctx> BitXor for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the ^ operator

fn bitxor(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the ^ operator

impl<'ctx> Shl<RValue<'ctx>> for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the << operator

fn shl(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the << operator

impl<'ctx> Shr<RValue<'ctx>> for RValue<'ctx>
[src]

type Output = RValue<'ctx>

The resulting type after applying the >> operator

fn shr(self, rhs: RValue<'ctx>) -> RValue<'ctx>

The method for the >> operator