(node, source, target, relation, headMessage, containingMessageChain, errorOutputContainer)
| 63896 | return !!(type.flags & 16777216 /* TypeFlags.Conditional */ || (type.flags & 2097152 /* TypeFlags.Intersection */ && ts.some(type.types, isOrHasGenericConditional))); |
| 63897 | } |
| 63898 | function elaborateError(node, source, target, relation, headMessage, containingMessageChain, errorOutputContainer) { |
| 63899 | if (!node || isOrHasGenericConditional(target)) |
| 63900 | return false; |
| 63901 | if (!checkTypeRelatedTo(source, target, relation, /*errorNode*/ undefined) |
| 63902 | && elaborateDidYouMeanToCallOrConstruct(node, source, target, relation, headMessage, containingMessageChain, errorOutputContainer)) { |
| 63903 | return true; |
| 63904 | } |
| 63905 | switch (node.kind) { |
| 63906 | case 288 /* SyntaxKind.JsxExpression */: |
| 63907 | case 212 /* SyntaxKind.ParenthesizedExpression */: |
| 63908 | return elaborateError(node.expression, source, target, relation, headMessage, containingMessageChain, errorOutputContainer); |
| 63909 | case 221 /* SyntaxKind.BinaryExpression */: |
| 63910 | switch (node.operatorToken.kind) { |
| 63911 | case 63 /* SyntaxKind.EqualsToken */: |
| 63912 | case 27 /* SyntaxKind.CommaToken */: |
| 63913 | return elaborateError(node.right, source, target, relation, headMessage, containingMessageChain, errorOutputContainer); |
| 63914 | } |
| 63915 | break; |
| 63916 | case 205 /* SyntaxKind.ObjectLiteralExpression */: |
| 63917 | return elaborateObjectLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer); |
| 63918 | case 204 /* SyntaxKind.ArrayLiteralExpression */: |
| 63919 | return elaborateArrayLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer); |
| 63920 | case 286 /* SyntaxKind.JsxAttributes */: |
| 63921 | return elaborateJsxComponents(node, source, target, relation, containingMessageChain, errorOutputContainer); |
| 63922 | case 214 /* SyntaxKind.ArrowFunction */: |
| 63923 | return elaborateArrowFunction(node, source, target, relation, containingMessageChain, errorOutputContainer); |
| 63924 | } |
| 63925 | return false; |
| 63926 | } |
| 63927 | function elaborateDidYouMeanToCallOrConstruct(node, source, target, relation, headMessage, containingMessageChain, errorOutputContainer) { |
| 63928 | var callSignatures = getSignaturesOfType(source, 0 /* SignatureKind.Call */); |
| 63929 | var constructSignatures = getSignaturesOfType(source, 1 /* SignatureKind.Construct */); |
no test coverage detected
searching dependent graphs…