pub enum Statement {
Workbench(Rc<WorkbenchDefinition>),
Module(Rc<ModuleDefinition>),
Function(Rc<FunctionDefinition>),
Init(Rc<InitDefinition>),
Use(UseStatement),
Return(ReturnStatement),
If(IfStatement),
InnerAttribute(Attribute),
Assignment(AssignmentStatement),
Expression(ExpressionStatement),
}Expand description
Any statement.
Variants§
Workbench(Rc<WorkbenchDefinition>)
Part definition
Module(Rc<ModuleDefinition>)
Module definition
Function(Rc<FunctionDefinition>)
Function definition
Init(Rc<InitDefinition>)
Init definition
Use(UseStatement)
Use statement
Return(ReturnStatement)
Return statement
If(IfStatement)
If statement
InnerAttribute(Attribute)
Inner attribute statement: #![size = std::A4].
Assignment(AssignmentStatement)
Assignment statement.
Expression(ExpressionStatement)
Expression statement.
Trait Implementations§
Source§impl Eval<Option<Model>> for Statement
impl Eval<Option<Model>> for Statement
Source§fn eval(&self, context: &mut EvalContext) -> EvalResult<Option<Model>>
fn eval(&self, context: &mut EvalContext) -> EvalResult<Option<Model>>
Evaluate a syntax element into a type
T.Source§impl Eval for Statement
impl Eval for Statement
Source§fn eval(&self, context: &mut EvalContext) -> EvalResult<Value>
fn eval(&self, context: &mut EvalContext) -> EvalResult<Value>
Evaluate a syntax element into a type
T.Source§impl SrcReferrer for Statement
impl SrcReferrer for Statement
Source§impl TreeDisplay for Statement
impl TreeDisplay for Statement
Source§fn tree_print(&self, f: &mut Formatter<'_>, depth: TreeState) -> Result
fn tree_print(&self, f: &mut Formatter<'_>, depth: TreeState) -> Result
Write item into
f and use {:depth$} syntax in front of your single line
output to get proper indention.Source§fn display_tree(&self, f: &mut Formatter<'_>) -> Result
fn display_tree(&self, f: &mut Formatter<'_>) -> Result
Display as tree starting at depth
0.Source§fn debug_tree(&self, f: &mut Formatter<'_>) -> Result
fn debug_tree(&self, f: &mut Formatter<'_>) -> Result
Display as tree starting at given depth in debug mode
Auto Trait Implementations§
impl Freeze for Statement
impl RefUnwindSafe for Statement
impl !Send for Statement
impl !Sync for Statement
impl Unpin for Statement
impl UnwindSafe for Statement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more