Implement &foo record updater syntax sugar

This commit is contained in:
Sam Mohr 2024-08-16 01:41:59 -07:00
parent a14a110293
commit b1a972ab21
No known key found for this signature in database
GPG key ID: EA41D161A3C1BC99
22 changed files with 302 additions and 41 deletions

View file

@ -721,6 +721,7 @@ impl<'a> Normalize<'a> for Expr<'a> {
Expr::Str(a) => Expr::Str(a.normalize(arena)),
Expr::RecordAccess(a, b) => Expr::RecordAccess(arena.alloc(a.normalize(arena)), b),
Expr::AccessorFunction(a) => Expr::AccessorFunction(a),
Expr::RecordUpdater(a) => Expr::RecordUpdater(a),
Expr::TupleAccess(a, b) => Expr::TupleAccess(arena.alloc(a.normalize(arena)), b),
Expr::TrySuffix { expr: a, target } => Expr::TrySuffix {
expr: arena.alloc(a.normalize(arena)),
@ -840,6 +841,7 @@ fn remove_spaces_bad_ident(ident: BadIdent) -> BadIdent {
BadIdent::WeirdDotAccess(_) => BadIdent::WeirdDotAccess(Position::zero()),
BadIdent::WeirdDotQualified(_) => BadIdent::WeirdDotQualified(Position::zero()),
BadIdent::StrayDot(_) => BadIdent::StrayDot(Position::zero()),
BadIdent::StrayAmpersand(_) => BadIdent::StrayAmpersand(Position::zero()),
BadIdent::BadOpaqueRef(_) => BadIdent::BadOpaqueRef(Position::zero()),
BadIdent::QualifiedTupleAccessor(_) => BadIdent::QualifiedTupleAccessor(Position::zero()),
}
@ -1227,6 +1229,7 @@ impl<'a> Normalize<'a> for EPattern<'a> {
EPattern::IndentEnd(_) => EPattern::IndentEnd(Position::zero()),
EPattern::AsIndentStart(_) => EPattern::AsIndentStart(Position::zero()),
EPattern::AccessorFunction(_) => EPattern::AccessorFunction(Position::zero()),
EPattern::RecordUpdaterFunction(_) => EPattern::RecordUpdaterFunction(Position::zero()),
}
}
}