@@ -44,14 +44,44 @@ 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) => match expr. expression . get_inner_expression ( ) {
48+ Expression :: Identifier ( _)
49+ | Expression :: StaticMemberExpression ( _)
50+ | Expression :: ComputedMemberExpression ( _)
51+ | Expression :: PrivateFieldExpression ( _) => {
52+ SimpleAssignmentTarget :: TSAsExpression ( expr)
53+ }
54+ _ => p. fatal_error ( diagnostics:: invalid_assignment ( expr. span ( ) ) ) ,
55+ } ,
4856 Expression :: TSSatisfiesExpression ( expr) => {
49- SimpleAssignmentTarget :: TSSatisfiesExpression ( expr)
50- }
51- Expression :: TSNonNullExpression ( expr) => {
52- SimpleAssignmentTarget :: TSNonNullExpression ( expr)
57+ match expr. expression . get_inner_expression ( ) {
58+ Expression :: Identifier ( _)
59+ | Expression :: StaticMemberExpression ( _)
60+ | Expression :: ComputedMemberExpression ( _)
61+ | Expression :: PrivateFieldExpression ( _) => {
62+ SimpleAssignmentTarget :: TSSatisfiesExpression ( expr)
63+ }
64+ _ => p. fatal_error ( diagnostics:: invalid_assignment ( expr. span ( ) ) ) ,
65+ }
5366 }
54- Expression :: TSTypeAssertion ( expr) => SimpleAssignmentTarget :: TSTypeAssertion ( expr) ,
67+ Expression :: TSNonNullExpression ( expr) => match expr. expression . get_inner_expression ( ) {
68+ Expression :: Identifier ( _)
69+ | Expression :: StaticMemberExpression ( _)
70+ | Expression :: ComputedMemberExpression ( _)
71+ | Expression :: PrivateFieldExpression ( _) => {
72+ SimpleAssignmentTarget :: TSNonNullExpression ( expr)
73+ }
74+ _ => p. fatal_error ( diagnostics:: invalid_assignment ( expr. span ( ) ) ) ,
75+ } ,
76+ Expression :: TSTypeAssertion ( expr) => match expr. expression . get_inner_expression ( ) {
77+ Expression :: Identifier ( _)
78+ | Expression :: StaticMemberExpression ( _)
79+ | Expression :: ComputedMemberExpression ( _)
80+ | Expression :: PrivateFieldExpression ( _) => {
81+ SimpleAssignmentTarget :: TSTypeAssertion ( expr)
82+ }
83+ _ => p. fatal_error ( diagnostics:: invalid_assignment ( expr. span ( ) ) ) ,
84+ } ,
5585 Expression :: TSInstantiationExpression ( expr) => {
5686 p. fatal_error ( diagnostics:: invalid_lhs_assignment ( expr. span ( ) ) )
5787 }
0 commit comments