(declaration)
| 72443 | } |
| 72444 | } |
| 72445 | function getContextualTypeForBindingElement(declaration) { |
| 72446 | var parent = declaration.parent.parent; |
| 72447 | var name = declaration.propertyName || declaration.name; |
| 72448 | var parentType = getContextualTypeForVariableLikeDeclaration(parent) || |
| 72449 | parent.kind !== 203 /* SyntaxKind.BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 64 /* CheckMode.RestBindingElement */ : 0 /* CheckMode.Normal */); |
| 72450 | if (!parentType || ts.isBindingPattern(name) || ts.isComputedNonLiteralName(name)) |
| 72451 | return undefined; |
| 72452 | if (parent.name.kind === 202 /* SyntaxKind.ArrayBindingPattern */) { |
| 72453 | var index = ts.indexOfNode(declaration.parent.elements, declaration); |
| 72454 | if (index < 0) |
| 72455 | return undefined; |
| 72456 | return getContextualTypeForElementExpression(parentType, index); |
| 72457 | } |
| 72458 | var nameType = getLiteralTypeFromPropertyName(name); |
| 72459 | if (isTypeUsableAsPropertyName(nameType)) { |
| 72460 | var text = getPropertyNameFromType(nameType); |
| 72461 | return getTypeOfPropertyOfType(parentType, text); |
| 72462 | } |
| 72463 | } |
| 72464 | function getContextualTypeForStaticPropertyDeclaration(declaration) { |
| 72465 | var parentType = ts.isExpression(declaration.parent) && getContextualType(declaration.parent); |
| 72466 | if (!parentType) |
no test coverage detected
searching dependent graphs…