From 7c67612b8a894187fa3b64725531a5459f9211bf Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 10 Aug 2018 22:33:29 +0300 Subject: organizize --- crates/libsyntax2/src/ast/generated.rs | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 crates/libsyntax2/src/ast/generated.rs (limited to 'crates/libsyntax2/src/ast/generated.rs') diff --git a/crates/libsyntax2/src/ast/generated.rs b/crates/libsyntax2/src/ast/generated.rs new file mode 100644 index 000000000..2f813050a --- /dev/null +++ b/crates/libsyntax2/src/ast/generated.rs @@ -0,0 +1,54 @@ +use std::sync::Arc; +use { + SyntaxNode, SyntaxRoot, TreeRoot, AstNode, + SyntaxKind::*, +}; + + +#[derive(Debug, Clone, Copy)] +pub struct File> { + syntax: SyntaxNode, +} + +impl AstNode for File { + fn cast(syntax: SyntaxNode) -> Option { + match syntax.kind() { + FILE => Some(File { syntax }), + _ => None, + } + } + fn syntax(&self) -> &SyntaxNode { &self.syntax } +} + + +#[derive(Debug, Clone, Copy)] +pub struct Function> { + syntax: SyntaxNode, +} + +impl AstNode for Function { + fn cast(syntax: SyntaxNode) -> Option { + match syntax.kind() { + FUNCTION => Some(Function { syntax }), + _ => None, + } + } + fn syntax(&self) -> &SyntaxNode { &self.syntax } +} + + +#[derive(Debug, Clone, Copy)] +pub struct Name> { + syntax: SyntaxNode, +} + +impl AstNode for Name { + fn cast(syntax: SyntaxNode) -> Option { + match syntax.kind() { + NAME => Some(Name { syntax }), + _ => None, + } + } + fn syntax(&self) -> &SyntaxNode { &self.syntax } +} + -- cgit v1.2.3