@@ -465,8 +465,12 @@ struct ExtractorInfo {
465465 nodes : Vec < ExtractorNodeInfo > ,
466466}
467467
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 {
470474 name : class_name ( & node. name ) ,
471475 snake_case_name : to_lower_snake_case ( & node. name ) ,
472476 ast_name : node. name . clone ( ) ,
@@ -478,7 +482,7 @@ fn enum_to_extractor_info(node: &AstEnumSrc) -> ExtractorEnumInfo {
478482 snake_case_name : to_lower_snake_case ( v) ,
479483 } )
480484 . collect ( ) ,
481- }
485+ } )
482486}
483487
484488fn field_info_to_extractor_info ( node : & AstNodeSrc , field : & FieldInfo ) -> ExtractorNodeFieldInfo {
@@ -528,7 +532,7 @@ fn node_to_extractor_info(node: &AstNodeSrc) -> ExtractorNodeInfo {
528532
529533fn write_extractor ( grammar : & AstSrc ) -> mustache:: Result < String > {
530534 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 ( ) ,
532536 nodes : grammar. nodes . iter ( ) . map ( node_to_extractor_info) . collect ( ) ,
533537 } ;
534538 let template = mustache:: compile_str ( include_str ! ( "templates/extractor.mustache" ) ) ?;
0 commit comments