Convert exposes_modules to collection_trailing_sep_e

This commit is contained in:
Joshua Warner 2021-11-12 11:13:54 -08:00
parent c4e70ca7aa
commit 8c8bc910fd
4 changed files with 9 additions and 7 deletions

View file

@ -3466,7 +3466,7 @@ fn fabricate_effects_module<'a>(
{ {
let mut module_ids = (*module_ids).lock(); let mut module_ids = (*module_ids).lock();
for exposed in header.exposes { for exposed in header.exposes.iter() {
if let ExposesEntry::Exposed(module_name) = exposed.value { if let ExposesEntry::Exposed(module_name) = exposed.value {
module_ids.get_or_insert(&PQModuleName::Qualified( module_ids.get_or_insert(&PQModuleName::Qualified(
shorthand, shorthand,

View file

@ -145,7 +145,7 @@ pub struct PlatformRequires<'a> {
pub struct PlatformHeader<'a> { pub struct PlatformHeader<'a> {
pub name: Loc<PackageName<'a>>, pub name: Loc<PackageName<'a>>,
pub requires: PlatformRequires<'a>, pub requires: PlatformRequires<'a>,
pub exposes: Vec<'a, Loc<ExposesEntry<'a, ModuleName<'a>>>>, pub exposes: Collection<'a, Loc<ExposesEntry<'a, ModuleName<'a>>>>,
pub packages: Collection<'a, Loc<PackageEntry<'a>>>, pub packages: Collection<'a, Loc<PackageEntry<'a>>>,
pub imports: Collection<'a, Loc<ImportsEntry<'a>>>, pub imports: Collection<'a, Loc<ImportsEntry<'a>>>,
pub provides: Collection<'a, Loc<ExposesEntry<'a, &'a str>>>, pub provides: Collection<'a, Loc<ExposesEntry<'a, &'a str>>>,

View file

@ -545,7 +545,7 @@ fn exposes_modules<'a>() -> impl Parser<
'a, 'a,
( (
(&'a [CommentOrNewline<'a>], &'a [CommentOrNewline<'a>]), (&'a [CommentOrNewline<'a>], &'a [CommentOrNewline<'a>]),
Vec<'a, Located<ExposesEntry<'a, ModuleName<'a>>>>, Collection<'a, Located<ExposesEntry<'a, ModuleName<'a>>>>,
), ),
EExposes, EExposes,
> { > {
@ -560,14 +560,16 @@ fn exposes_modules<'a>() -> impl Parser<
EExposes::IndentExposes, EExposes::IndentExposes,
EExposes::IndentListStart EExposes::IndentListStart
), ),
collection_e!( collection_trailing_sep_e!(
word1(b'[', EExposes::ListStart), word1(b'[', EExposes::ListStart),
exposes_module(EExposes::Identifier), exposes_module(EExposes::Identifier),
word1(b',', EExposes::ListEnd), word1(b',', EExposes::ListEnd),
word1(b']', EExposes::ListEnd), word1(b']', EExposes::ListEnd),
min_indent, min_indent,
EExposes::Open,
EExposes::Space, EExposes::Space,
EExposes::IndentListEnd EExposes::IndentListEnd,
ExposesEntry::SpaceBefore
) )
) )
} }

View file

@ -3340,7 +3340,7 @@ mod test_parse {
before_header: &[], before_header: &[],
name: Located::new(0, 0, 9, 23, pkg_name), name: Located::new(0, 0, 9, 23, pkg_name),
requires, requires,
exposes: Vec::new_in(&arena), exposes: Collection::empty(),
packages: Collection::empty(), packages: Collection::empty(),
imports: Collection::empty(), imports: Collection::empty(),
provides: Collection::empty(), provides: Collection::empty(),
@ -3431,7 +3431,7 @@ mod test_parse {
before_header: &[], before_header: &[],
name: Located::new(0, 0, 9, 19, pkg_name), name: Located::new(0, 0, 9, 19, pkg_name),
requires, requires,
exposes: Vec::new_in(&arena), exposes: Collection::empty(),
packages, packages,
imports, imports,
provides, provides,