aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/ast/generated
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/src/ast/generated')
-rw-r--r--crates/ra_syntax/src/ast/generated/nodes.rs37
1 files changed, 35 insertions, 2 deletions
diff --git a/crates/ra_syntax/src/ast/generated/nodes.rs b/crates/ra_syntax/src/ast/generated/nodes.rs
index 3f16592b6..2096f12f1 100644
--- a/crates/ra_syntax/src/ast/generated/nodes.rs
+++ b/crates/ra_syntax/src/ast/generated/nodes.rs
@@ -476,6 +476,16 @@ impl LoopExpr {
476} 476}
477 477
478#[derive(Debug, Clone, PartialEq, Eq, Hash)] 478#[derive(Debug, Clone, PartialEq, Eq, Hash)]
479pub struct TryBlockExpr {
480 pub(crate) syntax: SyntaxNode,
481}
482impl ast::AttrsOwner for TryBlockExpr {}
483impl TryBlockExpr {
484 pub fn try_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![try]) }
485 pub fn body(&self) -> Option<BlockExpr> { support::child(&self.syntax) }
486}
487
488#[derive(Debug, Clone, PartialEq, Eq, Hash)]
479pub struct ForExpr { 489pub struct ForExpr {
480 pub(crate) syntax: SyntaxNode, 490 pub(crate) syntax: SyntaxNode,
481} 491}
@@ -1467,6 +1477,7 @@ pub enum Expr {
1467 FieldExpr(FieldExpr), 1477 FieldExpr(FieldExpr),
1468 AwaitExpr(AwaitExpr), 1478 AwaitExpr(AwaitExpr),
1469 TryExpr(TryExpr), 1479 TryExpr(TryExpr),
1480 TryBlockExpr(TryBlockExpr),
1470 CastExpr(CastExpr), 1481 CastExpr(CastExpr),
1471 RefExpr(RefExpr), 1482 RefExpr(RefExpr),
1472 PrefixExpr(PrefixExpr), 1483 PrefixExpr(PrefixExpr),
@@ -1949,6 +1960,17 @@ impl AstNode for LoopExpr {
1949 } 1960 }
1950 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1961 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1951} 1962}
1963impl AstNode for TryBlockExpr {
1964 fn can_cast(kind: SyntaxKind) -> bool { kind == TRY_BLOCK_EXPR }
1965 fn cast(syntax: SyntaxNode) -> Option<Self> {
1966 if Self::can_cast(syntax.kind()) {
1967 Some(Self { syntax })
1968 } else {
1969 None
1970 }
1971 }
1972 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1973}
1952impl AstNode for ForExpr { 1974impl AstNode for ForExpr {
1953 fn can_cast(kind: SyntaxKind) -> bool { kind == FOR_EXPR } 1975 fn can_cast(kind: SyntaxKind) -> bool { kind == FOR_EXPR }
1954 fn cast(syntax: SyntaxNode) -> Option<Self> { 1976 fn cast(syntax: SyntaxNode) -> Option<Self> {
@@ -3290,6 +3312,9 @@ impl From<AwaitExpr> for Expr {
3290impl From<TryExpr> for Expr { 3312impl From<TryExpr> for Expr {
3291 fn from(node: TryExpr) -> Expr { Expr::TryExpr(node) } 3313 fn from(node: TryExpr) -> Expr { Expr::TryExpr(node) }
3292} 3314}
3315impl From<TryBlockExpr> for Expr {
3316 fn from(node: TryBlockExpr) -> Expr { Expr::TryBlockExpr(node) }
3317}
3293impl From<CastExpr> for Expr { 3318impl From<CastExpr> for Expr {
3294 fn from(node: CastExpr) -> Expr { Expr::CastExpr(node) } 3319 fn from(node: CastExpr) -> Expr { Expr::CastExpr(node) }
3295} 3320}
@@ -3320,8 +3345,9 @@ impl AstNode for Expr {
3320 TUPLE_EXPR | ARRAY_EXPR | PAREN_EXPR | PATH_EXPR | LAMBDA_EXPR | IF_EXPR 3345 TUPLE_EXPR | ARRAY_EXPR | PAREN_EXPR | PATH_EXPR | LAMBDA_EXPR | IF_EXPR
3321 | LOOP_EXPR | FOR_EXPR | WHILE_EXPR | CONTINUE_EXPR | BREAK_EXPR | LABEL 3346 | LOOP_EXPR | FOR_EXPR | WHILE_EXPR | CONTINUE_EXPR | BREAK_EXPR | LABEL
3322 | BLOCK_EXPR | RETURN_EXPR | MATCH_EXPR | RECORD_LIT | CALL_EXPR | INDEX_EXPR 3347 | BLOCK_EXPR | RETURN_EXPR | MATCH_EXPR | RECORD_LIT | CALL_EXPR | INDEX_EXPR
3323 | METHOD_CALL_EXPR | FIELD_EXPR | AWAIT_EXPR | TRY_EXPR | CAST_EXPR | REF_EXPR 3348 | METHOD_CALL_EXPR | FIELD_EXPR | AWAIT_EXPR | TRY_EXPR | TRY_BLOCK_EXPR
3324 | PREFIX_EXPR | RANGE_EXPR | BIN_EXPR | LITERAL | MACRO_CALL | BOX_EXPR => true, 3349 | CAST_EXPR | REF_EXPR | PREFIX_EXPR | RANGE_EXPR | BIN_EXPR | LITERAL | MACRO_CALL
3350 | BOX_EXPR => true,
3325 _ => false, 3351 _ => false,
3326 } 3352 }
3327 } 3353 }
@@ -3349,6 +3375,7 @@ impl AstNode for Expr {
3349 FIELD_EXPR => Expr::FieldExpr(FieldExpr { syntax }), 3375 FIELD_EXPR => Expr::FieldExpr(FieldExpr { syntax }),
3350 AWAIT_EXPR => Expr::AwaitExpr(AwaitExpr { syntax }), 3376 AWAIT_EXPR => Expr::AwaitExpr(AwaitExpr { syntax }),
3351 TRY_EXPR => Expr::TryExpr(TryExpr { syntax }), 3377 TRY_EXPR => Expr::TryExpr(TryExpr { syntax }),
3378 TRY_BLOCK_EXPR => Expr::TryBlockExpr(TryBlockExpr { syntax }),
3352 CAST_EXPR => Expr::CastExpr(CastExpr { syntax }), 3379 CAST_EXPR => Expr::CastExpr(CastExpr { syntax }),
3353 REF_EXPR => Expr::RefExpr(RefExpr { syntax }), 3380 REF_EXPR => Expr::RefExpr(RefExpr { syntax }),
3354 PREFIX_EXPR => Expr::PrefixExpr(PrefixExpr { syntax }), 3381 PREFIX_EXPR => Expr::PrefixExpr(PrefixExpr { syntax }),
@@ -3385,6 +3412,7 @@ impl AstNode for Expr {
3385 Expr::FieldExpr(it) => &it.syntax, 3412 Expr::FieldExpr(it) => &it.syntax,
3386 Expr::AwaitExpr(it) => &it.syntax, 3413 Expr::AwaitExpr(it) => &it.syntax,
3387 Expr::TryExpr(it) => &it.syntax, 3414 Expr::TryExpr(it) => &it.syntax,
3415 Expr::TryBlockExpr(it) => &it.syntax,
3388 Expr::CastExpr(it) => &it.syntax, 3416 Expr::CastExpr(it) => &it.syntax,
3389 Expr::RefExpr(it) => &it.syntax, 3417 Expr::RefExpr(it) => &it.syntax,
3390 Expr::PrefixExpr(it) => &it.syntax, 3418 Expr::PrefixExpr(it) => &it.syntax,
@@ -3865,6 +3893,11 @@ impl std::fmt::Display for LoopExpr {
3865 std::fmt::Display::fmt(self.syntax(), f) 3893 std::fmt::Display::fmt(self.syntax(), f)
3866 } 3894 }
3867} 3895}
3896impl std::fmt::Display for TryBlockExpr {
3897 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3898 std::fmt::Display::fmt(self.syntax(), f)
3899 }
3900}
3868impl std::fmt::Display for ForExpr { 3901impl std::fmt::Display for ForExpr {
3869 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { 3902 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3870 std::fmt::Display::fmt(self.syntax(), f) 3903 std::fmt::Display::fmt(self.syntax(), f)