(marker)
| 6650 | } |
| 6651 | |
| 6652 | function parseObjectTypeMethodish(marker) { |
| 6653 | var params = [], rest = null, returnType, typeParameters = null; |
| 6654 | if (match('<')) { |
| 6655 | typeParameters = parseTypeParameterDeclaration(); |
| 6656 | } |
| 6657 | |
| 6658 | expect('('); |
| 6659 | while (lookahead.type === Token.Identifier) { |
| 6660 | params.push(parseFunctionTypeParam()); |
| 6661 | if (!match(')')) { |
| 6662 | expect(','); |
| 6663 | } |
| 6664 | } |
| 6665 | |
| 6666 | if (match('...')) { |
| 6667 | lex(); |
| 6668 | rest = parseFunctionTypeParam(); |
| 6669 | } |
| 6670 | expect(')'); |
| 6671 | expect(':'); |
| 6672 | returnType = parseType(); |
| 6673 | |
| 6674 | return markerApply(marker, delegate.createFunctionTypeAnnotation( |
| 6675 | params, |
| 6676 | returnType, |
| 6677 | rest, |
| 6678 | typeParameters |
| 6679 | )); |
| 6680 | } |
| 6681 | |
| 6682 | function parseObjectTypeMethod(marker, isStatic, key) { |
| 6683 | var optional = false, value; |
no test coverage detected