@@ -14,24 +14,26 @@ 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
- ( _, "then_branch" ) => "then" . to_owned ( ) ,
32
- ( _, "else_branch" ) => "else_" . to_owned ( ) ,
33
- _ => field_name. to_owned ( ) ,
34
- }
29
+ fn property_name ( type_name : & str , field_name : & str ) -> String {
30
+ let name = match ( type_name, field_name) {
31
+ ( "Path" , "segment" ) => "part" ,
32
+ ( _, "then_branch" ) => "then" ,
33
+ ( _, "else_branch" ) => "else_" ,
34
+ _ => field_name,
35
+ } ;
36
+ name. to_owned ( )
35
37
}
36
38
37
39
fn to_lower_snake_case ( s : & str ) -> String {
@@ -61,7 +63,7 @@ fn write_schema(
61
63
62
64
for node in & grammar. enums {
63
65
let super_classses = if let Some ( cls) = super_types. get ( & node. name ) {
64
- let super_classes: Vec < String > = cls. iter ( ) . map ( class_name) . collect ( ) ;
66
+ let super_classes: Vec < String > = cls. iter ( ) . map ( |s| class_name ( s ) ) . collect ( ) ;
65
67
super_classes. join ( "," )
66
68
} else {
67
69
"AstNode" . to_owned ( )
@@ -76,7 +78,7 @@ fn write_schema(
76
78
}
77
79
for node in & grammar. nodes {
78
80
let super_classses = if let Some ( cls) = super_types. get ( & node. name ) {
79
- let super_classes: Vec < String > = cls. iter ( ) . map ( class_name) . collect ( ) ;
81
+ let super_classes: Vec < String > = cls. iter ( ) . map ( |s| class_name ( s ) ) . collect ( ) ;
80
82
super_classes. join ( "," )
81
83
} else {
82
84
"AstNode" . to_owned ( )
0 commit comments