MCPcopy Create free account
hub / github.com/nodejs/node / someSignatureUsage

Function someSignatureUsage

test/fixtures/snapshot/typescript.js:138028–138049  ·  view source on GitHub ↗
(signature, sourceFiles, checker, cb)

Source from the content-addressed store, hash-verified

138026 }
138027 Core.getTopMostDeclarationNamesInFile = getTopMostDeclarationNamesInFile;
138028 function someSignatureUsage(signature, sourceFiles, checker, cb) {
138029 if (!signature.name || !ts.isIdentifier(signature.name))
138030 return false;
138031 var symbol = ts.Debug.checkDefined(checker.getSymbolAtLocation(signature.name));
138032 for (var _i = 0, sourceFiles_3 = sourceFiles; _i < sourceFiles_3.length; _i++) {
138033 var sourceFile = sourceFiles_3[_i];
138034 for (var _a = 0, _b = getPossibleSymbolReferenceNodes(sourceFile, symbol.name); _a < _b.length; _a++) {
138035 var name = _b[_a];
138036 if (!ts.isIdentifier(name) || name === signature.name || name.escapedText !== signature.name.escapedText)
138037 continue;
138038 var called = ts.climbPastPropertyAccess(name);
138039 var call = ts.isCallExpression(called.parent) && called.parent.expression === called ? called.parent : undefined;
138040 var referenceSymbol = checker.getSymbolAtLocation(name);
138041 if (referenceSymbol && checker.getRootSymbols(referenceSymbol).some(function (s) { return s === symbol; })) {
138042 if (cb(name, call)) {
138043 return true;
138044 }
138045 }
138046 }
138047 }
138048 return false;
138049 }
138050 Core.someSignatureUsage = someSignatureUsage;
138051 function getPossibleSymbolReferenceNodes(sourceFile, symbolName, container) {
138052 if (container === void 0) { container = sourceFile; }

Callers

nothing calls this directly

Calls 3

someMethod · 0.80
cbFunction · 0.50

Tested by

no test coverage detected