diff --git a/trunk_parser/src/parser/mod.rs b/trunk_parser/src/parser/mod.rs index 40e5602..016a086 100644 --- a/trunk_parser/src/parser/mod.rs +++ b/trunk_parser/src/parser/mod.rs @@ -2224,7 +2224,11 @@ impl Parser { self.rparen()?; if op == &TokenKind::NullsafeArrow { - Expression::NullsafeMethodCall { target: Box::new(lhs), method: Box::new(property), args } + Expression::NullsafeMethodCall { + target: Box::new(lhs), + method: Box::new(property), + args, + } } else { Expression::MethodCall { target: Box::new(lhs), @@ -3499,44 +3503,45 @@ mod tests { #[test] fn nullsafe_method_calls() { - assert_ast("b();", &[ - expr!(Expression::NullsafeMethodCall { + assert_ast( + "b();", + &[expr!(Expression::NullsafeMethodCall { target: Box::new(Expression::Variable { name: "a".into() }), method: Box::new(Expression::Identifier { name: "b".into() }), args: vec![], - }) - ]); + })], + ); } #[test] fn nullsafe_method_calls_with_args() { - assert_ast("b($c);", &[ - expr!(Expression::NullsafeMethodCall { + assert_ast( + "b($c);", + &[expr!(Expression::NullsafeMethodCall { target: Box::new(Expression::Variable { name: "a".into() }), method: Box::new(Expression::Identifier { name: "b".into() }), - args: vec![ - Arg { - name: None, - unpack: false, - value: Expression::Variable { name: "c".into() } - } - ], - }) - ]); + args: vec![Arg { + name: None, + unpack: false, + value: Expression::Variable { name: "c".into() } + }], + })], + ); } #[test] fn nullsafe_method_call_chain() { - assert_ast("b?->c();", &[ - expr!(Expression::NullsafeMethodCall { + assert_ast( + "b?->c();", + &[expr!(Expression::NullsafeMethodCall { target: Box::new(Expression::NullsafePropertyFetch { target: Box::new(Expression::Variable { name: "a".into() }), property: Box::new(Expression::Identifier { name: "b".into() }), }), method: Box::new(Expression::Identifier { name: "c".into() }), args: vec![], - }) - ]); + })], + ); } #[test]