@@ -14,25 +14,27 @@ fn project_root() -> PathBuf {
14
14
PathBuf :: from ( dir) . parent ( ) . unwrap ( ) . to_owned ( )
15
15
}
16
16
17
- fn class_name ( type_name : & String ) -> String {
18
- match type_name. as_str ( ) {
19
- "BinExpr" => "BinaryExpr" . to_owned ( ) ,
20
- "ElseBranch" => "Expr" . to_owned ( ) ,
21
- "Fn" => "Function" . to_owned ( ) ,
22
- "Literal" => "LiteralExpr" . to_owned ( ) ,
23
- "Type" => "TypeRef" . to_owned ( ) ,
24
- _ => type_name. to_owned ( ) ,
25
- }
17
+ fn class_name ( type_name : & str ) -> String {
18
+ let name = match type_name {
19
+ "BinExpr" => "BinaryExpr" ,
20
+ "ElseBranch" => "Expr" ,
21
+ "Fn" => "Function" ,
22
+ "Literal" => "LiteralExpr" ,
23
+ "Type" => "TypeRef" ,
24
+ _ => type_name,
25
+ } ;
26
+ name. to_owned ( )
26
27
}
27
28
28
- fn property_name ( type_name : & String , field_name : & String ) -> String {
29
- match ( type_name. as_str ( ) , field_name. as_str ( ) ) {
30
- ( "Path" , "segment" ) => "part" . to_owned ( ) ,
31
- ( "MatchExpr" , "expr" ) => "scrutinee" . to_owned ( ) ,
32
- ( _, "then_branch" ) => "then" . to_owned ( ) ,
33
- ( _, "else_branch" ) => "else_" . to_owned ( ) ,
34
- _ => field_name. to_owned ( ) ,
35
- }
29
+ fn property_name ( type_name : & str , field_name : & str ) -> String {
30
+ let name = match ( type_name, field_name) {
31
+ ( "Path" , "segment" ) => "part" ,
32
+ ( "MatchExpr" , "expr" ) => "scrutinee" ,
33
+ ( _, "then_branch" ) => "then" ,
34
+ ( _, "else_branch" ) => "else_" ,
35
+ _ => field_name,
36
+ } ;
37
+ name. to_owned ( )
36
38
}
37
39
38
40
fn to_lower_snake_case ( s : & str ) -> String {
@@ -62,7 +64,7 @@ fn write_schema(
62
64
63
65
for node in & grammar. enums {
64
66
let super_classses = if let Some ( cls) = super_types. get ( & node. name ) {
65
- let super_classes: Vec < String > = cls. iter ( ) . map ( class_name) . collect ( ) ;
67
+ let super_classes: Vec < String > = cls. iter ( ) . map ( |s| class_name ( s ) ) . collect ( ) ;
66
68
super_classes. join ( "," )
67
69
} else {
68
70
"AstNode" . to_owned ( )
@@ -77,7 +79,7 @@ fn write_schema(
77
79
}
78
80
for node in & grammar. nodes {
79
81
let super_classses = if let Some ( cls) = super_types. get ( & node. name ) {
80
- let super_classes: Vec < String > = cls. iter ( ) . map ( class_name) . collect ( ) ;
82
+ let super_classes: Vec < String > = cls. iter ( ) . map ( |s| class_name ( s ) ) . collect ( ) ;
81
83
super_classes. join ( "," )
82
84
} else {
83
85
"AstNode" . to_owned ( )
0 commit comments