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

Function resolveJsxOpeningLikeElement

test/fixtures/snapshot/typescript.js:76869–76895  ·  view source on GitHub ↗
(node, candidatesOutArray, checkMode)

Source from the content-addressed store, hash-verified

76867 /*returnTypePredicate*/ undefined, 1, 0 /* SignatureFlags.None */);
76868 }
76869 function resolveJsxOpeningLikeElement(node, candidatesOutArray, checkMode) {
76870 if (isJsxIntrinsicIdentifier(node.tagName)) {
76871 var result = getIntrinsicAttributesTypeFromJsxOpeningLikeElement(node);
76872 var fakeSignature = createSignatureForJSXIntrinsic(node, result);
76873 checkTypeAssignableToAndOptionallyElaborate(checkExpressionWithContextualType(node.attributes, getEffectiveFirstArgumentForJsxSignature(fakeSignature, node), /*mapper*/ undefined, 0 /* CheckMode.Normal */), result, node.tagName, node.attributes);
76874 if (ts.length(node.typeArguments)) {
76875 ts.forEach(node.typeArguments, checkSourceElement);
76876 diagnostics.add(ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), node.typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, 0, ts.length(node.typeArguments)));
76877 }
76878 return fakeSignature;
76879 }
76880 var exprTypes = checkExpression(node.tagName);
76881 var apparentType = getApparentType(exprTypes);
76882 if (isErrorType(apparentType)) {
76883 return resolveErrorCall(node);
76884 }
76885 var signatures = getUninstantiatedJsxSignaturesOfType(exprTypes, node);
76886 if (isUntypedFunctionCall(exprTypes, apparentType, signatures.length, /*constructSignatures*/ 0)) {
76887 return resolveUntypedCall(node);
76888 }
76889 if (signatures.length === 0) {
76890 // We found no signatures at all, which is an error
76891 error(node.tagName, ts.Diagnostics.JSX_element_type_0_does_not_have_any_construct_or_call_signatures, ts.getTextOfNode(node.tagName));
76892 return resolveErrorCall(node);
76893 }
76894 return resolveCall(node, signatures, candidatesOutArray, checkMode, 0 /* SignatureFlags.None */);
76895 }
76896 /**
76897 * Sometimes, we have a decorator that could accept zero arguments,
76898 * but is receiving too many arguments as part of the decorator invocation.

Callers 1

resolveSignatureFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…