chore: assignment patterns refactor tuple into struct

This commit is contained in:
rvcas
2024-03-11 18:53:29 -04:00
committed by Lucas
parent b6b52ba508
commit 97247ce949
24 changed files with 205 additions and 161 deletions

View File

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

View File

@@ -26,13 +26,13 @@ Fn(
},
},
patterns: [
(
Var {
AssignmentPattern {
pattern: Var {
location: 17..18,
name: "x",
},
None,
),
annotation: None,
},
],
kind: Let {
backpassing: false,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -29,13 +29,13 @@ Assignment {
tail: None,
},
patterns: [
(
Var {
AssignmentPattern {
pattern: Var {
location: 4..9,
name: "thing",
},
None,
),
annotation: None,
},
],
kind: Let {
backpassing: false,

View File

@@ -41,13 +41,13 @@ Sequence {
],
},
patterns: [
(
Var {
AssignmentPattern {
pattern: Var {
location: 4..9,
name: "tuple",
},
None,
),
annotation: None,
},
],
kind: Let {
backpassing: false,

View File

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

View File

@@ -86,13 +86,13 @@ When {
},
},
patterns: [
(
Var {
AssignmentPattern {
pattern: Var {
location: 55..62,
name: "amazing",
},
None,
),
annotation: None,
},
],
kind: Let {
backpassing: false,