()
| 3176 | } |
| 3177 | |
| 3178 | func (p *Parser) parseTypeMember() *ast.Node { |
| 3179 | if p.token == ast.KindOpenParenToken || p.token == ast.KindLessThanToken { |
| 3180 | return p.parseSignatureMember(ast.KindCallSignature) |
| 3181 | } |
| 3182 | if p.token == ast.KindNewKeyword && p.lookAhead((*Parser).nextTokenIsOpenParenOrLessThan) { |
| 3183 | return p.parseSignatureMember(ast.KindConstructSignature) |
| 3184 | } |
| 3185 | pos := p.nodePos() |
| 3186 | jsdoc := p.jsdocScannerInfo() |
| 3187 | modifiers := p.parseModifiers() |
| 3188 | if p.parseContextualModifier(ast.KindGetKeyword) { |
| 3189 | return p.parseAccessorDeclaration(pos, jsdoc, modifiers, ast.KindGetAccessor, ParseFlagsType) |
| 3190 | } |
| 3191 | if p.parseContextualModifier(ast.KindSetKeyword) { |
| 3192 | return p.parseAccessorDeclaration(pos, jsdoc, modifiers, ast.KindSetAccessor, ParseFlagsType) |
| 3193 | } |
| 3194 | if p.isIndexSignature() { |
| 3195 | return p.parseIndexSignatureDeclaration(pos, jsdoc, modifiers) |
| 3196 | } |
| 3197 | return p.parsePropertyOrMethodSignature(pos, jsdoc, modifiers) |
| 3198 | } |
| 3199 | |
| 3200 | func (p *Parser) nextTokenIsOpenParenOrLessThan() bool { |
| 3201 | p.nextToken() |
nothing calls this directly
no test coverage detected