mirror of
https://github.com/gleam-lang/gleam.git
synced 2024-10-04 02:18:03 +03:00
Pub import
This commit is contained in:
parent
c858574ce3
commit
8800e1892e
@ -777,13 +777,14 @@ fn record_imported_items_for_use_detection<A>(
|
||||
environment: &Environment<'_>,
|
||||
) -> Result<TypedDefinition, Error> {
|
||||
let Import {
|
||||
public,
|
||||
documentation,
|
||||
location,
|
||||
module,
|
||||
as_name,
|
||||
mut unqualified_values,
|
||||
unqualified_types,
|
||||
..
|
||||
package: (),
|
||||
} = i;
|
||||
// Find imported module
|
||||
let module_info =
|
||||
@ -818,6 +819,7 @@ fn record_imported_items_for_use_detection<A>(
|
||||
}
|
||||
|
||||
Ok(Definition::Import(Import {
|
||||
public,
|
||||
documentation,
|
||||
location,
|
||||
module,
|
||||
|
@ -410,6 +410,7 @@ pub struct Import<PackageName> {
|
||||
pub unqualified_values: Vec<UnqualifiedImport>,
|
||||
pub unqualified_types: Vec<UnqualifiedImport>,
|
||||
pub package: PackageName,
|
||||
pub public: bool,
|
||||
}
|
||||
|
||||
impl<T> Import<T> {
|
||||
|
@ -231,9 +231,13 @@ where
|
||||
|
||||
let def = match (self.tok0.take(), self.tok1.as_ref()) {
|
||||
// Imports
|
||||
(Some((start, Token::Pub, _)), Some((_, Token::Import, _))) => {
|
||||
let _ = self.next_tok();
|
||||
self.parse_import(start, false)
|
||||
}
|
||||
(Some((start, Token::Import, _)), _) => {
|
||||
let _ = self.next_tok();
|
||||
self.parse_import(start)
|
||||
self.parse_import(start, false)
|
||||
}
|
||||
// Module Constants
|
||||
(Some((_, Token::Const, _)), _) => {
|
||||
@ -1925,7 +1929,11 @@ where
|
||||
// import a/b
|
||||
// import a/b.{c}
|
||||
// import a/b.{c as d} as e
|
||||
fn parse_import(&mut self, import_start: u32) -> Result<Option<UntypedDefinition>, ParseError> {
|
||||
fn parse_import(
|
||||
&mut self,
|
||||
import_start: u32,
|
||||
public: bool,
|
||||
) -> Result<Option<UntypedDefinition>, ParseError> {
|
||||
let mut start = 0;
|
||||
let mut end;
|
||||
let mut module = String::new();
|
||||
@ -1985,6 +1993,7 @@ where
|
||||
}
|
||||
|
||||
Ok(Some(Definition::Import(Import {
|
||||
public,
|
||||
documentation,
|
||||
location: SrcSpan {
|
||||
start: import_start,
|
||||
|
@ -51,6 +51,7 @@ Parsed {
|
||||
},
|
||||
],
|
||||
package: (),
|
||||
public: false,
|
||||
},
|
||||
),
|
||||
target: None,
|
||||
|
Loading…
Reference in New Issue
Block a user