sway_parse/item/
item_configurable.rs1use 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}