Parse module params in import

This commit is contained in:
Agus Zubiaga 2024-05-02 13:33:15 -03:00
parent 08825a9e90
commit e5a09b5de6
No known key found for this signature in database
19 changed files with 305 additions and 70 deletions

View file

@ -23,6 +23,7 @@ Defs {
"Json",
),
},
params: None,
alias: None,
exposed: None,
},

View file

@ -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 {

View file

@ -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 {

View file

@ -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,
},

View file

@ -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 {

View file

@ -0,0 +1,2 @@
import pf.Menu
import Menu

View file

@ -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,
},
),
],
}

View file

@ -0,0 +1,3 @@
import pf.Menu { echo, read }
import Menu { echo,
read }

View file

@ -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 {

View file

@ -81,6 +81,7 @@ Full {
"Stdout",
),
},
params: None,
alias: None,
exposed: None,
},

View file

@ -71,6 +71,7 @@ Full {
"Stdout",
),
},
params: None,
alias: None,
exposed: None,
},

View file

@ -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,