(inStartOfParameter)
| 34015 | } |
| 34016 | } |
| 34017 | function isStartOfType(inStartOfParameter) { |
| 34018 | switch (token()) { |
| 34019 | case 130 /* SyntaxKind.AnyKeyword */: |
| 34020 | case 155 /* SyntaxKind.UnknownKeyword */: |
| 34021 | case 150 /* SyntaxKind.StringKeyword */: |
| 34022 | case 147 /* SyntaxKind.NumberKeyword */: |
| 34023 | case 158 /* SyntaxKind.BigIntKeyword */: |
| 34024 | case 133 /* SyntaxKind.BooleanKeyword */: |
| 34025 | case 145 /* SyntaxKind.ReadonlyKeyword */: |
| 34026 | case 151 /* SyntaxKind.SymbolKeyword */: |
| 34027 | case 154 /* SyntaxKind.UniqueKeyword */: |
| 34028 | case 114 /* SyntaxKind.VoidKeyword */: |
| 34029 | case 153 /* SyntaxKind.UndefinedKeyword */: |
| 34030 | case 104 /* SyntaxKind.NullKeyword */: |
| 34031 | case 108 /* SyntaxKind.ThisKeyword */: |
| 34032 | case 112 /* SyntaxKind.TypeOfKeyword */: |
| 34033 | case 143 /* SyntaxKind.NeverKeyword */: |
| 34034 | case 18 /* SyntaxKind.OpenBraceToken */: |
| 34035 | case 22 /* SyntaxKind.OpenBracketToken */: |
| 34036 | case 29 /* SyntaxKind.LessThanToken */: |
| 34037 | case 51 /* SyntaxKind.BarToken */: |
| 34038 | case 50 /* SyntaxKind.AmpersandToken */: |
| 34039 | case 103 /* SyntaxKind.NewKeyword */: |
| 34040 | case 10 /* SyntaxKind.StringLiteral */: |
| 34041 | case 8 /* SyntaxKind.NumericLiteral */: |
| 34042 | case 9 /* SyntaxKind.BigIntLiteral */: |
| 34043 | case 110 /* SyntaxKind.TrueKeyword */: |
| 34044 | case 95 /* SyntaxKind.FalseKeyword */: |
| 34045 | case 148 /* SyntaxKind.ObjectKeyword */: |
| 34046 | case 41 /* SyntaxKind.AsteriskToken */: |
| 34047 | case 57 /* SyntaxKind.QuestionToken */: |
| 34048 | case 53 /* SyntaxKind.ExclamationToken */: |
| 34049 | case 25 /* SyntaxKind.DotDotDotToken */: |
| 34050 | case 137 /* SyntaxKind.InferKeyword */: |
| 34051 | case 100 /* SyntaxKind.ImportKeyword */: |
| 34052 | case 128 /* SyntaxKind.AssertsKeyword */: |
| 34053 | case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: |
| 34054 | case 15 /* SyntaxKind.TemplateHead */: |
| 34055 | return true; |
| 34056 | case 98 /* SyntaxKind.FunctionKeyword */: |
| 34057 | return !inStartOfParameter; |
| 34058 | case 40 /* SyntaxKind.MinusToken */: |
| 34059 | return !inStartOfParameter && lookAhead(nextTokenIsNumericOrBigIntLiteral); |
| 34060 | case 20 /* SyntaxKind.OpenParenToken */: |
| 34061 | // Only consider '(' the start of a type if followed by ')', '...', an identifier, a modifier, |
| 34062 | // or something that starts a type. We don't want to consider things like '(1)' a type. |
| 34063 | return !inStartOfParameter && lookAhead(isStartOfParenthesizedOrFunctionType); |
| 34064 | default: |
| 34065 | return isIdentifier(); |
| 34066 | } |
| 34067 | } |
| 34068 | function isStartOfParenthesizedOrFunctionType() { |
| 34069 | nextToken(); |
| 34070 | return token() === 21 /* SyntaxKind.CloseParenToken */ || isStartOfParameter(/*isJSDocParameter*/ false) || isStartOfType(); |
no test coverage detected
searching dependent graphs…