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

Function checkInferType

test/fixtures/snapshot/typescript.js:80837–80860  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

80835 ts.forEachChild(node, checkSourceElement);
80836 }
80837 function checkInferType(node) {
80838 if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 189 /* SyntaxKind.ConditionalType */ && n.parent.extendsType === n; })) {
80839 grammarErrorOnNode(node, ts.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type);
80840 }
80841 checkSourceElement(node.typeParameter);
80842 var symbol = getSymbolOfNode(node.typeParameter);
80843 if (symbol.declarations && symbol.declarations.length > 1) {
80844 var links = getSymbolLinks(symbol);
80845 if (!links.typeParametersChecked) {
80846 links.typeParametersChecked = true;
80847 var typeParameter = getDeclaredTypeOfTypeParameter(symbol);
80848 var declarations = ts.getDeclarationsOfKind(symbol, 163 /* SyntaxKind.TypeParameter */);
80849 if (!areTypeParametersIdentical(declarations, [typeParameter], function (decl) { return [decl]; })) {
80850 // Report an error on every conflicting declaration.
80851 var name = symbolToString(symbol);
80852 for (var _i = 0, declarations_4 = declarations; _i < declarations_4.length; _i++) {
80853 var declaration = declarations_4[_i];
80854 error(declaration.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_constraints, name);
80855 }
80856 }
80857 }
80858 }
80859 registerForUnusedIdentifiersCheck(node);
80860 }
80861 function checkTemplateLiteralType(node) {
80862 for (var _i = 0, _a = node.templateSpans; _i < _a.length; _i++) {
80863 var span = _a[_i];

Callers 1

checkSourceElementWorkerFunction · 0.85

Calls 9

grammarErrorOnNodeFunction · 0.85
checkSourceElementFunction · 0.85
getSymbolOfNodeFunction · 0.85
getSymbolLinksFunction · 0.85
symbolToStringFunction · 0.85
errorFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…