Struct ra_ap_syntax::ast::BlockExpr
source · pub struct BlockExpr { /* private fields */ }
Implementations§
source§impl BlockExpr
impl BlockExpr
pub fn label(&self) -> Option<Label>
pub fn try_token(&self) -> Option<SyntaxToken>
pub fn unsafe_token(&self) -> Option<SyntaxToken>
pub fn async_token(&self) -> Option<SyntaxToken>
pub fn const_token(&self) -> Option<SyntaxToken>
pub fn stmt_list(&self) -> Option<StmtList>
source§impl BlockExpr
impl BlockExpr
pub fn statements(&self) -> impl Iterator<Item = Stmt>
pub fn tail_expr(&self) -> Option<Expr>
sourcepub fn may_carry_attributes(&self) -> bool
pub fn may_carry_attributes(&self) -> bool
Block expressions accept outer and inner attributes, but only when they are the outer expression of an expression statement or the final expression of another block expression.
source§impl BlockExpr
impl BlockExpr
pub fn modifier(&self) -> Option<BlockModifier>
sourcepub fn is_standalone(&self) -> bool
pub fn is_standalone(&self) -> bool
false if the block is an intrinsic part of the syntax and can’t be replaced with arbitrary expression.
fn foo() { not_stand_alone }
const FOO: () = { stand_alone };
Trait Implementations§
source§impl AstNode for BlockExpr
impl AstNode for BlockExpr
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<BlockExpr> for ElseBranch
impl From<BlockExpr> for ElseBranch
source§impl PartialEq for BlockExpr
impl PartialEq for BlockExpr
impl Eq for BlockExpr
impl StructuralEq for BlockExpr
impl StructuralPartialEq for BlockExpr
Auto Trait Implementations§
impl !RefUnwindSafe for BlockExpr
impl !Send for BlockExpr
impl !Sync for BlockExpr
impl Unpin for BlockExpr
impl !UnwindSafe for BlockExpr
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
§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
§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
Compare self to
key
and return true
if they are equal.