[−][src]Enum oakc::tir::TirStatement
Variants
Define(Identifier, TirType, TirExpression)
An HIR let expression with a manually assigned type
AutoDefine(Identifier, TirExpression)
An HIR let expression with an automatically assigned type
AssignVariable(Identifier, TirExpression)
A variable assignment
AddAssignVariable(Identifier, TirExpression)
Add to a variable
SubtractAssignVariable(Identifier, TirExpression)
Subtract from a variable
MultiplyAssignVariable(Identifier, TirExpression)
Multiply to a variable
DivideAssignVariable(Identifier, TirExpression)
Divide from a variable
AssignAddress(TirExpression, TirExpression)
An assignment to a dereferenced address
AddAssignAddress(TirExpression, TirExpression)
Add to the value a pointer points to
SubtractAssignAddress(TirExpression, TirExpression)
Subtract from the value a pointer points to
MultiplyAssignAddress(TirExpression, TirExpression)
Multiply the value a pointer points to
DivideAssignAddress(TirExpression, TirExpression)
Divide the value a pointer points to
For(Box<Self>, TirExpression, Box<Self>, Vec<Self>)
An HIR for loop for (let i=0; i<10; i=i+1) {...}
ForRange(Identifier, TirExpression, TirExpression, Vec<Self>)
An HIR for loop for i in 0..10 {...}
While(TirExpression, Vec<Self>)
An HIR while loop
If(TirExpression, Vec<Self>)
An HIR if statement
IfElse(TirExpression, Vec<Self>, Vec<Self>)
An HIR if statement with an else clause
IfElifElse(TirExpression, Vec<Self>, Vec<(TirExpression, Vec<Self>)>, Vec<Self>)
An HIR if statement with an else clause
Free(TirExpression, TirExpression)
An HIR free statement to deallocate memory
Return(Vec<TirExpression>)
Return one or more values at the end of a function
Expression(TirExpression)
Any expression
Trait Implementations
impl Clone for TirStatement
[src]
fn clone(&self) -> TirStatement
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for TirStatement
[src]
Auto Trait Implementations
impl RefUnwindSafe for TirStatement
impl Send for TirStatement
impl Sync for TirStatement
impl Unpin for TirStatement
impl UnwindSafe for TirStatement
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,