From 1141d448d960eedba0a5647d525910de706bf778 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 14 Aug 2018 13:33:44 +0300 Subject: Add derive intention --- crates/libsyntax2/src/ast/generated.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'crates/libsyntax2/src/ast/generated.rs') diff --git a/crates/libsyntax2/src/ast/generated.rs b/crates/libsyntax2/src/ast/generated.rs index 3e6c673ab..80670ce71 100644 --- a/crates/libsyntax2/src/ast/generated.rs +++ b/crates/libsyntax2/src/ast/generated.rs @@ -267,6 +267,31 @@ impl AstNode for NeverType { impl NeverType {} +// NominalDef +#[derive(Debug, Clone, Copy)] +pub enum NominalDef> { + StructDef(StructDef), + EnumDef(EnumDef), +} + +impl AstNode for NominalDef { + fn cast(syntax: SyntaxNode) -> Option { + match syntax.kind() { + STRUCT_DEF => Some(NominalDef::StructDef(StructDef { syntax })), + ENUM_DEF => Some(NominalDef::EnumDef(EnumDef { syntax })), + _ => None, + } + } + fn syntax(&self) -> &SyntaxNode { + match self { + NominalDef::StructDef(inner) => inner.syntax(), + NominalDef::EnumDef(inner) => inner.syntax(), + } + } +} + +impl NominalDef {} + // ParenType #[derive(Debug, Clone, Copy)] pub struct ParenType> { -- cgit v1.2.3