From 42244e86e61fd93972e430a9017407ac7a54394a Mon Sep 17 00:00:00 2001 From: Cedric Vangout Date: Thu, 14 Dec 2023 21:56:14 +0100 Subject: [PATCH] feat: add support for create type --- crates/codegen/src/get_node_properties.rs | 4 ++++ crates/parser/src/codegen.rs | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/crates/codegen/src/get_node_properties.rs b/crates/codegen/src/get_node_properties.rs index 6f9443a4..8c29796a 100644 --- a/crates/codegen/src/get_node_properties.rs +++ b/crates/codegen/src/get_node_properties.rs @@ -679,6 +679,10 @@ fn custom_handlers(node: &Node) -> TokenStream { tokens.push(TokenProperty::from(Token::With)); } }, + "CompositeTypeStmt" => quote! { + tokens.push(TokenProperty::from(Token::Create)); + tokens.push(TokenProperty::from(Token::TypeP)); + }, _ => quote! {}, } } diff --git a/crates/parser/src/codegen.rs b/crates/parser/src/codegen.rs index 7a297924..44951c80 100644 --- a/crates/parser/src/codegen.rs +++ b/crates/parser/src/codegen.rs @@ -256,4 +256,16 @@ mod tests { ], ) } + + #[test] + fn test_create_type() { + test_get_node_properties( + "create type type1 as (attr1 int4, attr2 bool);", + SyntaxKind::CompositeTypeStmt, + vec![ + TokenProperty::from(SyntaxKind::Create), + TokenProperty::from(SyntaxKind::TypeP), + ], + ) + } }