sway_parse/item/
item_enum.rs

1use crate::{Parse, ParseResult, Parser};
2
3use sway_ast::keywords::{OpenAngleBracketToken, WhereToken};
4use sway_ast::ItemEnum;
5
6impl Parse for ItemEnum {
7    fn parse(parser: &mut Parser) -> ParseResult<ItemEnum> {
8        Ok(ItemEnum {
9            visibility: parser.take(),
10            enum_token: parser.parse()?,
11            name: parser.parse()?,
12            generics: parser.guarded_parse::<OpenAngleBracketToken, _>()?,
13            where_clause_opt: parser.guarded_parse::<WhereToken, _>()?,
14            fields: parser.parse()?,
15        })
16    }
17}