pub struct IfNodeIR {
pub condition: ExpressionIR,
pub consequent: Vec<TemplateNodeIR>,
pub alternate: Option<Vec<TemplateNodeIR>>,
pub else_ifs: Vec<(ExpressionIR, Vec<TemplateNodeIR>)>,
pub span: Span,
}Expand description
if 节点 IR
Fields§
§condition: ExpressionIR条件
consequent: Vec<TemplateNodeIR>真分支
alternate: Option<Vec<TemplateNodeIR>>假分支(else 或 else if)
else_ifs: Vec<(ExpressionIR, Vec<TemplateNodeIR>)>else if 分支
span: Span位置信息
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for IfNodeIR
impl<'de> Deserialize<'de> for IfNodeIR
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<IfNodeIR, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<IfNodeIR, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for IfNodeIR
impl Serialize for IfNodeIR
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for IfNodeIR
Auto Trait Implementations§
impl Freeze for IfNodeIR
impl RefUnwindSafe for IfNodeIR
impl Send for IfNodeIR
impl Sync for IfNodeIR
impl Unpin for IfNodeIR
impl UnsafeUnpin for IfNodeIR
impl UnwindSafe for IfNodeIR
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 more