MCPcopy Index your code
hub / github.com/nodejs/node / checkTypeArguments

Function checkTypeArguments

test/fixtures/snapshot/typescript.js:75587–75608  ·  view source on GitHub ↗
(signature, typeArgumentNodes, reportErrors, headMessage)

Source from the content-addressed store, hash-verified

75585 return createTupleType(types, flags, /*readonly*/ false, ts.length(names) === ts.length(types) ? names : undefined);
75586 }
75587 function checkTypeArguments(signature, typeArgumentNodes, reportErrors, headMessage) {
75588 var isJavascript = ts.isInJSFile(signature.declaration);
75589 var typeParameters = signature.typeParameters;
75590 var typeArgumentTypes = fillMissingTypeArguments(ts.map(typeArgumentNodes, getTypeFromTypeNode), typeParameters, getMinTypeArgumentCount(typeParameters), isJavascript);
75591 var mapper;
75592 for (var i = 0; i < typeArgumentNodes.length; i++) {
75593 ts.Debug.assert(typeParameters[i] !== undefined, "Should not call checkTypeArguments with too many type arguments");
75594 var constraint = getConstraintOfTypeParameter(typeParameters[i]);
75595 if (constraint) {
75596 var errorInfo = reportErrors && headMessage ? (function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); }) : undefined;
75597 var typeArgumentHeadMessage = headMessage || ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1;
75598 if (!mapper) {
75599 mapper = createTypeMapper(typeParameters, typeArgumentTypes);
75600 }
75601 var typeArgument = typeArgumentTypes[i];
75602 if (!checkTypeAssignableTo(typeArgument, getTypeWithThisArgument(instantiateType(constraint, mapper), typeArgument), reportErrors ? typeArgumentNodes[i] : undefined, typeArgumentHeadMessage, errorInfo)) {
75603 return undefined;
75604 }
75605 }
75606 }
75607 return typeArgumentTypes;
75608 }
75609 function getJsxReferenceKind(node) {
75610 if (isJsxIntrinsicIdentifier(node.tagName)) {
75611 return 2 /* JsxReferenceKind.Mixed */;

Callers 3

resolveCallFunction · 0.85
chooseOverloadFunction · 0.85

Calls 9

fillMissingTypeArgumentsFunction · 0.85
getMinTypeArgumentCountFunction · 0.85
createTypeMapperFunction · 0.85
checkTypeAssignableToFunction · 0.85
getTypeWithThisArgumentFunction · 0.85
instantiateTypeFunction · 0.85
assertMethod · 0.80
mapMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…