mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-27 05:49:08 +00:00
add very rough framework of how the parse might need to change
This commit is contained in:
parent
1059c81d33
commit
99547086ee
6 changed files with 91 additions and 37 deletions
|
@ -4490,7 +4490,8 @@ fn build_header<'a>(
|
|||
let mut scope_size = 0;
|
||||
|
||||
for loc_entry in imports {
|
||||
let (qualified_module_name, exposed) = exposed_from_import(&loc_entry.value);
|
||||
let (qualified_module_name, exposed) =
|
||||
exposed_from_import(&loc_entry.value, &declared_name);
|
||||
|
||||
scope_size += num_exposes;
|
||||
|
||||
|
@ -5620,7 +5621,10 @@ fn parse<'a>(arena: &'a Bump, header: ModuleHeader<'a>) -> Result<Msg<'a>, Loadi
|
|||
Ok(Msg::Parsed(parsed))
|
||||
}
|
||||
|
||||
fn exposed_from_import<'a>(entry: &ImportsEntry<'a>) -> (QualifiedModuleName<'a>, Vec<Loc<Ident>>) {
|
||||
fn exposed_from_import<'a>(
|
||||
entry: &ImportsEntry<'a>,
|
||||
current_module: &ModuleName,
|
||||
) -> (QualifiedModuleName<'a>, Vec<Loc<Ident>>) {
|
||||
use roc_parse::header::ImportsEntry::*;
|
||||
|
||||
match entry {
|
||||
|
@ -5653,6 +5657,21 @@ fn exposed_from_import<'a>(entry: &ImportsEntry<'a>) -> (QualifiedModuleName<'a>
|
|||
|
||||
(qualified_module_name, exposed)
|
||||
}
|
||||
|
||||
IngestedFile(_, typed_ident) => {
|
||||
let exposed = vec![typed_ident
|
||||
.extract_spaces()
|
||||
.item
|
||||
.ident
|
||||
.map(|&ident_str| Ident(ident_str.into()))];
|
||||
|
||||
let qualified_module_name = QualifiedModuleName {
|
||||
opt_package: None,
|
||||
module: current_module.to_owned(),
|
||||
};
|
||||
|
||||
(qualified_module_name, exposed)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue