@zzzen/pyright-internal 1.1.254 → 1.2.0-dev.2022-07-02

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/analyzer/analyzerFileInfo.d.ts +1 -1
  4. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -0
  5. package/dist/analyzer/backgroundAnalysisProgram.js +3 -0
  6. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  7. package/dist/analyzer/binder.js +9 -2
  8. package/dist/analyzer/binder.js.map +1 -1
  9. package/dist/analyzer/checker.js +19 -26
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/codeFlowUtils.js +33 -0
  12. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  13. package/dist/analyzer/dataClasses.js +6 -4
  14. package/dist/analyzer/dataClasses.js.map +1 -1
  15. package/dist/analyzer/declaration.js +11 -1
  16. package/dist/analyzer/declaration.js.map +1 -1
  17. package/dist/analyzer/importResult.js +7 -0
  18. package/dist/analyzer/importResult.js.map +1 -1
  19. package/dist/analyzer/importStatementUtils.js +10 -1
  20. package/dist/analyzer/importStatementUtils.js.map +1 -1
  21. package/dist/analyzer/namedTuples.js +1 -1
  22. package/dist/analyzer/namedTuples.js.map +1 -1
  23. package/dist/analyzer/packageTypeReport.js +10 -1
  24. package/dist/analyzer/packageTypeReport.js.map +1 -1
  25. package/dist/analyzer/parseTreeUtils.js +11 -2
  26. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  27. package/dist/analyzer/program.d.ts +2 -1
  28. package/dist/analyzer/program.js +27 -23
  29. package/dist/analyzer/program.js.map +1 -1
  30. package/dist/analyzer/protocols.js +3 -1
  31. package/dist/analyzer/protocols.js.map +1 -1
  32. package/dist/analyzer/scope.js +22 -1
  33. package/dist/analyzer/scope.js.map +1 -1
  34. package/dist/analyzer/service.d.ts +20 -8
  35. package/dist/analyzer/service.js +39 -19
  36. package/dist/analyzer/service.js.map +1 -1
  37. package/dist/analyzer/sourceFile.js +1 -1
  38. package/dist/analyzer/sourceFile.js.map +1 -1
  39. package/dist/analyzer/sourceFileInfoUtils.d.ts +2 -0
  40. package/dist/analyzer/sourceFileInfoUtils.js +15 -0
  41. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -0
  42. package/dist/analyzer/symbol.d.ts +3 -1
  43. package/dist/analyzer/symbol.js +39 -1
  44. package/dist/analyzer/symbol.js.map +1 -1
  45. package/dist/analyzer/typeDocStringUtils.js +10 -2
  46. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  47. package/dist/analyzer/typeEvaluator.js +86 -32
  48. package/dist/analyzer/typeEvaluator.js.map +1 -1
  49. package/dist/analyzer/typeEvaluatorTypes.d.ts +0 -1
  50. package/dist/analyzer/typeEvaluatorTypes.js +65 -1
  51. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  52. package/dist/analyzer/typeGuards.d.ts +2 -0
  53. package/dist/analyzer/typeGuards.js +113 -69
  54. package/dist/analyzer/typeGuards.js.map +1 -1
  55. package/dist/analyzer/typePrinter.js +23 -1
  56. package/dist/analyzer/typePrinter.js.map +1 -1
  57. package/dist/analyzer/typeUtils.js +119 -28
  58. package/dist/analyzer/typeUtils.js.map +1 -1
  59. package/dist/analyzer/typedDicts.js +2 -1
  60. package/dist/analyzer/typedDicts.js.map +1 -1
  61. package/dist/analyzer/types.d.ts +1 -0
  62. package/dist/analyzer/types.js +195 -1
  63. package/dist/analyzer/types.js.map +1 -1
  64. package/dist/backgroundAnalysisBase.d.ts +1 -1
  65. package/dist/commands/commands.js +9 -0
  66. package/dist/commands/commands.js.map +1 -1
  67. package/dist/common/commandLineOptions.js +8 -1
  68. package/dist/common/commandLineOptions.js.map +1 -1
  69. package/dist/common/core.js +7 -1
  70. package/dist/common/core.js.map +1 -1
  71. package/dist/common/diagnostic.js +9 -1
  72. package/dist/common/diagnostic.js.map +1 -1
  73. package/dist/common/host.js +7 -1
  74. package/dist/common/host.js.map +1 -1
  75. package/dist/common/pathUtils.d.ts +1 -0
  76. package/dist/common/pathUtils.js +34 -1
  77. package/dist/common/pathUtils.js.map +1 -1
  78. package/dist/common/stringUtils.d.ts +1 -0
  79. package/dist/common/stringUtils.js +8 -1
  80. package/dist/common/stringUtils.js.map +1 -1
  81. package/dist/languageServerBase.d.ts +10 -3
  82. package/dist/languageServerBase.js +40 -14
  83. package/dist/languageServerBase.js.map +1 -1
  84. package/dist/languageService/analyzerServiceExecutor.js +3 -0
  85. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  86. package/dist/languageService/autoImporter.js +2 -1
  87. package/dist/languageService/autoImporter.js.map +1 -1
  88. package/dist/languageService/completionProvider.d.ts +2 -2
  89. package/dist/languageService/completionProvider.js +3 -5
  90. package/dist/languageService/completionProvider.js.map +1 -1
  91. package/dist/parser/parseNodes.d.ts +3 -0
  92. package/dist/parser/parseNodes.js +110 -2
  93. package/dist/parser/parseNodes.js.map +1 -1
  94. package/dist/parser/parser.d.ts +0 -1
  95. package/dist/parser/parser.js +26 -12
  96. package/dist/parser/parser.js.map +1 -1
  97. package/dist/parser/stringTokenUtils.js +8 -1
  98. package/dist/parser/stringTokenUtils.js.map +1 -1
  99. package/dist/parser/tokenizerTypes.js +155 -1
  100. package/dist/parser/tokenizerTypes.js.map +1 -1
  101. package/dist/pyright.js +6 -1
  102. package/dist/pyright.js.map +1 -1
  103. package/dist/tests/chainedSourceFiles.test.js +12 -9
  104. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  105. package/dist/tests/checker.test.js +4 -0
  106. package/dist/tests/checker.test.js.map +1 -1
  107. package/dist/tests/config.test.js +14 -13
  108. package/dist/tests/config.test.js.map +1 -1
  109. package/dist/tests/debug.test.js +6 -0
  110. package/dist/tests/debug.test.js.map +1 -1
  111. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.d.ts +1 -0
  112. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js +53 -0
  113. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -0
  114. package/dist/tests/fourslash/fourslash.d.ts +16 -0
  115. package/dist/tests/fourslash/hover.class.docString.fourslash.d.ts +1 -0
  116. package/dist/tests/fourslash/hover.class.docString.fourslash.js +24 -0
  117. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -0
  118. package/dist/tests/harness/fourslash/fourSlashParser.js +6 -0
  119. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  120. package/dist/tests/harness/fourslash/fourSlashTypes.js +19 -1
  121. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  122. package/dist/tests/harness/fourslash/testLanguageService.js +9 -1
  123. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  124. package/dist/tests/harness/fourslash/testState.Consts.d.ts +1 -0
  125. package/dist/tests/harness/fourslash/testState.Consts.js +1 -0
  126. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  127. package/dist/tests/harness/fourslash/testState.d.ts +4 -3
  128. package/dist/tests/harness/fourslash/testState.js +27 -11
  129. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  130. package/dist/tests/harness/vfs/pathValidation.js +25 -1
  131. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  132. package/dist/tests/pathUtils.test.js +17 -0
  133. package/dist/tests/pathUtils.test.js.map +1 -1
  134. package/dist/tests/testUtils.js +1 -1
  135. package/dist/tests/testUtils.js.map +1 -1
  136. package/dist/tests/typeEvaluator1.test.js +9 -1
  137. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  138. package/dist/tests/typeEvaluator2.test.js +9 -1
  139. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  140. package/dist/tests/typeEvaluator3.test.js +4 -0
  141. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  142. package/dist/workspaceMap.d.ts +2 -1
  143. package/dist/workspaceMap.js +25 -3
  144. package/dist/workspaceMap.js.map +1 -1
  145. package/package.json +45 -44
@@ -1 +1 @@
1
- {"version":3,"file":"parseTreeUtils.js","sourceRoot":"","sources":["../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseTreeUtils.js","sourceRoot":"","sources":["../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}
@@ -79,8 +79,10 @@ export declare class Program {
79
79
  addTrackedFiles(filePaths: string[], isThirdPartyImport?: boolean, isInPyTypedPackage?: boolean): void;
80
80
  addTrackedFile(filePath: string, isThirdPartyImport?: boolean, isInPyTypedPackage?: boolean): SourceFile;
81
81
  setFileOpened(filePath: string, version: number | null, contents: TextDocumentContentChangeEvent[], options?: OpenFileOptions): void;
82
+ getChainedFilePath(filePath: string): string | undefined;
82
83
  updateChainedFilePath(filePath: string, chainedFilePath: string | undefined): void;
83
84
  setFileClosed(filePath: string): FileDiagnostics[];
85
+ isFileOpen(filePath: string): boolean;
84
86
  markAllFilesDirty(evenIfContentsAreSame: boolean, indexingNeeded?: boolean): void;
85
87
  markFilesDirty(filePaths: string[], evenIfContentsAreSame: boolean, indexingNeeded?: boolean): void;
86
88
  getFileCount(): number;
@@ -144,7 +146,6 @@ export declare class Program {
144
146
  private _processModuleReferences;
145
147
  private _handleMemoryHighUsage;
146
148
  private _discardCachedParseResults;
147
- private _isUserCode;
148
149
  private _runEvaluatorWithCancellationToken;
149
150
  private _removeUnneededFiles;
150
151
  private _isFileNeeded;
@@ -53,6 +53,7 @@ const circularDependency_1 = require("./circularDependency");
53
53
  const parseTreeUtils_1 = require("./parseTreeUtils");
54
54
  const scopeUtils_1 = require("./scopeUtils");
55
55
  const sourceFile_1 = require("./sourceFile");
56
+ const sourceFileInfoUtils_1 = require("./sourceFileInfoUtils");
56
57
  const sourceMapper_1 = require("./sourceMapper");
57
58
  const symbolNameUtils_1 = require("./symbolNameUtils");
58
59
  const tracePrinter_1 = require("./tracePrinter");
@@ -245,6 +246,11 @@ class Program {
245
246
  }
246
247
  sourceFileInfo.sourceFile.setClientVersion(version, contents);
247
248
  }
249
+ getChainedFilePath(filePath) {
250
+ var _a;
251
+ const sourceFileInfo = this._getSourceFileInfoFromPath(filePath);
252
+ return (_a = sourceFileInfo === null || sourceFileInfo === void 0 ? void 0 : sourceFileInfo.chainedSourceFile) === null || _a === void 0 ? void 0 : _a.sourceFile.getFilePath();
253
+ }
248
254
  updateChainedFilePath(filePath, chainedFilePath) {
249
255
  const sourceFileInfo = this._getSourceFileInfoFromPath(filePath);
250
256
  if (sourceFileInfo) {
@@ -271,6 +277,9 @@ class Program {
271
277
  }
272
278
  return this._removeUnneededFiles();
273
279
  }
280
+ isFileOpen(filePath) {
281
+ return this._getSourceFileInfoFromPath(filePath) !== undefined;
282
+ }
274
283
  markAllFilesDirty(evenIfContentsAreSame, indexingNeeded = true) {
275
284
  const markDirtyMap = new Map();
276
285
  this._sourceFileList.forEach((sourceFileInfo) => {
@@ -322,7 +331,7 @@ class Program {
322
331
  // Returns the number of files that are considered "user" files and therefore
323
332
  // are checked.
324
333
  getUserFileCount() {
325
- return this._sourceFileList.filter((s) => this._isUserCode(s)).length;
334
+ return this._sourceFileList.filter((s) => (0, sourceFileInfoUtils_1.isUserCode)(s)).length;
326
335
  }
327
336
  getTracked() {
328
337
  return this._sourceFileList.filter((s) => s.isTracked);
@@ -397,7 +406,7 @@ class Program {
397
406
  const effectiveMaxTime = maxTime ? maxTime.noOpenFilesTimeInMs : Number.MAX_VALUE;
398
407
  // Now do type parsing and analysis of the remaining.
399
408
  for (const sourceFileInfo of this._sourceFileList) {
400
- if (!this._isUserCode(sourceFileInfo)) {
409
+ if (!(0, sourceFileInfoUtils_1.isUserCode)(sourceFileInfo)) {
401
410
  continue;
402
411
  }
403
412
  if (this._checkTypes(sourceFileInfo)) {
@@ -428,7 +437,7 @@ class Program {
428
437
  }
429
438
  let count = 0;
430
439
  for (const sourceFileInfo of this._sourceFileList) {
431
- if (!this._isUserCode(sourceFileInfo) || !sourceFileInfo.sourceFile.isIndexingRequired()) {
440
+ if (!(0, sourceFileInfoUtils_1.isUserCode)(sourceFileInfo) || !sourceFileInfo.sourceFile.isIndexingRequired()) {
432
441
  continue;
433
442
  }
434
443
  this._bindFile(sourceFileInfo);
@@ -697,7 +706,7 @@ class Program {
697
706
  // level scope that contains the symbol table for the module.
698
707
  _buildModuleSymbolsMap(sourceFileToExclude, userFileOnly, includeIndexUserSymbols, token) {
699
708
  // If we have library map, always use the map for library symbols.
700
- return (0, autoImporter_1.buildModuleSymbolsMap)(this._sourceFileList.filter((s) => s !== sourceFileToExclude && (userFileOnly ? this._isUserCode(s) : true)), includeIndexUserSymbols, token);
709
+ return (0, autoImporter_1.buildModuleSymbolsMap)(this._sourceFileList.filter((s) => s !== sourceFileToExclude && (userFileOnly ? (0, sourceFileInfoUtils_1.isUserCode)(s) : true)), includeIndexUserSymbols, token);
701
710
  }
702
711
  _shouldCheckFile(fileInfo) {
703
712
  // Always do a full checking for a file that's open in the editor.
@@ -1002,7 +1011,7 @@ class Program {
1002
1011
  if (!sourceFileInfo) {
1003
1012
  return;
1004
1013
  }
1005
- const invokedFromUserFile = this._isUserCode(sourceFileInfo);
1014
+ const invokedFromUserFile = (0, sourceFileInfoUtils_1.isUserCode)(sourceFileInfo);
1006
1015
  this._bindFile(sourceFileInfo);
1007
1016
  const execEnv = this._configOptions.findExecEnvironment(filePath);
1008
1017
  const referencesResult = sourceFileInfo.sourceFile.getDeclarationForPosition(this._createSourceMapper(execEnv), position, this._evaluator, reporter, token);
@@ -1015,9 +1024,7 @@ class Program {
1015
1024
  (0, cancellationUtils_1.throwIfCancellationRequested)(token);
1016
1025
  // "Find all references" will only include references from user code
1017
1026
  // unless the file is explicitly opened in the editor or it is invoked from non user files.
1018
- if (curSourceFileInfo.isOpenByClient ||
1019
- !invokedFromUserFile ||
1020
- this._isUserCode(curSourceFileInfo)) {
1027
+ if (curSourceFileInfo.isOpenByClient || !invokedFromUserFile || (0, sourceFileInfoUtils_1.isUserCode)(curSourceFileInfo)) {
1021
1028
  // See if the reference symbol's string is located somewhere within the file.
1022
1029
  // If not, we can skip additional processing for the file.
1023
1030
  const fileContents = curSourceFileInfo.sourceFile.getFileContent();
@@ -1112,7 +1119,7 @@ class Program {
1112
1119
  }
1113
1120
  // "Workspace symbols" searches symbols only from user code.
1114
1121
  for (const sourceFileInfo of this._sourceFileList) {
1115
- if (!this._isUserCode(sourceFileInfo)) {
1122
+ if (!(0, sourceFileInfoUtils_1.isUserCode)(sourceFileInfo)) {
1116
1123
  continue;
1117
1124
  }
1118
1125
  if (!sourceFileInfo.sourceFile.getCachedIndexResults()) {
@@ -1163,29 +1170,29 @@ class Program {
1163
1170
  });
1164
1171
  }
1165
1172
  async getCompletionsForPosition(filePath, position, workspacePath, options, nameMap, libraryMap, token) {
1166
- var _a, _b;
1173
+ var _a;
1167
1174
  const sourceFileInfo = this._getSourceFileInfoFromPath(filePath);
1168
1175
  if (!sourceFileInfo) {
1169
1176
  return undefined;
1170
1177
  }
1171
1178
  const completionResult = this._logTracker.log(`completion at ${filePath}:${position.line}:${position.character}`, (ls) => {
1172
- var _a, _b;
1179
+ var _a;
1173
1180
  const result = this._runEvaluatorWithCancellationToken(token, () => {
1174
1181
  this._bindFile(sourceFileInfo);
1175
1182
  const execEnv = this._configOptions.findExecEnvironment(filePath);
1176
1183
  return sourceFileInfo.sourceFile.getCompletionsForPosition(position, workspacePath, this._configOptions, this._importResolver, this._lookUpImport, this._evaluator, options, this._createSourceMapper(execEnv, /* mapCompiled */ true), nameMap, libraryMap, () => this._buildModuleSymbolsMap(sourceFileInfo, !!libraryMap,
1177
1184
  /* includeIndexUserSymbols */ false, token), token);
1178
1185
  });
1179
- ls.add(`found ${(_b = (_a = result === null || result === void 0 ? void 0 : result.completionMap) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 'null'} items`);
1186
+ ls.add(`found ${(_a = result === null || result === void 0 ? void 0 : result.completionMap.size) !== null && _a !== void 0 ? _a : 'null'} items`);
1180
1187
  return result;
1181
1188
  });
1182
1189
  const completionResultsList = {
1183
- completionList: vscode_languageserver_types_1.CompletionList.create((_a = completionResult === null || completionResult === void 0 ? void 0 : completionResult.completionMap) === null || _a === void 0 ? void 0 : _a.toArray()),
1190
+ completionList: vscode_languageserver_types_1.CompletionList.create(completionResult === null || completionResult === void 0 ? void 0 : completionResult.completionMap.toArray()),
1184
1191
  memberAccessInfo: completionResult === null || completionResult === void 0 ? void 0 : completionResult.memberAccessInfo,
1185
1192
  autoImportInfo: completionResult === null || completionResult === void 0 ? void 0 : completionResult.autoImportInfo,
1186
1193
  extensionInfo: completionResult === null || completionResult === void 0 ? void 0 : completionResult.extensionInfo,
1187
1194
  };
1188
- if (!(completionResult === null || completionResult === void 0 ? void 0 : completionResult.completionMap) || !((_b = this._extension) === null || _b === void 0 ? void 0 : _b.completionListExtension)) {
1195
+ if (!completionResult || !((_a = this._extension) === null || _a === void 0 ? void 0 : _a.completionListExtension)) {
1189
1196
  return completionResultsList;
1190
1197
  }
1191
1198
  const parseResults = sourceFileInfo.sourceFile.getParseResults();
@@ -1337,7 +1344,7 @@ class Program {
1337
1344
  for (const curSourceFileInfo of this._sourceFileList) {
1338
1345
  // Make sure we only add user code to the references to prevent us
1339
1346
  // from accidentally changing third party library or type stub.
1340
- if (this._isUserCode(curSourceFileInfo)) {
1347
+ if ((0, sourceFileInfoUtils_1.isUserCode)(curSourceFileInfo)) {
1341
1348
  // Make sure searching symbol name exists in the file.
1342
1349
  const content = (_a = curSourceFileInfo.sourceFile.getFileContent()) !== null && _a !== void 0 ? _a : '';
1343
1350
  if (content.indexOf(referencesResult.symbolName) < 0) {
@@ -1398,7 +1405,7 @@ class Program {
1398
1405
  const targetDecl = callHierarchyProvider_1.CallHierarchyProvider.getTargetDeclaration(referencesResult.declarations, referencesResult.nodeAtOffset);
1399
1406
  let items = [];
1400
1407
  for (const curSourceFileInfo of this._sourceFileList) {
1401
- if (this._isUserCode(curSourceFileInfo) || curSourceFileInfo.isOpenByClient) {
1408
+ if ((0, sourceFileInfoUtils_1.isUserCode)(curSourceFileInfo) || curSourceFileInfo.isOpenByClient) {
1402
1409
  this._bindFile(curSourceFileInfo);
1403
1410
  const itemsToAdd = callHierarchyProvider_1.CallHierarchyProvider.getIncomingCallsForDeclaration(curSourceFileInfo.sourceFile.getFilePath(), referencesResult.symbolName, targetDecl, curSourceFileInfo.sourceFile.getParseResults(), this._evaluator, token);
1404
1411
  if (itemsToAdd) {
@@ -1445,7 +1452,7 @@ class Program {
1445
1452
  //
1446
1453
  // and Multi file mode.
1447
1454
  // 1. rename public symbols defined in user files on regular workspace (ex, open folder mode).
1448
- const userFile = this._isUserCode(sourceFileInfo);
1455
+ const userFile = (0, sourceFileInfoUtils_1.isUserCode)(sourceFileInfo);
1449
1456
  if (isDefaultWorkspace ||
1450
1457
  (userFile && !referencesResult.requiresGlobalSearch) ||
1451
1458
  (!userFile &&
@@ -1453,7 +1460,7 @@ class Program {
1453
1460
  referencesResult.declarations.every((d) => this._getSourceFileInfoFromPath(d.path) === sourceFileInfo))) {
1454
1461
  return 'singleFileMode';
1455
1462
  }
1456
- if (referencesResult.declarations.every((d) => this._isUserCode(this._getSourceFileInfoFromPath(d.path)))) {
1463
+ if (referencesResult.declarations.every((d) => (0, sourceFileInfoUtils_1.isUserCode)(this._getSourceFileInfoFromPath(d.path)))) {
1457
1464
  return 'multiFileMode';
1458
1465
  }
1459
1466
  // Rename is not allowed.
@@ -1462,7 +1469,7 @@ class Program {
1462
1469
  }
1463
1470
  _supportRenameModule(declarations, isDefaultWorkspace) {
1464
1471
  // Rename module is not supported for standalone file and all decls must be on a user file.
1465
- return (!isDefaultWorkspace && declarations.every((d) => this._isUserCode(this._getSourceFileInfoFromPath(d.path))));
1472
+ return !isDefaultWorkspace && declarations.every((d) => (0, sourceFileInfoUtils_1.isUserCode)(this._getSourceFileInfoFromPath(d.path)));
1466
1473
  }
1467
1474
  _getReferenceResult(sourceFileInfo, filePath, position, allowModuleRename, token) {
1468
1475
  const execEnv = this._configOptions.findExecEnvironment(filePath);
@@ -1487,7 +1494,7 @@ class Program {
1487
1494
  for (const currentFileInfo of this._sourceFileList) {
1488
1495
  // Make sure we only touch user code to prevent us
1489
1496
  // from accidentally changing third party library or type stub.
1490
- if (!this._isUserCode(currentFileInfo)) {
1497
+ if (!(0, sourceFileInfoUtils_1.isUserCode)(currentFileInfo)) {
1491
1498
  continue;
1492
1499
  }
1493
1500
  // If module name isn't mentioned in the current file, skip the file
@@ -1548,9 +1555,6 @@ class Program {
1548
1555
  sourceFileInfo.sourceFile.dropParseAndBindInfo();
1549
1556
  }
1550
1557
  }
1551
- _isUserCode(fileInfo) {
1552
- return fileInfo && fileInfo.isTracked && !fileInfo.isThirdPartyImport && !fileInfo.isTypeshedFile;
1553
- }
1554
1558
  // Wrapper function that should be used when invoking this._evaluator
1555
1559
  // with a cancellation token. It handles cancellation exceptions and
1556
1560
  // any other unexpected exceptions.