@zzzen/pyright-internal 1.2.0-dev.20230604 → 1.2.0-dev.20230611

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 (78) hide show
  1. package/dist/analyzer/checker.js +42 -29
  2. package/dist/analyzer/checker.js.map +1 -1
  3. package/dist/analyzer/constraintSolver.js +13 -10
  4. package/dist/analyzer/constraintSolver.js.map +1 -1
  5. package/dist/analyzer/importResolver.d.ts +2 -0
  6. package/dist/analyzer/importResolver.js +57 -35
  7. package/dist/analyzer/importResolver.js.map +1 -1
  8. package/dist/analyzer/operations.js +2 -0
  9. package/dist/analyzer/operations.js.map +1 -1
  10. package/dist/analyzer/program.js +10 -8
  11. package/dist/analyzer/program.js.map +1 -1
  12. package/dist/analyzer/protocols.js +182 -183
  13. package/dist/analyzer/protocols.js.map +1 -1
  14. package/dist/analyzer/service.js +13 -0
  15. package/dist/analyzer/service.js.map +1 -1
  16. package/dist/analyzer/typeEvaluator.js +65 -64
  17. package/dist/analyzer/typeEvaluator.js.map +1 -1
  18. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -0
  19. package/dist/analyzer/typeUtils.d.ts +11 -11
  20. package/dist/analyzer/typeUtils.js +106 -64
  21. package/dist/analyzer/typeUtils.js.map +1 -1
  22. package/dist/backgroundAnalysisBase.d.ts +1 -1
  23. package/dist/backgroundAnalysisBase.js +2 -2
  24. package/dist/backgroundAnalysisBase.js.map +1 -1
  25. package/dist/backgroundThreadBase.d.ts +12 -9
  26. package/dist/backgroundThreadBase.js +28 -20
  27. package/dist/backgroundThreadBase.js.map +1 -1
  28. package/dist/common/charCodes.d.ts +147 -0
  29. package/dist/common/charCodes.js +164 -0
  30. package/dist/common/charCodes.js.map +1 -0
  31. package/dist/common/fileSystem.d.ts +1 -0
  32. package/dist/common/fileSystem.js.map +1 -1
  33. package/dist/common/pathUtils.js.map +1 -1
  34. package/dist/common/realFileSystem.js +3 -0
  35. package/dist/common/realFileSystem.js.map +1 -1
  36. package/dist/languageServerBase.d.ts +3 -3
  37. package/dist/languageServerBase.js +2 -2
  38. package/dist/languageServerBase.js.map +1 -1
  39. package/dist/languageService/definitionProvider.d.ts +2 -0
  40. package/dist/languageService/definitionProvider.js +82 -74
  41. package/dist/languageService/definitionProvider.js.map +1 -1
  42. package/dist/languageService/hoverProvider.d.ts +16 -8
  43. package/dist/languageService/hoverProvider.js +53 -53
  44. package/dist/languageService/hoverProvider.js.map +1 -1
  45. package/dist/localization/localize.d.ts +6 -6
  46. package/dist/localization/localize.js +2 -3
  47. package/dist/localization/localize.js.map +1 -1
  48. package/dist/localization/package.nls.en-us.json +2 -3
  49. package/dist/parser/characterStream.js.map +1 -1
  50. package/dist/parser/characters.js.map +1 -1
  51. package/dist/parser/stringTokenUtils.js.map +1 -1
  52. package/dist/parser/tokenizer.js +10 -1
  53. package/dist/parser/tokenizer.js.map +1 -1
  54. package/dist/pyrightFileSystem.d.ts +1 -0
  55. package/dist/pyrightFileSystem.js +3 -0
  56. package/dist/pyrightFileSystem.js.map +1 -1
  57. package/dist/readonlyAugmentedFileSystem.d.ts +1 -0
  58. package/dist/readonlyAugmentedFileSystem.js +3 -0
  59. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  60. package/dist/tests/checker.test.js +1 -1
  61. package/dist/tests/harness/fourslash/testLanguageService.d.ts +1 -0
  62. package/dist/tests/harness/fourslash/testLanguageService.js +3 -0
  63. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  64. package/dist/tests/harness/fourslash/testState.js +2 -2
  65. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  66. package/dist/tests/harness/vfs/filesystem.d.ts +12 -1
  67. package/dist/tests/harness/vfs/filesystem.js +33 -6
  68. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  69. package/dist/tests/tokenizer.test.js +13 -2
  70. package/dist/tests/tokenizer.test.js.map +1 -1
  71. package/dist/tests/typeEvaluator1.test.js +5 -1
  72. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  73. package/dist/tests/typeEvaluator3.test.js +5 -1
  74. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  75. package/dist/workspaceFactory.d.ts +2 -0
  76. package/dist/workspaceFactory.js +11 -2
  77. package/dist/workspaceFactory.js.map +1 -1
  78. package/package.json +1 -2
@@ -271,16 +271,19 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
271
271
  }
272
272
  if ((flags & 1024 /* PopulatingExpectedType */) !== 0) {
273
273
  // If we're populating the expected type, constrain either the
274
- // narrow type bound, wide type bound or both.
275
- if ((flags & 1 /* EnforceInvariance */) !== 0) {
276
- newNarrowTypeBound = adjSrcType;
277
- newWideTypeBound = adjSrcType;
278
- }
279
- else if (isContravariant) {
280
- newNarrowTypeBound = adjSrcType;
281
- }
282
- else {
283
- newWideTypeBound = adjSrcType;
274
+ // narrow type bound, wide type bound or both. Don't overwrite
275
+ // an existing entry.
276
+ if (!curEntry) {
277
+ if ((flags & 1 /* EnforceInvariance */) !== 0) {
278
+ newNarrowTypeBound = adjSrcType;
279
+ newWideTypeBound = adjSrcType;
280
+ }
281
+ else if (isContravariant) {
282
+ newNarrowTypeBound = adjSrcType;
283
+ }
284
+ else {
285
+ newWideTypeBound = adjSrcType;
286
+ }
284
287
  }
285
288
  }
286
289
  else if (isContravariant) {
@@ -1 +1 @@
1
- {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { Dirent } from 'fs';
3
3
  import { ConfigOptions, ExecutionEnvironment } from '../common/configOptions';
4
4
  import { FileSystem } from '../common/fileSystem';
5
5
  import { Host } from '../common/host';
6
+ import { PythonVersion } from '../common/pythonVersion';
6
7
  import { ImportResult, ImportType } from './importResult';
7
8
  import { ParentDirectoryCache } from './parentDirectoryCache';
8
9
  export interface ImportedModuleDescriptor {
@@ -53,6 +54,7 @@ export declare class ImportResolver {
53
54
  getImportRoots(execEnv: ExecutionEnvironment, forLogging?: boolean): string[];
54
55
  ensurePartialStubPackages(execEnv: ExecutionEnvironment): boolean;
55
56
  getPythonSearchPaths(importFailureInfo: string[]): string[];
57
+ getTypeshedStdlibExcludeList(customTypeshedPath: string, pythonVersion: PythonVersion): string[];
56
58
  protected readdirEntriesCached(path: string): Dirent[];
57
59
  protected resolveImportInternal(sourceFilePath: string, execEnv: ExecutionEnvironment, moduleDescriptor: ImportedModuleDescriptor): ImportResult;
58
60
  protected fileExistsCached(path: string): boolean;
@@ -227,11 +227,11 @@ class ImportResolver {
227
227
  }
228
228
  getTypeshedStdLibPath(execEnv) {
229
229
  const unused = [];
230
- return this._getStdlibTypeshedPath(execEnv, unused);
230
+ return this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, unused);
231
231
  }
232
232
  getTypeshedThirdPartyPath(execEnv) {
233
233
  const unused = [];
234
- return this._getThirdPartyTypeshedPath(execEnv, unused);
234
+ return this._getThirdPartyTypeshedPath(this._configOptions.typeshedPath, unused);
235
235
  }
236
236
  isStdlibModule(module, execEnv) {
237
237
  if (!this._stdlibModules) {
@@ -242,7 +242,7 @@ class ImportResolver {
242
242
  getImportRoots(execEnv, forLogging = false) {
243
243
  const importFailureInfo = [];
244
244
  const roots = [];
245
- const stdTypeshed = this._getStdlibTypeshedPath(execEnv, importFailureInfo);
245
+ const stdTypeshed = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, importFailureInfo);
246
246
  if (stdTypeshed) {
247
247
  roots.push(stdTypeshed);
248
248
  }
@@ -258,13 +258,13 @@ class ImportResolver {
258
258
  // There's one path for each third party package, which blows up logging.
259
259
  // Just get the root directly and show it with `...` to indicate that this
260
260
  // is where the third party folder is in the roots.
261
- const thirdPartyRoot = this._getThirdPartyTypeshedPath(execEnv, importFailureInfo);
261
+ const thirdPartyRoot = this._getThirdPartyTypeshedPath(this._configOptions.typeshedPath, importFailureInfo);
262
262
  if (thirdPartyRoot) {
263
263
  roots.push((0, pathUtils_1.combinePaths)(thirdPartyRoot, '...'));
264
264
  }
265
265
  }
266
266
  else {
267
- const thirdPartyPaths = this._getThirdPartyTypeshedPackageRoots(execEnv, importFailureInfo);
267
+ const thirdPartyPaths = this._getThirdPartyTypeshedPackageRoots(importFailureInfo);
268
268
  (0, collectionUtils_1.appendArray)(roots, thirdPartyPaths);
269
269
  }
270
270
  const typeshedPathEx = this.getTypeshedPathEx(execEnv, importFailureInfo);
@@ -316,6 +316,28 @@ class ImportResolver {
316
316
  importFailureInfo.push(...this._cachedPythonSearchPaths.failureInfo);
317
317
  return this._cachedPythonSearchPaths.paths;
318
318
  }
319
+ getTypeshedStdlibExcludeList(customTypeshedPath, pythonVersion) {
320
+ const unused = [];
321
+ const typeshedStdlibPath = this._getStdlibTypeshedPath(customTypeshedPath, pythonVersion, unused);
322
+ const excludes = [];
323
+ if (!typeshedStdlibPath) {
324
+ return excludes;
325
+ }
326
+ if (!this._cachedTypeshedStdLibModuleVersions) {
327
+ this._cachedTypeshedStdLibModuleVersions = this._readTypeshedStdLibVersions(customTypeshedPath, []);
328
+ }
329
+ this._cachedTypeshedStdLibModuleVersions.forEach((versionRange, moduleName) => {
330
+ if (versionRange.max !== undefined && pythonVersion > versionRange.max) {
331
+ // Add excludes for both the ".pyi" file and the directory that contains it
332
+ // (in case it's using a "__init__.pyi" file).
333
+ const moduleDirPath = (0, pathUtils_1.combinePaths)(typeshedStdlibPath, ...moduleName.split('.'));
334
+ excludes.push(moduleDirPath);
335
+ const moduleFilePath = moduleDirPath + '.pyi';
336
+ excludes.push(moduleFilePath);
337
+ }
338
+ });
339
+ return excludes;
340
+ }
319
341
  readdirEntriesCached(path) {
320
342
  const cachedValue = this._cachedEntriesForPath.get(path);
321
343
  if (cachedValue) {
@@ -670,7 +692,7 @@ class ImportResolver {
670
692
  // declare types with the same (local) name.
671
693
  let moduleNameWithInvalidCharacters;
672
694
  // Is this a stdlib typeshed path?
673
- const stdLibTypeshedPath = this._getStdlibTypeshedPath(execEnv, importFailureInfo);
695
+ const stdLibTypeshedPath = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, importFailureInfo);
674
696
  if (stdLibTypeshedPath) {
675
697
  moduleName = this.getModuleNameFromPath(stdLibTypeshedPath, filePath);
676
698
  if (moduleName) {
@@ -679,7 +701,7 @@ class ImportResolver {
679
701
  nameParts: moduleName.split('.'),
680
702
  importedSymbols: undefined,
681
703
  };
682
- if (this._isStdlibTypeshedStubValidForVersion(moduleDescriptor, execEnv, [])) {
704
+ if (this._isStdlibTypeshedStubValidForVersion(moduleDescriptor, this._configOptions.typeshedPath, execEnv.pythonVersion, [])) {
683
705
  return { moduleName, importType, isLocalTypingsFile };
684
706
  }
685
707
  }
@@ -735,7 +757,7 @@ class ImportResolver {
735
757
  }
736
758
  }
737
759
  // Check for a typeshed file.
738
- const thirdPartyTypeshedPath = this._getThirdPartyTypeshedPath(execEnv, importFailureInfo);
760
+ const thirdPartyTypeshedPath = this._getThirdPartyTypeshedPath(this._configOptions.typeshedPath, importFailureInfo);
739
761
  if (thirdPartyTypeshedPath) {
740
762
  const candidateModuleName = this.getModuleNameFromPath(thirdPartyTypeshedPath, filePath,
741
763
  /* stripTopContainerDir */ true);
@@ -1069,7 +1091,7 @@ class ImportResolver {
1069
1091
  // If a library is fully py.typed, then we have found the best match,
1070
1092
  // unless the execution environment is typeshed itself, in which case
1071
1093
  // we don't want to favor py.typed libraries. Use the typeshed lookup below.
1072
- if (execEnv.root !== this._getTypeshedRoot(execEnv, importFailureInfo)) {
1094
+ if (execEnv.root !== this._getTypeshedRoot(this._configOptions.typeshedPath, importFailureInfo)) {
1073
1095
  if ((bestResultSoFar === null || bestResultSoFar === void 0 ? void 0 : bestResultSoFar.pyTypedInfo) && !bestResultSoFar.isPartlyResolved) {
1074
1096
  return bestResultSoFar;
1075
1097
  }
@@ -1198,13 +1220,13 @@ class ImportResolver {
1198
1220
  importFailureInfo.push(`Looking for typeshed ${isStdLib ? PythonPathUtils.stdLibFolderName : PythonPathUtils.thirdPartyFolderName} path`);
1199
1221
  let typeshedPaths;
1200
1222
  if (isStdLib) {
1201
- const path = this._getStdlibTypeshedPath(execEnv, importFailureInfo, moduleDescriptor);
1223
+ const path = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, importFailureInfo, moduleDescriptor);
1202
1224
  if (path) {
1203
1225
  typeshedPaths = [path];
1204
1226
  }
1205
1227
  }
1206
1228
  else {
1207
- typeshedPaths = this._getThirdPartyTypeshedPackagePaths(moduleDescriptor, execEnv, importFailureInfo);
1229
+ typeshedPaths = this._getThirdPartyTypeshedPackagePaths(moduleDescriptor, importFailureInfo);
1208
1230
  }
1209
1231
  if (typeshedPaths) {
1210
1232
  for (const typeshedPath of typeshedPaths) {
@@ -1290,13 +1312,13 @@ class ImportResolver {
1290
1312
  const importFailureInfo = [];
1291
1313
  let typeshedPaths;
1292
1314
  if (isStdLib) {
1293
- const path = this._getStdlibTypeshedPath(execEnv, importFailureInfo, moduleDescriptor);
1315
+ const path = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, importFailureInfo, moduleDescriptor);
1294
1316
  if (path) {
1295
1317
  typeshedPaths = [path];
1296
1318
  }
1297
1319
  }
1298
1320
  else {
1299
- typeshedPaths = this._getThirdPartyTypeshedPackagePaths(moduleDescriptor, execEnv, importFailureInfo,
1321
+ typeshedPaths = this._getThirdPartyTypeshedPackagePaths(moduleDescriptor, importFailureInfo,
1300
1322
  /* includeMatchOnly */ false);
1301
1323
  const typeshedPathEx = this.getTypeshedPathEx(execEnv, importFailureInfo);
1302
1324
  if (typeshedPathEx) {
@@ -1316,21 +1338,21 @@ class ImportResolver {
1316
1338
  // Returns the directory for a module within the stdlib typeshed directory.
1317
1339
  // If moduleDescriptor is provided, it is filtered based on the VERSIONS
1318
1340
  // file in the typeshed stubs.
1319
- _getStdlibTypeshedPath(execEnv, importFailureInfo, moduleDescriptor) {
1320
- const subdirectory = this._getTypeshedSubdirectory(/* isStdLib */ true, execEnv, importFailureInfo);
1341
+ _getStdlibTypeshedPath(customTypeshedPath, pythonVersion, importFailureInfo, moduleDescriptor) {
1342
+ const subdirectory = this._getTypeshedSubdirectory(/* isStdLib */ true, customTypeshedPath, importFailureInfo);
1321
1343
  if (subdirectory &&
1322
1344
  moduleDescriptor &&
1323
- !this._isStdlibTypeshedStubValidForVersion(moduleDescriptor, execEnv, importFailureInfo)) {
1345
+ !this._isStdlibTypeshedStubValidForVersion(moduleDescriptor, customTypeshedPath, pythonVersion, importFailureInfo)) {
1324
1346
  return undefined;
1325
1347
  }
1326
1348
  return subdirectory;
1327
1349
  }
1328
- _getThirdPartyTypeshedPath(execEnv, importFailureInfo) {
1329
- return this._getTypeshedSubdirectory(/* isStdLib */ false, execEnv, importFailureInfo);
1350
+ _getThirdPartyTypeshedPath(customTypeshedPath, importFailureInfo) {
1351
+ return this._getTypeshedSubdirectory(/* isStdLib */ false, customTypeshedPath, importFailureInfo);
1330
1352
  }
1331
- _isStdlibTypeshedStubValidForVersion(moduleDescriptor, execEnv, importFailureInfo) {
1353
+ _isStdlibTypeshedStubValidForVersion(moduleDescriptor, customTypeshedPath, pythonVersion, importFailureInfo) {
1332
1354
  if (!this._cachedTypeshedStdLibModuleVersions) {
1333
- this._cachedTypeshedStdLibModuleVersions = this._readTypeshedStdLibVersions(execEnv, importFailureInfo);
1355
+ this._cachedTypeshedStdLibModuleVersions = this._readTypeshedStdLibVersions(customTypeshedPath, importFailureInfo);
1334
1356
  }
1335
1357
  // Loop through the name parts to make sure the module and submodules
1336
1358
  // referenced in the import statement are valid for this version of Python.
@@ -1338,20 +1360,21 @@ class ImportResolver {
1338
1360
  const namePartsToConsider = moduleDescriptor.nameParts.slice(0, namePartCount);
1339
1361
  const versionRange = this._cachedTypeshedStdLibModuleVersions.get(namePartsToConsider.join('.'));
1340
1362
  if (versionRange) {
1341
- if (execEnv.pythonVersion < versionRange.min) {
1363
+ if (pythonVersion < versionRange.min) {
1342
1364
  return false;
1343
1365
  }
1344
- if (versionRange.max !== undefined && execEnv.pythonVersion > versionRange.max) {
1366
+ if (versionRange.max !== undefined && pythonVersion > versionRange.max) {
1345
1367
  return false;
1346
1368
  }
1347
1369
  }
1348
1370
  }
1349
1371
  return true;
1350
1372
  }
1351
- _readTypeshedStdLibVersions(execEnv, importFailureInfo) {
1373
+ _readTypeshedStdLibVersions(customTypeshedPath, importFailureInfo) {
1352
1374
  const versionRangeMap = new Map();
1353
1375
  // Read the VERSIONS file from typeshed.
1354
- const typeshedStdLibPath = this._getTypeshedSubdirectory(/* isStdLib */ true, execEnv, importFailureInfo);
1376
+ const typeshedStdLibPath = this._getTypeshedSubdirectory(
1377
+ /* isStdLib */ true, customTypeshedPath, importFailureInfo);
1355
1378
  if (typeshedStdLibPath) {
1356
1379
  const versionsFilePath = (0, pathUtils_1.combinePaths)(typeshedStdLibPath, 'VERSIONS');
1357
1380
  try {
@@ -1398,8 +1421,8 @@ class ImportResolver {
1398
1421
  }
1399
1422
  return versionRangeMap;
1400
1423
  }
1401
- _getThirdPartyTypeshedPackagePaths(moduleDescriptor, execEnv, importFailureInfo, includeMatchOnly = true) {
1402
- const typeshedPath = this._getThirdPartyTypeshedPath(execEnv, importFailureInfo);
1424
+ _getThirdPartyTypeshedPackagePaths(moduleDescriptor, importFailureInfo, includeMatchOnly = true) {
1425
+ const typeshedPath = this._getThirdPartyTypeshedPath(this._configOptions.typeshedPath, importFailureInfo);
1403
1426
  if (!this._cachedTypeshedThirdPartyPackagePaths) {
1404
1427
  this._buildTypeshedThirdPartyPackageMap(typeshedPath);
1405
1428
  }
@@ -1412,24 +1435,23 @@ class ImportResolver {
1412
1435
  }
1413
1436
  return [];
1414
1437
  }
1415
- _getThirdPartyTypeshedPackageRoots(execEnv, importFailureInfo) {
1416
- const typeshedPath = this._getThirdPartyTypeshedPath(execEnv, importFailureInfo);
1438
+ _getThirdPartyTypeshedPackageRoots(importFailureInfo) {
1439
+ const typeshedPath = this._getThirdPartyTypeshedPath(this._configOptions.typeshedPath, importFailureInfo);
1417
1440
  if (!this._cachedTypeshedThirdPartyPackagePaths) {
1418
1441
  this._buildTypeshedThirdPartyPackageMap(typeshedPath);
1419
1442
  }
1420
1443
  return this._cachedTypeshedThirdPartyPackageRoots;
1421
1444
  }
1422
- _getTypeshedRoot(execEnv, importFailureInfo) {
1445
+ _getTypeshedRoot(customTypeshedPath, importFailureInfo) {
1423
1446
  if (this._cachedTypeshedRoot !== undefined) {
1424
1447
  return this._cachedTypeshedRoot;
1425
1448
  }
1426
1449
  let typeshedPath = '';
1427
1450
  // Did the user specify a typeshed path? If not, we'll look in the
1428
1451
  // python search paths, then in the typeshed-fallback directory.
1429
- if (this._configOptions.typeshedPath) {
1430
- const possibleTypeshedPath = this._configOptions.typeshedPath;
1431
- if (this.dirExistsCached(possibleTypeshedPath)) {
1432
- typeshedPath = possibleTypeshedPath;
1452
+ if (customTypeshedPath) {
1453
+ if (this.dirExistsCached(customTypeshedPath)) {
1454
+ typeshedPath = customTypeshedPath;
1433
1455
  }
1434
1456
  }
1435
1457
  else {
@@ -1449,7 +1471,7 @@ class ImportResolver {
1449
1471
  this._cachedTypeshedRoot = typeshedPath;
1450
1472
  return typeshedPath;
1451
1473
  }
1452
- _getTypeshedSubdirectory(isStdLib, execEnv, importFailureInfo) {
1474
+ _getTypeshedSubdirectory(isStdLib, customTypeshedPath, importFailureInfo) {
1453
1475
  // See if we have it cached.
1454
1476
  if (isStdLib) {
1455
1477
  if (this._cachedTypeshedStdLibPath !== undefined) {
@@ -1461,7 +1483,7 @@ class ImportResolver {
1461
1483
  return this._cachedTypeshedThirdPartyPath;
1462
1484
  }
1463
1485
  }
1464
- let typeshedPath = this._getTypeshedRoot(execEnv, importFailureInfo);
1486
+ let typeshedPath = this._getTypeshedRoot(customTypeshedPath, importFailureInfo);
1465
1487
  typeshedPath = PythonPathUtils.getTypeshedSubdirectory(typeshedPath, isStdLib);
1466
1488
  if (!this.dirExistsCached(typeshedPath)) {
1467
1489
  return undefined;