(node, typeParameters)
| 80635 | return fillMissingTypeArguments(ts.map(node.typeArguments, getTypeFromTypeNode), typeParameters, getMinTypeArgumentCount(typeParameters), ts.isInJSFile(node)); |
| 80636 | } |
| 80637 | function checkTypeArgumentConstraints(node, typeParameters) { |
| 80638 | var typeArguments; |
| 80639 | var mapper; |
| 80640 | var result = true; |
| 80641 | for (var i = 0; i < typeParameters.length; i++) { |
| 80642 | var constraint = getConstraintOfTypeParameter(typeParameters[i]); |
| 80643 | if (constraint) { |
| 80644 | if (!typeArguments) { |
| 80645 | typeArguments = getEffectiveTypeArguments(node, typeParameters); |
| 80646 | mapper = createTypeMapper(typeParameters, typeArguments); |
| 80647 | } |
| 80648 | result = result && checkTypeAssignableTo(typeArguments[i], instantiateType(constraint, mapper), node.typeArguments[i], ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); |
| 80649 | } |
| 80650 | } |
| 80651 | return result; |
| 80652 | } |
| 80653 | function getTypeParametersForTypeReference(node) { |
| 80654 | var type = getTypeFromTypeReference(node); |
| 80655 | if (!isErrorType(type)) { |
no test coverage detected