@@ -465,8 +465,12 @@ struct ExtractorInfo {
465
465
nodes : Vec < ExtractorNodeInfo > ,
466
466
}
467
467
468
- fn enum_to_extractor_info ( node : & AstEnumSrc ) -> ExtractorEnumInfo {
469
- ExtractorEnumInfo {
468
+ fn enum_to_extractor_info ( node : & AstEnumSrc ) -> Option < ExtractorEnumInfo > {
469
+ if node. name == "VariantDef" {
470
+ // currently defined but unused
471
+ return None ;
472
+ }
473
+ Some ( ExtractorEnumInfo {
470
474
name : class_name ( & node. name ) ,
471
475
snake_case_name : to_lower_snake_case ( & node. name ) ,
472
476
ast_name : node. name . clone ( ) ,
@@ -478,7 +482,7 @@ fn enum_to_extractor_info(node: &AstEnumSrc) -> ExtractorEnumInfo {
478
482
snake_case_name : to_lower_snake_case ( v) ,
479
483
} )
480
484
. collect ( ) ,
481
- }
485
+ } )
482
486
}
483
487
484
488
fn field_info_to_extractor_info ( node : & AstNodeSrc , field : & FieldInfo ) -> ExtractorNodeFieldInfo {
@@ -528,7 +532,7 @@ fn node_to_extractor_info(node: &AstNodeSrc) -> ExtractorNodeInfo {
528
532
529
533
fn write_extractor ( grammar : & AstSrc ) -> mustache:: Result < String > {
530
534
let extractor_info = ExtractorInfo {
531
- enums : grammar. enums . iter ( ) . map ( enum_to_extractor_info) . collect ( ) ,
535
+ enums : grammar. enums . iter ( ) . filter_map ( enum_to_extractor_info) . collect ( ) ,
532
536
nodes : grammar. nodes . iter ( ) . map ( node_to_extractor_info) . collect ( ) ,
533
537
} ;
534
538
let template = mustache:: compile_str ( include_str ! ( "templates/extractor.mustache" ) ) ?;
0 commit comments