@@ -44,14 +44,42 @@ impl<'a> CoverGrammar<'a, Expression<'a>> for SimpleAssignmentTarget<'a> {
4444 expr => SimpleAssignmentTarget :: cover ( expr, p) ,
4545 }
4646 }
47- Expression :: TSAsExpression ( expr) => SimpleAssignmentTarget :: TSAsExpression ( expr) ,
47+ Expression :: TSAsExpression ( expr) => {
48+ match expr. expression . get_inner_expression ( ) {
49+ Expression :: Identifier ( _)
50+ | Expression :: StaticMemberExpression ( _)
51+ | Expression :: ComputedMemberExpression ( _)
52+ | Expression :: PrivateFieldExpression ( _) => SimpleAssignmentTarget :: TSAsExpression ( expr) ,
53+ _ => p. fatal_error ( diagnostics:: invalid_assignment ( expr. span ( ) ) ) ,
54+ }
55+ }
4856 Expression :: TSSatisfiesExpression ( expr) => {
49- SimpleAssignmentTarget :: TSSatisfiesExpression ( expr)
57+ match expr. expression . get_inner_expression ( ) {
58+ Expression :: Identifier ( _)
59+ | Expression :: StaticMemberExpression ( _)
60+ | Expression :: ComputedMemberExpression ( _)
61+ | Expression :: PrivateFieldExpression ( _) => SimpleAssignmentTarget :: TSSatisfiesExpression ( expr) ,
62+ _ => p. fatal_error ( diagnostics:: invalid_assignment ( expr. span ( ) ) ) ,
63+ }
5064 }
5165 Expression :: TSNonNullExpression ( expr) => {
52- SimpleAssignmentTarget :: TSNonNullExpression ( expr)
66+ match expr. expression . get_inner_expression ( ) {
67+ Expression :: Identifier ( _)
68+ | Expression :: StaticMemberExpression ( _)
69+ | Expression :: ComputedMemberExpression ( _)
70+ | Expression :: PrivateFieldExpression ( _) => SimpleAssignmentTarget :: TSNonNullExpression ( expr) ,
71+ _ => p. fatal_error ( diagnostics:: invalid_assignment ( expr. span ( ) ) ) ,
72+ }
73+ }
74+ Expression :: TSTypeAssertion ( expr) => {
75+ match expr. expression . get_inner_expression ( ) {
76+ Expression :: Identifier ( _)
77+ | Expression :: StaticMemberExpression ( _)
78+ | Expression :: ComputedMemberExpression ( _)
79+ | Expression :: PrivateFieldExpression ( _) => SimpleAssignmentTarget :: TSTypeAssertion ( expr) ,
80+ _ => p. fatal_error ( diagnostics:: invalid_assignment ( expr. span ( ) ) ) ,
81+ }
5382 }
54- Expression :: TSTypeAssertion ( expr) => SimpleAssignmentTarget :: TSTypeAssertion ( expr) ,
5583 Expression :: TSInstantiationExpression ( expr) => {
5684 p. fatal_error ( diagnostics:: invalid_lhs_assignment ( expr. span ( ) ) )
5785 }
0 commit comments