()
| 3840 | } |
| 3841 | |
| 3842 | func (p *Parser) skipParameterStart() bool { |
| 3843 | if ast.IsModifierKind(p.token) { |
| 3844 | // Skip modifiers |
| 3845 | p.parseModifiers() |
| 3846 | } |
| 3847 | p.parseOptional(ast.KindDotDotDotToken) |
| 3848 | if p.isIdentifier() || p.token == ast.KindThisKeyword { |
| 3849 | p.nextToken() |
| 3850 | return true |
| 3851 | } |
| 3852 | if p.token == ast.KindOpenBracketToken || p.token == ast.KindOpenBraceToken { |
| 3853 | // Return true if we can parse an array or object binding pattern with no errors |
| 3854 | previousErrorCount := len(p.diagnostics) |
| 3855 | p.parseIdentifierOrPattern() |
| 3856 | return previousErrorCount == len(p.diagnostics) |
| 3857 | } |
| 3858 | return false |
| 3859 | } |
| 3860 | |
| 3861 | func (p *Parser) parseModifiers() *ast.ModifierList { |
| 3862 | return p.parseModifiersEx(false, false, false) |
no test coverage detected