Skip to content

Commit e37a24a

Browse files
author
Paolo Tranquilli
committed
Rust: minor refactoring
1 parent a946de4 commit e37a24a

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

rust/ast-generator/src/main.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ fn get_additional_fields(node: &AstNodeSrc) -> Vec<FieldInfo> {
263263
"Fn" => vec![FieldInfo::body("body", "BlockExpr")],
264264
"Const" => vec![FieldInfo::body("body", "Expr")],
265265
"Static" => vec![FieldInfo::body("body", "Expr")],
266+
"Param" => vec![FieldInfo::body("pat", "Pat")],
266267
"ClosureExpr" => vec![FieldInfo::optional("body", "Expr")],
267268
"ArrayExpr" => vec![FieldInfo::predicate("is_semicolon")],
268269
"SelfParam" => vec![FieldInfo::predicate("is_amp")],
@@ -290,14 +291,12 @@ fn get_fields(node: &AstNodeSrc) -> Vec<FieldInfo> {
290291
result.extend(get_additional_fields(node));
291292

292293
for field in &node.fields {
293-
match (node.name.as_str(), field.method_name().as_str()) {
294+
let name = field.method_name();
295+
match (node.name.as_str(), name.as_str()) {
294296
("ArrayExpr", "expr") // The ArrayExpr type also has an 'exprs' field
295297
| ("PathSegment", "ty" | "path_type") // these are broken, handling them manually
298+
| ("Param", "pat") // handled manually to use `body`
296299
=> continue,
297-
("Param", "pat") => {
298-
result.push(FieldInfo::body("pat", "Pat"));
299-
continue;
300-
},
301300
_ => {}
302301
}
303302
let ty = match field {
@@ -310,7 +309,7 @@ fn get_fields(node: &AstNodeSrc) -> Vec<FieldInfo> {
310309
},
311310
};
312311
result.push(FieldInfo {
313-
name: field.method_name(),
312+
name,
314313
ty,
315314
});
316315
}

0 commit comments

Comments
 (0)