chore: assignment patterns refactor tuple into struct
This commit is contained in:
@@ -15,8 +15,8 @@ Test(
|
||||
name: "False",
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Constructor {
|
||||
AssignmentPattern {
|
||||
pattern: Constructor {
|
||||
is_record: false,
|
||||
location: 38..42,
|
||||
name: "True",
|
||||
@@ -26,8 +26,8 @@ Test(
|
||||
with_spread: false,
|
||||
tipo: (),
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Expect {
|
||||
backpassing: false,
|
||||
|
||||
@@ -26,13 +26,13 @@ Fn(
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 17..18,
|
||||
name: "x",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -12,6 +12,10 @@ pub fn let_(
|
||||
.ignore_then(
|
||||
pattern()
|
||||
.then(just(Token::Colon).ignore_then(annotation()).or_not())
|
||||
.map(|(pattern, annotation)| ast::AssignmentPattern {
|
||||
pattern,
|
||||
annotation,
|
||||
})
|
||||
.separated_by(just(Token::Comma))
|
||||
.at_least(1),
|
||||
)
|
||||
@@ -44,6 +48,10 @@ pub fn expect(
|
||||
.ignore_then(
|
||||
pattern()
|
||||
.then(just(Token::Colon).ignore_then(annotation()).or_not())
|
||||
.map(|(pattern, annotation)| ast::AssignmentPattern {
|
||||
pattern,
|
||||
annotation,
|
||||
})
|
||||
.separated_by(just(Token::Comma))
|
||||
.at_least(1)
|
||||
.then(choice((just(Token::Equal), just(Token::LArrow))))
|
||||
@@ -57,8 +65,8 @@ pub fn expect(
|
||||
|
||||
let (patterns, kind) = opt_pattern.unwrap_or_else(|| {
|
||||
(
|
||||
vec![(
|
||||
ast::UntypedPattern::Constructor {
|
||||
vec![ast::AssignmentPattern {
|
||||
pattern: ast::UntypedPattern::Constructor {
|
||||
is_record: false,
|
||||
location: span,
|
||||
name: "True".to_string(),
|
||||
@@ -68,8 +76,8 @@ pub fn expect(
|
||||
with_spread: false,
|
||||
tipo: (),
|
||||
},
|
||||
None,
|
||||
)],
|
||||
annotation: None,
|
||||
}],
|
||||
Token::Equal,
|
||||
)
|
||||
});
|
||||
|
||||
@@ -17,13 +17,13 @@ Assignment {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 16..17,
|
||||
name: "x",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
@@ -47,13 +47,13 @@ Assignment {
|
||||
],
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 4..5,
|
||||
name: "b",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -13,8 +13,8 @@ Assignment {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Constructor {
|
||||
AssignmentPattern {
|
||||
pattern: Constructor {
|
||||
is_record: false,
|
||||
location: 7..14,
|
||||
name: "Some",
|
||||
@@ -33,8 +33,8 @@ Assignment {
|
||||
with_spread: false,
|
||||
tipo: (),
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Expect {
|
||||
backpassing: false,
|
||||
|
||||
@@ -21,8 +21,8 @@ Assignment {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Constructor {
|
||||
AssignmentPattern {
|
||||
pattern: Constructor {
|
||||
is_record: false,
|
||||
location: 0..29,
|
||||
name: "True",
|
||||
@@ -32,8 +32,8 @@ Assignment {
|
||||
with_spread: false,
|
||||
tipo: (),
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Expect {
|
||||
backpassing: false,
|
||||
|
||||
@@ -17,13 +17,13 @@ Assignment {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 13..14,
|
||||
name: "a",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
@@ -32,8 +32,8 @@ Assignment {
|
||||
],
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Constructor {
|
||||
AssignmentPattern {
|
||||
pattern: Constructor {
|
||||
is_record: false,
|
||||
location: 0..21,
|
||||
name: "True",
|
||||
@@ -43,8 +43,8 @@ Assignment {
|
||||
with_spread: false,
|
||||
tipo: (),
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Expect {
|
||||
backpassing: false,
|
||||
|
||||
@@ -17,13 +17,13 @@ Assignment {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 14..15,
|
||||
name: "b",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
@@ -32,13 +32,13 @@ Assignment {
|
||||
],
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 4..5,
|
||||
name: "a",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -17,13 +17,13 @@ Assignment {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 14..15,
|
||||
name: "b",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
@@ -32,13 +32,13 @@ Assignment {
|
||||
],
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 4..5,
|
||||
name: "a",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -17,13 +17,13 @@ Assignment {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 16..17,
|
||||
name: "b",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
@@ -36,13 +36,13 @@ Assignment {
|
||||
],
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 4..5,
|
||||
name: "a",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -12,8 +12,8 @@ Assignment {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Constructor {
|
||||
AssignmentPattern {
|
||||
pattern: Constructor {
|
||||
is_record: false,
|
||||
location: 0..11,
|
||||
name: "True",
|
||||
@@ -23,8 +23,8 @@ Assignment {
|
||||
with_spread: false,
|
||||
tipo: (),
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Expect {
|
||||
backpassing: false,
|
||||
|
||||
@@ -28,13 +28,13 @@ Sequence {
|
||||
location: 8..18,
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 4..5,
|
||||
name: "x",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
@@ -118,13 +118,13 @@ Sequence {
|
||||
return_annotation: None,
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 24..33,
|
||||
name: "map_add_x",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -15,13 +15,13 @@ Sequence {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 8..9,
|
||||
name: "i",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
@@ -37,13 +37,13 @@ Sequence {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 28..29,
|
||||
name: "j",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
@@ -63,13 +63,13 @@ Sequence {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 48..49,
|
||||
name: "k",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -29,13 +29,13 @@ Assignment {
|
||||
tail: None,
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 4..9,
|
||||
name: "thing",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -41,13 +41,13 @@ Sequence {
|
||||
],
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 4..9,
|
||||
name: "tuple",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -28,13 +28,13 @@ Sequence {
|
||||
location: 8..15,
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 4..5,
|
||||
name: "a",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
@@ -86,13 +86,13 @@ When {
|
||||
},
|
||||
},
|
||||
patterns: [
|
||||
(
|
||||
Var {
|
||||
AssignmentPattern {
|
||||
pattern: Var {
|
||||
location: 55..62,
|
||||
name: "amazing",
|
||||
},
|
||||
None,
|
||||
),
|
||||
annotation: None,
|
||||
},
|
||||
],
|
||||
kind: Let {
|
||||
backpassing: false,
|
||||
|
||||
Reference in New Issue
Block a user