sway_parse/item/
item_configurable.rs

1use crate::{Parse, ParseResult, Parser};
2
3use sway_ast::{ConfigurableField, ItemConfigurable};
4
5impl Parse for ConfigurableField {
6    fn parse(parser: &mut Parser) -> ParseResult<ConfigurableField> {
7        let name = parser.parse()?;
8        let colon_token = parser.parse()?;
9        let ty = parser.parse()?;
10        let eq_token = parser.parse()?;
11        let initializer = parser.parse()?;
12        Ok(ConfigurableField {
13            name,
14            colon_token,
15            ty,
16            eq_token,
17            initializer,
18        })
19    }
20}
21
22impl Parse for ItemConfigurable {
23    fn parse(parser: &mut Parser) -> ParseResult<ItemConfigurable> {
24        let configurable_token = parser.parse()?;
25        let fields = parser.parse()?;
26        Ok(ItemConfigurable {
27            configurable_token,
28            fields,
29        })
30    }
31}