Skip to content

Commit 45f88be

Browse files
committed
move properties to defelem
1 parent 8b2fd25 commit 45f88be

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

Diff for: crates/codegen/src/get_node_properties.rs

+14-12
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,19 @@ fn custom_handlers(node: &Node) -> TokenStream {
211211
tokens.push(TokenProperty::from(n));
212212
},
213213
"DefElem" => quote! {
214+
match n.defname.as_str() {
215+
"location" => {
216+
tokens.push(TokenProperty::from(Token::Default));
217+
},
218+
"connection_limit" => {
219+
tokens.push(TokenProperty::from(Token::Limit));
220+
tokens.push(TokenProperty::from(Token::Iconst));
221+
},
222+
"owner" => {
223+
tokens.push(TokenProperty::from(Token::Owner));
224+
}
225+
_ => {}
226+
}
214227
match n.defaction() {
215228
protobuf::DefElemAction::DefelemUnspec => tokens.push(TokenProperty::from(Token::Ascii61)),
216229
_ => panic!("Unknown DefElem {:#?}", n.defaction()),
@@ -679,24 +692,13 @@ fn custom_handlers(node: &Node) -> TokenStream {
679692
tokens.push(TokenProperty::from(Token::With));
680693
}
681694
},
682-
"CompositeTypeStmt" => quote! {
695+
"CompositeTypeStmt" => quote! {
683696
tokens.push(TokenProperty::from(Token::Create));
684697
tokens.push(TokenProperty::from(Token::TypeP));
685698
},
686699
"CreatedbStmt" => quote! {
687700
tokens.push(TokenProperty::from(Token::Create));
688701
tokens.push(TokenProperty::from(Token::Database));
689-
for option in &n.options {
690-
if let Some(NodeEnum::DefElem(node)) = &option.node {
691-
if node.defname == "location" {
692-
tokens.push(TokenProperty::from(Token::Default));
693-
}
694-
if node.defname == "connection_limit" {
695-
tokens.push(TokenProperty::from(Token::Limit));
696-
tokens.push(TokenProperty::from(Token::Iconst));
697-
}
698-
}
699-
}
700702
},
701703
_ => quote! {},
702704
}

Diff for: crates/parser/src/codegen.rs

-2
Original file line numberDiff line numberDiff line change
@@ -277,8 +277,6 @@ mod tests {
277277
vec![
278278
TokenProperty::from(SyntaxKind::Create),
279279
TokenProperty::from(SyntaxKind::Database),
280-
TokenProperty::from(SyntaxKind::Limit),
281-
TokenProperty::from(SyntaxKind::Iconst),
282280
TokenProperty::from("x".to_string()),
283281
],
284282
)

Diff for: crates/parser/tests/snapshots/statements/valid/[email protected]

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ Parse {
1616
Whitespace@23..24 " "
1717
Ident@24..27 "abc"
1818
Whitespace@27..28 " "
19-
DefElem@28..38
19+
DefElem@28..46
2020
Connection@28..38 "CONNECTION"
21-
Whitespace@38..39 " "
22-
Limit@39..44 "LIMIT"
23-
Whitespace@44..45 " "
24-
Iconst@45..46 "5"
21+
Whitespace@38..39 " "
22+
Limit@39..44 "LIMIT"
23+
Whitespace@44..45 " "
24+
Iconst@45..46 "5"
2525
Ascii59@46..47 ";"
2626
,
2727
errors: [],

Diff for: crates/parser/tests/snapshots/statements/valid/[email protected]

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ Parse {
1212
Whitespace@16..17 " "
1313
Ident@17..18 "x"
1414
Whitespace@18..19 " "
15-
DefElem@19..27
15+
DefElem@19..35
1616
Location@19..27 "LOCATION"
17-
Whitespace@27..28 " "
18-
Default@28..35 "DEFAULT"
17+
Whitespace@27..28 " "
18+
Default@28..35 "DEFAULT"
1919
Ascii59@35..36 ";"
2020
,
2121
errors: [],

0 commit comments

Comments
 (0)