(signature, sourceFiles, checker, cb)
| 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; } |
nothing calls this directly
no test coverage detected