mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-03 19:58:18 +00:00
Parse module params in import
This commit is contained in:
parent
08825a9e90
commit
e5a09b5de6
19 changed files with 305 additions and 70 deletions
|
@ -23,6 +23,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: None,
|
||||
},
|
||||
|
|
|
@ -41,6 +41,7 @@ Defs {
|
|||
"Decode",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: None,
|
||||
},
|
||||
|
@ -56,6 +57,7 @@ Defs {
|
|||
"Decode",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -82,6 +84,7 @@ Defs {
|
|||
"Decode",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: Some(
|
||||
KeywordItem {
|
||||
|
@ -118,6 +121,7 @@ Defs {
|
|||
"Decode",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
|
|
@ -29,6 +29,7 @@ Defs {
|
|||
"JsonEncode",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -53,6 +54,7 @@ Defs {
|
|||
"Bytes.Decode",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
|
|
@ -104,6 +104,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -141,6 +142,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -183,6 +185,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -212,6 +215,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -254,6 +258,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -304,6 +309,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: Some(
|
||||
KeywordItem {
|
||||
|
@ -343,6 +349,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -385,6 +392,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: Some(
|
||||
KeywordItem {
|
||||
|
@ -416,6 +424,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -458,6 +467,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -513,6 +523,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
@ -583,6 +594,7 @@ Defs {
|
|||
"A",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: None,
|
||||
},
|
||||
|
@ -596,6 +608,7 @@ Defs {
|
|||
"B",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: None,
|
||||
},
|
||||
|
|
|
@ -34,6 +34,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: Some(
|
||||
KeywordItem {
|
||||
|
@ -63,6 +64,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: Some(
|
||||
KeywordItem {
|
||||
|
@ -97,6 +99,7 @@ Defs {
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: Some(
|
||||
KeywordItem {
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
import pf.Menu
|
||||
import Menu
|
|
@ -0,0 +1,83 @@
|
|||
Defs {
|
||||
tags: [
|
||||
Index(2147483648),
|
||||
Index(2147483649),
|
||||
],
|
||||
regions: [
|
||||
@0-29,
|
||||
@30-60,
|
||||
],
|
||||
space_before: [
|
||||
Slice(start = 0, length = 0),
|
||||
Slice(start = 0, length = 1),
|
||||
],
|
||||
space_after: [
|
||||
Slice(start = 0, length = 0),
|
||||
Slice(start = 1, length = 0),
|
||||
],
|
||||
spaces: [
|
||||
Newline,
|
||||
],
|
||||
type_defs: [],
|
||||
value_defs: [
|
||||
ModuleImport(
|
||||
ModuleImport {
|
||||
before_name: [],
|
||||
name: @7-14 ImportedModuleName {
|
||||
package: Some(
|
||||
"pf",
|
||||
),
|
||||
name: ModuleName(
|
||||
"Menu",
|
||||
),
|
||||
},
|
||||
params: Some(
|
||||
ModuleImportParams {
|
||||
before: [],
|
||||
params: [
|
||||
@17-21 LabelOnly(
|
||||
@17-21 "echo",
|
||||
),
|
||||
@23-28 LabelOnly(
|
||||
@23-27 "read",
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
alias: None,
|
||||
exposed: None,
|
||||
},
|
||||
),
|
||||
ModuleImport(
|
||||
ModuleImport {
|
||||
before_name: [],
|
||||
name: @37-41 ImportedModuleName {
|
||||
package: None,
|
||||
name: ModuleName(
|
||||
"Menu",
|
||||
),
|
||||
},
|
||||
params: Some(
|
||||
ModuleImportParams {
|
||||
before: [],
|
||||
params: [
|
||||
@44-48 LabelOnly(
|
||||
@44-48 "echo",
|
||||
),
|
||||
@54-59 SpaceBefore(
|
||||
LabelOnly(
|
||||
@54-58 "read",
|
||||
),
|
||||
[
|
||||
Newline,
|
||||
],
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
alias: None,
|
||||
exposed: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
import pf.Menu { echo, read }
|
||||
import Menu { echo,
|
||||
read }
|
|
@ -32,6 +32,7 @@ Defs(
|
|||
"Json",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: Some(
|
||||
KeywordItem {
|
||||
|
@ -58,6 +59,7 @@ Defs(
|
|||
"Json.Encode",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: Some(
|
||||
KeywordItem {
|
||||
keyword: Spaces {
|
||||
|
|
|
@ -81,6 +81,7 @@ Full {
|
|||
"Stdout",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: None,
|
||||
},
|
||||
|
|
|
@ -71,6 +71,7 @@ Full {
|
|||
"Stdout",
|
||||
),
|
||||
},
|
||||
params: None,
|
||||
alias: None,
|
||||
exposed: None,
|
||||
},
|
||||
|
|
|
@ -212,6 +212,8 @@ mod test_snapshots {
|
|||
fail/list_pattern_not_terminated.expr,
|
||||
fail/list_pattern_weird_rest_pattern.expr,
|
||||
fail/list_without_end.expr,
|
||||
fail/module_params_with_missing_arrow.header,
|
||||
fail/module_with_unfinished_params.header,
|
||||
fail/multi_no_end.expr,
|
||||
fail/pattern_binds_keyword.expr,
|
||||
fail/pattern_in_parens_end.expr,
|
||||
|
@ -249,8 +251,6 @@ mod test_snapshots {
|
|||
fail/when_over_indented_underscore.expr,
|
||||
fail/where_type_variable.expr,
|
||||
fail/wild_case_arrow.expr,
|
||||
fail/module_with_unfinished_params.header,
|
||||
fail/module_params_with_missing_arrow.header,
|
||||
malformed/bad_opaque_ref.expr,
|
||||
malformed/malformed_ident_due_to_underscore.expr,
|
||||
malformed/malformed_pattern_field_access.expr, // See https://github.com/roc-lang/roc/issues/399
|
||||
|
@ -332,6 +332,7 @@ mod test_snapshots {
|
|||
pass/import_with_alias.moduledefs,
|
||||
pass/import_with_comments.moduledefs,
|
||||
pass/import_with_exposed.moduledefs,
|
||||
pass/import_with_params.moduledefs,
|
||||
pass/ingested_file.moduledefs,
|
||||
pass/inline_import.expr,
|
||||
pass/inline_ingested_file.expr,
|
||||
|
@ -352,11 +353,11 @@ mod test_snapshots {
|
|||
pass/mixed_docs.expr,
|
||||
pass/module_def_newline.moduledefs,
|
||||
pass/module_multiline_exposes.header,
|
||||
pass/module_with_multiline_params_and_exposes.header,
|
||||
pass/module_with_newline.header,
|
||||
pass/module_with_optional_param.header,
|
||||
pass/module_with_params.header,
|
||||
pass/module_with_params_and_multiline_exposes.header,
|
||||
pass/module_with_optional_param.header,
|
||||
pass/module_with_multiline_params_and_exposes.header,
|
||||
pass/multi_backpassing.expr,
|
||||
pass/multi_backpassing_in_def.moduledefs,
|
||||
pass/multi_backpassing_with_apply.expr,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue