pub struct IfExpr { /* private fields */ }
Implementations§
Source§impl IfExpr
impl IfExpr
pub fn condition(&self) -> Option<Expr>
pub fn then_branch(&self) -> Option<BlockExpr>
pub fn else_branch(&self) -> Option<ElseBranch>
Source§impl IfExpr
impl IfExpr
pub fn else_token(&self) -> Option<SyntaxToken>
pub fn if_token(&self) -> Option<SyntaxToken>
Trait Implementations§
Source§impl AstNode for IfExpr
impl AstNode for IfExpr
Source§fn kind() -> SyntaxKindwhere
Self: Sized,
fn kind() -> SyntaxKindwhere
Self: Sized,
This panics if the
SyntaxKind
is not statically known.fn can_cast(kind: SyntaxKind) -> bool
fn cast(syntax: SyntaxNode) -> Option<Self>
fn syntax(&self) -> &SyntaxNode
fn clone_for_update(&self) -> Selfwhere
Self: Sized,
fn clone_subtree(&self) -> Selfwhere
Self: Sized,
Source§impl From<IfExpr> for AnyHasAttrs
impl From<IfExpr> for AnyHasAttrs
Source§fn from(node: IfExpr) -> AnyHasAttrs
fn from(node: IfExpr) -> AnyHasAttrs
Converts to this type from the input type.
Source§impl From<IfExpr> for ElseBranch
impl From<IfExpr> for ElseBranch
Source§impl HasAttrs for IfExpr
impl HasAttrs for IfExpr
impl Eq for IfExpr
impl StructuralPartialEq for IfExpr
Auto Trait Implementations§
impl Freeze for IfExpr
impl !RefUnwindSafe for IfExpr
impl !Send for IfExpr
impl !Sync for IfExpr
impl Unpin for IfExpr
impl !UnwindSafe for IfExpr
Blanket Implementations§
Source§impl<N> AstNodeEdit for N
impl<N> AstNodeEdit for N
fn indent_level(&self) -> IndentLevel
fn indent(&self, level: IndentLevel) -> Self
fn dedent(&self, level: IndentLevel) -> Self
fn reset_indent(&self) -> Self
Source§impl<T> AttrsOwnerEdit for Twhere
T: HasAttrs,
impl<T> AttrsOwnerEdit for Twhere
T: HasAttrs,
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
Source§impl<N> Indent for N
impl<N> Indent for N
fn indent_level(&self) -> IndentLevel
fn indent(&self, by: IndentLevel)
fn dedent(&self, by: IndentLevel)
fn reindent_to(&self, target_level: IndentLevel)
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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