aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/ast
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/src/ast')
-rw-r--r--crates/ra_syntax/src/ast/generated.rs94
1 files changed, 47 insertions, 47 deletions
diff --git a/crates/ra_syntax/src/ast/generated.rs b/crates/ra_syntax/src/ast/generated.rs
index aa88b1e28..4e2705d09 100644
--- a/crates/ra_syntax/src/ast/generated.rs
+++ b/crates/ra_syntax/src/ast/generated.rs
@@ -1508,7 +1508,7 @@ unsafe impl TransparentNewType for ImplItem {
1508#[derive(Debug, Clone, Copy, PartialEq, Eq)] 1508#[derive(Debug, Clone, Copy, PartialEq, Eq)]
1509pub enum ImplItemKind<'a> { 1509pub enum ImplItemKind<'a> {
1510 FnDef(&'a FnDef), 1510 FnDef(&'a FnDef),
1511 TypeDef(&'a TypeDef), 1511 TypeAliasDef(&'a TypeAliasDef),
1512 ConstDef(&'a ConstDef), 1512 ConstDef(&'a ConstDef),
1513} 1513}
1514impl<'a> From<&'a FnDef> for &'a ImplItem { 1514impl<'a> From<&'a FnDef> for &'a ImplItem {
@@ -1516,8 +1516,8 @@ impl<'a> From<&'a FnDef> for &'a ImplItem {
1516 ImplItem::cast(&n.syntax).unwrap() 1516 ImplItem::cast(&n.syntax).unwrap()
1517 } 1517 }
1518} 1518}
1519impl<'a> From<&'a TypeDef> for &'a ImplItem { 1519impl<'a> From<&'a TypeAliasDef> for &'a ImplItem {
1520 fn from(n: &'a TypeDef) -> &'a ImplItem { 1520 fn from(n: &'a TypeAliasDef) -> &'a ImplItem {
1521 ImplItem::cast(&n.syntax).unwrap() 1521 ImplItem::cast(&n.syntax).unwrap()
1522 } 1522 }
1523} 1523}
@@ -1532,7 +1532,7 @@ impl AstNode for ImplItem {
1532 fn cast(syntax: &SyntaxNode) -> Option<&Self> { 1532 fn cast(syntax: &SyntaxNode) -> Option<&Self> {
1533 match syntax.kind() { 1533 match syntax.kind() {
1534 | FN_DEF 1534 | FN_DEF
1535 | TYPE_DEF 1535 | TYPE_ALIAS_DEF
1536 | CONST_DEF => Some(ImplItem::from_repr(syntax.into_repr())), 1536 | CONST_DEF => Some(ImplItem::from_repr(syntax.into_repr())),
1537 _ => None, 1537 _ => None,
1538 } 1538 }
@@ -1549,7 +1549,7 @@ impl ImplItem {
1549 pub fn kind(&self) -> ImplItemKind { 1549 pub fn kind(&self) -> ImplItemKind {
1550 match self.syntax.kind() { 1550 match self.syntax.kind() {
1551 FN_DEF => ImplItemKind::FnDef(FnDef::cast(&self.syntax).unwrap()), 1551 FN_DEF => ImplItemKind::FnDef(FnDef::cast(&self.syntax).unwrap()),
1552 TYPE_DEF => ImplItemKind::TypeDef(TypeDef::cast(&self.syntax).unwrap()), 1552 TYPE_ALIAS_DEF => ImplItemKind::TypeAliasDef(TypeAliasDef::cast(&self.syntax).unwrap()),
1553 CONST_DEF => ImplItemKind::ConstDef(ConstDef::cast(&self.syntax).unwrap()), 1553 CONST_DEF => ImplItemKind::ConstDef(ConstDef::cast(&self.syntax).unwrap()),
1554 _ => unreachable!(), 1554 _ => unreachable!(),
1555 } 1555 }
@@ -2359,7 +2359,7 @@ pub enum ModuleItemKind<'a> {
2359 EnumDef(&'a EnumDef), 2359 EnumDef(&'a EnumDef),
2360 FnDef(&'a FnDef), 2360 FnDef(&'a FnDef),
2361 TraitDef(&'a TraitDef), 2361 TraitDef(&'a TraitDef),
2362 TypeDef(&'a TypeDef), 2362 TypeAliasDef(&'a TypeAliasDef),
2363 ImplBlock(&'a ImplBlock), 2363 ImplBlock(&'a ImplBlock),
2364 UseItem(&'a UseItem), 2364 UseItem(&'a UseItem),
2365 ExternCrateItem(&'a ExternCrateItem), 2365 ExternCrateItem(&'a ExternCrateItem),
@@ -2387,8 +2387,8 @@ impl<'a> From<&'a TraitDef> for &'a ModuleItem {
2387 ModuleItem::cast(&n.syntax).unwrap() 2387 ModuleItem::cast(&n.syntax).unwrap()
2388 } 2388 }
2389} 2389}
2390impl<'a> From<&'a TypeDef> for &'a ModuleItem { 2390impl<'a> From<&'a TypeAliasDef> for &'a ModuleItem {
2391 fn from(n: &'a TypeDef) -> &'a ModuleItem { 2391 fn from(n: &'a TypeAliasDef) -> &'a ModuleItem {
2392 ModuleItem::cast(&n.syntax).unwrap() 2392 ModuleItem::cast(&n.syntax).unwrap()
2393 } 2393 }
2394} 2394}
@@ -2431,7 +2431,7 @@ impl AstNode for ModuleItem {
2431 | ENUM_DEF 2431 | ENUM_DEF
2432 | FN_DEF 2432 | FN_DEF
2433 | TRAIT_DEF 2433 | TRAIT_DEF
2434 | TYPE_DEF 2434 | TYPE_ALIAS_DEF
2435 | IMPL_BLOCK 2435 | IMPL_BLOCK
2436 | USE_ITEM 2436 | USE_ITEM
2437 | EXTERN_CRATE_ITEM 2437 | EXTERN_CRATE_ITEM
@@ -2456,7 +2456,7 @@ impl ModuleItem {
2456 ENUM_DEF => ModuleItemKind::EnumDef(EnumDef::cast(&self.syntax).unwrap()), 2456 ENUM_DEF => ModuleItemKind::EnumDef(EnumDef::cast(&self.syntax).unwrap()),
2457 FN_DEF => ModuleItemKind::FnDef(FnDef::cast(&self.syntax).unwrap()), 2457 FN_DEF => ModuleItemKind::FnDef(FnDef::cast(&self.syntax).unwrap()),
2458 TRAIT_DEF => ModuleItemKind::TraitDef(TraitDef::cast(&self.syntax).unwrap()), 2458 TRAIT_DEF => ModuleItemKind::TraitDef(TraitDef::cast(&self.syntax).unwrap()),
2459 TYPE_DEF => ModuleItemKind::TypeDef(TypeDef::cast(&self.syntax).unwrap()), 2459 TYPE_ALIAS_DEF => ModuleItemKind::TypeAliasDef(TypeAliasDef::cast(&self.syntax).unwrap()),
2460 IMPL_BLOCK => ModuleItemKind::ImplBlock(ImplBlock::cast(&self.syntax).unwrap()), 2460 IMPL_BLOCK => ModuleItemKind::ImplBlock(ImplBlock::cast(&self.syntax).unwrap()),
2461 USE_ITEM => ModuleItemKind::UseItem(UseItem::cast(&self.syntax).unwrap()), 2461 USE_ITEM => ModuleItemKind::UseItem(UseItem::cast(&self.syntax).unwrap()),
2462 EXTERN_CRATE_ITEM => ModuleItemKind::ExternCrateItem(ExternCrateItem::cast(&self.syntax).unwrap()), 2462 EXTERN_CRATE_ITEM => ModuleItemKind::ExternCrateItem(ExternCrateItem::cast(&self.syntax).unwrap()),
@@ -4273,6 +4273,43 @@ impl TupleType {
4273 } 4273 }
4274} 4274}
4275 4275
4276// TypeAliasDef
4277#[derive(Debug, PartialEq, Eq, Hash)]
4278#[repr(transparent)]
4279pub struct TypeAliasDef {
4280 pub(crate) syntax: SyntaxNode,
4281}
4282unsafe impl TransparentNewType for TypeAliasDef {
4283 type Repr = rowan::SyntaxNode<RaTypes>;
4284}
4285
4286impl AstNode for TypeAliasDef {
4287 fn cast(syntax: &SyntaxNode) -> Option<&Self> {
4288 match syntax.kind() {
4289 TYPE_ALIAS_DEF => Some(TypeAliasDef::from_repr(syntax.into_repr())),
4290 _ => None,
4291 }
4292 }
4293 fn syntax(&self) -> &SyntaxNode { &self.syntax }
4294}
4295
4296impl ToOwned for TypeAliasDef {
4297 type Owned = TreeArc<TypeAliasDef>;
4298 fn to_owned(&self) -> TreeArc<TypeAliasDef> { TreeArc::cast(self.syntax.to_owned()) }
4299}
4300
4301
4302impl ast::VisibilityOwner for TypeAliasDef {}
4303impl ast::NameOwner for TypeAliasDef {}
4304impl ast::TypeParamsOwner for TypeAliasDef {}
4305impl ast::AttrsOwner for TypeAliasDef {}
4306impl ast::DocCommentsOwner for TypeAliasDef {}
4307impl TypeAliasDef {
4308 pub fn type_ref(&self) -> Option<&TypeRef> {
4309 super::child_opt(self)
4310 }
4311}
4312
4276// TypeArg 4313// TypeArg
4277#[derive(Debug, PartialEq, Eq, Hash)] 4314#[derive(Debug, PartialEq, Eq, Hash)]
4278#[repr(transparent)] 4315#[repr(transparent)]
@@ -4345,43 +4382,6 @@ impl TypeArgList {
4345 } 4382 }
4346} 4383}
4347 4384
4348// TypeDef
4349#[derive(Debug, PartialEq, Eq, Hash)]
4350#[repr(transparent)]
4351pub struct TypeDef {
4352 pub(crate) syntax: SyntaxNode,
4353}
4354unsafe impl TransparentNewType for TypeDef {
4355 type Repr = rowan::SyntaxNode<RaTypes>;
4356}
4357
4358impl AstNode for TypeDef {
4359 fn cast(syntax: &SyntaxNode) -> Option<&Self> {
4360 match syntax.kind() {
4361 TYPE_DEF => Some(TypeDef::from_repr(syntax.into_repr())),
4362 _ => None,
4363 }
4364 }
4365 fn syntax(&self) -> &SyntaxNode { &self.syntax }
4366}
4367
4368impl ToOwned for TypeDef {
4369 type Owned = TreeArc<TypeDef>;
4370 fn to_owned(&self) -> TreeArc<TypeDef> { TreeArc::cast(self.syntax.to_owned()) }
4371}
4372
4373
4374impl ast::VisibilityOwner for TypeDef {}
4375impl ast::NameOwner for TypeDef {}
4376impl ast::TypeParamsOwner for TypeDef {}
4377impl ast::AttrsOwner for TypeDef {}
4378impl ast::DocCommentsOwner for TypeDef {}
4379impl TypeDef {
4380 pub fn type_ref(&self) -> Option<&TypeRef> {
4381 super::child_opt(self)
4382 }
4383}
4384
4385// TypeParam 4385// TypeParam
4386#[derive(Debug, PartialEq, Eq, Hash)] 4386#[derive(Debug, PartialEq, Eq, Hash)]
4387#[repr(transparent)] 4387#[repr(transparent)]