Struct gccjit::RValue
[−]
[src]
pub struct RValue<'ctx> { /* 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>
&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>
&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> Copy for RValue<'ctx>
[src]
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> ToObject<'ctx> for RValue<'ctx>
[src]
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]
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