@@ -14,24 +14,26 @@ fn project_root() -> PathBuf {
1414 PathBuf :: from ( dir) . parent ( ) . unwrap ( ) . to_owned ( )
1515}
1616
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 ( )
2627}
2728
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 ( )
3537}
3638
3739fn to_lower_snake_case ( s : & str ) -> String {
@@ -61,7 +63,7 @@ fn write_schema(
6163
6264 for node in & grammar. enums {
6365 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 ( ) ;
6567 super_classes. join ( "," )
6668 } else {
6769 "AstNode" . to_owned ( )
@@ -76,7 +78,7 @@ fn write_schema(
7678 }
7779 for node in & grammar. nodes {
7880 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 ( ) ;
8082 super_classes. join ( "," )
8183 } else {
8284 "AstNode" . to_owned ( )
0 commit comments