@zzzen/pyright-internal 1.2.0-dev.20240623 → 1.2.0-dev.20240707

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 (114) hide show
  1. package/dist/analyzer/binder.js +1 -1
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.js +85 -71
  4. package/dist/analyzer/checker.js.map +1 -1
  5. package/dist/analyzer/codeFlowEngine.js +58 -23
  6. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  7. package/dist/analyzer/constraintSolver.d.ts +1 -1
  8. package/dist/analyzer/constraintSolver.js +3 -3
  9. package/dist/analyzer/constraintSolver.js.map +1 -1
  10. package/dist/analyzer/constructors.js +61 -31
  11. package/dist/analyzer/constructors.js.map +1 -1
  12. package/dist/analyzer/dataClasses.js +6 -3
  13. package/dist/analyzer/dataClasses.js.map +1 -1
  14. package/dist/analyzer/declaration.d.ts +1 -1
  15. package/dist/analyzer/decorators.js +12 -12
  16. package/dist/analyzer/decorators.js.map +1 -1
  17. package/dist/analyzer/enums.js +1 -1
  18. package/dist/analyzer/enums.js.map +1 -1
  19. package/dist/analyzer/importResolver.d.ts +4 -8
  20. package/dist/analyzer/importResolver.js +87 -85
  21. package/dist/analyzer/importResolver.js.map +1 -1
  22. package/dist/analyzer/operations.d.ts +4 -4
  23. package/dist/analyzer/operations.js +6 -6
  24. package/dist/analyzer/operations.js.map +1 -1
  25. package/dist/analyzer/patternMatching.js +34 -11
  26. package/dist/analyzer/patternMatching.js.map +1 -1
  27. package/dist/analyzer/protocols.js +1 -1
  28. package/dist/analyzer/protocols.js.map +1 -1
  29. package/dist/analyzer/service.js +1 -1
  30. package/dist/analyzer/service.js.map +1 -1
  31. package/dist/analyzer/sourceFile.d.ts +3 -2
  32. package/dist/analyzer/sourceFile.js +5 -5
  33. package/dist/analyzer/sourceFile.js.map +1 -1
  34. package/dist/analyzer/typeEvaluator.js +600 -563
  35. package/dist/analyzer/typeEvaluator.js.map +1 -1
  36. package/dist/analyzer/typeEvaluatorTypes.d.ts +28 -27
  37. package/dist/analyzer/typeEvaluatorTypes.js +45 -41
  38. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  39. package/dist/analyzer/typeGuards.js +64 -32
  40. package/dist/analyzer/typeGuards.js.map +1 -1
  41. package/dist/analyzer/typeUtils.d.ts +12 -6
  42. package/dist/analyzer/typeUtils.js +52 -18
  43. package/dist/analyzer/typeUtils.js.map +1 -1
  44. package/dist/analyzer/types.d.ts +3 -1
  45. package/dist/analyzer/types.js +9 -1
  46. package/dist/analyzer/types.js.map +1 -1
  47. package/dist/backgroundAnalysis.js +3 -1
  48. package/dist/backgroundAnalysis.js.map +1 -1
  49. package/dist/backgroundAnalysisBase.js +1 -1
  50. package/dist/backgroundAnalysisBase.js.map +1 -1
  51. package/dist/backgroundThreadBase.d.ts +2 -2
  52. package/dist/common/collectionUtils.d.ts +2 -2
  53. package/dist/common/collectionUtils.js.map +1 -1
  54. package/dist/common/core.d.ts +8 -3
  55. package/dist/common/core.js.map +1 -1
  56. package/dist/common/diagnostic.d.ts +14 -0
  57. package/dist/common/diagnostic.js +41 -1
  58. package/dist/common/diagnostic.js.map +1 -1
  59. package/dist/common/diagnosticSink.d.ts +4 -0
  60. package/dist/common/diagnosticSink.js +21 -1
  61. package/dist/common/diagnosticSink.js.map +1 -1
  62. package/dist/common/envVarUtils.js.map +1 -1
  63. package/dist/languageServerBase.js +20 -16
  64. package/dist/languageServerBase.js.map +1 -1
  65. package/dist/languageService/autoImporter.d.ts +7 -4
  66. package/dist/languageService/autoImporter.js +13 -10
  67. package/dist/languageService/autoImporter.js.map +1 -1
  68. package/dist/languageService/completionProvider.d.ts +2 -1
  69. package/dist/languageService/completionProvider.js +24 -19
  70. package/dist/languageService/completionProvider.js.map +1 -1
  71. package/dist/localization/localize.d.ts +4 -1
  72. package/dist/localization/localize.js +3 -2
  73. package/dist/localization/localize.js.map +1 -1
  74. package/dist/localization/package.nls.cs.json +4 -3
  75. package/dist/localization/package.nls.de.json +3 -2
  76. package/dist/localization/package.nls.en-us.json +2 -1
  77. package/dist/localization/package.nls.es.json +3 -2
  78. package/dist/localization/package.nls.fr.json +3 -2
  79. package/dist/localization/package.nls.it.json +3 -2
  80. package/dist/localization/package.nls.ja.json +3 -2
  81. package/dist/localization/package.nls.ko.json +3 -2
  82. package/dist/localization/package.nls.pl.json +3 -2
  83. package/dist/localization/package.nls.pt-br.json +4 -3
  84. package/dist/localization/package.nls.qps-ploc.json +1 -0
  85. package/dist/localization/package.nls.ru.json +3 -2
  86. package/dist/localization/package.nls.tr.json +3 -2
  87. package/dist/localization/package.nls.zh-cn.json +3 -2
  88. package/dist/localization/package.nls.zh-tw.json +3 -2
  89. package/dist/parser/parseNodes.d.ts +3 -1
  90. package/dist/parser/parseNodes.js +3 -1
  91. package/dist/parser/parseNodes.js.map +1 -1
  92. package/dist/parser/parser.js +20 -9
  93. package/dist/parser/parser.js.map +1 -1
  94. package/dist/pyright.js +265 -5
  95. package/dist/pyright.js.map +1 -1
  96. package/dist/tests/completions.test.js +80 -0
  97. package/dist/tests/completions.test.js.map +1 -1
  98. package/dist/tests/fourslash/hover.init.fourslash.js +1 -1
  99. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  100. package/dist/tests/languageServer.test.js +39 -4
  101. package/dist/tests/languageServer.test.js.map +1 -1
  102. package/dist/tests/lsp/languageServer.js +19 -3
  103. package/dist/tests/lsp/languageServer.js.map +1 -1
  104. package/dist/tests/typeEvaluator2.test.js +6 -2
  105. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  106. package/dist/tests/typeEvaluator3.test.js +6 -2
  107. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  108. package/dist/tests/typeEvaluator4.test.js +1 -1
  109. package/dist/tests/typeEvaluator6.test.js +4 -0
  110. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  111. package/dist/tests/typeEvaluator7.test.js +2 -2
  112. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  113. package/dist/tests/typeEvaluator8.test.js +1 -1
  114. package/package.json +4 -4
@@ -246,7 +246,7 @@ function transformTypeForEnumMember(evaluator, classType, memberName, ignoreAnno
246
246
  const declaredType = declaredTypeNode ? evaluator.getTypeOfAnnotation(declaredTypeNode) : undefined;
247
247
  let assignedType;
248
248
  if (valueTypeExprNode) {
249
- const evalFlags = (0, analyzerNodeInfo_1.getFileInfo)(valueTypeExprNode).isStubFile ? 1 /* EvaluatorFlags.ConvertEllipsisToAny */ : undefined;
249
+ const evalFlags = (0, analyzerNodeInfo_1.getFileInfo)(valueTypeExprNode).isStubFile ? 1 /* EvalFlags.ConvertEllipsisToAny */ : undefined;
250
250
  assignedType = evaluator.getTypeOfExpression(valueTypeExprNode, evalFlags).type;
251
251
  }
252
252
  // Handle aliases to other enum members within the same enum.
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../src/analyzer/enums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../src/analyzer/enums.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export declare class ImportResolver {
45
45
  private _cachedFilesForPath;
46
46
  private _cachedDirExistenceForRoot;
47
47
  private _stdlibModules;
48
- protected cachedParentImportResults: ParentDirectoryCache;
48
+ protected readonly cachedParentImportResults: ParentDirectoryCache;
49
49
  constructor(serviceProvider: ServiceProvider, _configOptions: ConfigOptions, host: Host);
50
50
  get fileSystem(): import("../common/fileSystem").FileSystem;
51
51
  get tmp(): import("../common/fileSystem").TempFile | undefined;
@@ -76,12 +76,7 @@ export declare class ImportResolver {
76
76
  protected resolveImportEx(sourceFileUri: Uri, execEnv: ExecutionEnvironment, moduleDescriptor: ImportedModuleDescriptor, importName: string, importFailureInfo?: string[], allowPyi?: boolean): ImportResult | undefined;
77
77
  protected resolveNativeImportEx(libraryFileUri: Uri, importName: string, importFailureInfo?: string[]): Uri | undefined;
78
78
  protected getNativeModuleName(uri: Uri): string | undefined;
79
- protected getModuleNameFromPath(containerPath: Uri, fileUri: Uri, stripTopContainerDir?: boolean): string | undefined;
80
- protected getModuleNameInfoFromPath(containerPath: Uri, fileUri: Uri, stripTopContainerDir?: boolean): ModuleNameInfoFromPath | undefined;
81
79
  protected filterImplicitImports(importResult: ImportResult, importedSymbols: Set<string> | undefined): ImportResult;
82
- protected formatImportName(moduleDescriptor: ImportedModuleDescriptor): string;
83
- protected getParentImportResolutionRoot(sourceFileUri: Uri, executionRoot: Uri | undefined): Uri;
84
- private _isDefaultWorkspace;
85
80
  private _resolveImportStrict;
86
81
  private _getCompletionSuggestionsStrict;
87
82
  private _getModuleNameForImport;
@@ -92,7 +87,6 @@ export declare class ImportResolver {
92
87
  private _isNamespacePackageResolved;
93
88
  private _resolveBestAbsoluteImport;
94
89
  private _pickBestImport;
95
- private _isIdentifier;
96
90
  private _findTypeshedPath;
97
91
  private _buildStdlibCache;
98
92
  private _buildTypeshedThirdPartyPackageMap;
@@ -116,8 +110,10 @@ export declare class ImportResolver {
116
110
  private _getPyTypedInfo;
117
111
  private _resolveNativeModuleStub;
118
112
  private _isNativeModuleFileName;
119
- private _isNativeModuleFileExtension;
120
113
  private _tryWalkUp;
121
114
  private _shouldWalkUp;
122
115
  }
123
116
  export type ImportResolverFactory = (serviceProvider: ServiceProvider, options: ConfigOptions, host: Host) => ImportResolver;
117
+ export declare function formatImportName(moduleDescriptor: ImportedModuleDescriptor): string;
118
+ export declare function getParentImportResolutionRoot(sourceFileUri: Uri, executionRoot: Uri | undefined): Uri;
119
+ export declare function getModuleNameFromPath(containerPath: Uri, fileUri: Uri, stripTopContainerDir?: boolean): string | undefined;
@@ -32,7 +32,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
32
32
  return result;
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.ImportResolver = exports.supportedFileExtensions = exports.createImportedModuleDescriptor = void 0;
35
+ exports.getModuleNameFromPath = exports.getParentImportResolutionRoot = exports.formatImportName = exports.ImportResolver = exports.supportedFileExtensions = exports.createImportedModuleDescriptor = void 0;
36
36
  const collectionUtils_1 = require("../common/collectionUtils");
37
37
  const configOptions_1 = require("../common/configOptions");
38
38
  const pathConsts_1 = require("../common/pathConsts");
@@ -129,7 +129,7 @@ class ImportResolver {
129
129
  if (moduleDescriptor.leadingDots > 0) {
130
130
  return suggestions;
131
131
  }
132
- const root = this.getParentImportResolutionRoot(sourceFileUri, execEnv.root);
132
+ const root = getParentImportResolutionRoot(sourceFileUri, execEnv.root);
133
133
  const origin = sourceFileUri.getDirectory();
134
134
  let current = origin;
135
135
  while (this._shouldWalkUp(current, root, execEnv) && current) {
@@ -396,7 +396,7 @@ class ImportResolver {
396
396
  // Resolves the import and returns the path if it exists, otherwise
397
397
  // returns undefined.
398
398
  resolveImportInternal(sourceFileUri, execEnv, moduleDescriptor) {
399
- const importName = this.formatImportName(moduleDescriptor);
399
+ const importName = formatImportName(moduleDescriptor);
400
400
  const importFailureInfo = [];
401
401
  const importResult = this._resolveImportStrict(importName, sourceFileUri, execEnv, moduleDescriptor, importFailureInfo);
402
402
  if (importResult.isImportFound || moduleDescriptor.leadingDots > 0) {
@@ -412,7 +412,7 @@ class ImportResolver {
412
412
  return this.filterImplicitImports(result, moduleDescriptor.importedSymbols);
413
413
  }
414
414
  // Check whether the given file is in the parent directory import resolution cache.
415
- const root = this.getParentImportResolutionRoot(sourceFileUri, execEnv.root);
415
+ const root = getParentImportResolutionRoot(sourceFileUri, execEnv.root);
416
416
  if (!this.cachedParentImportResults.checkValidPath(this.fileSystem, sourceFileUri, root)) {
417
417
  return importResult;
418
418
  }
@@ -547,54 +547,11 @@ class ImportResolver {
547
547
  }
548
548
  getNativeModuleName(uri) {
549
549
  const fileExtension = uri.lastExtension.toLowerCase();
550
- if (this._isNativeModuleFileExtension(fileExtension)) {
550
+ if (_isNativeModuleFileExtension(fileExtension)) {
551
551
  return (0, pathUtils_1.stripFileExtension)(uri.fileName, /* multiDotExtension */ true);
552
552
  }
553
553
  return undefined;
554
554
  }
555
- getModuleNameFromPath(containerPath, fileUri, stripTopContainerDir = false) {
556
- const moduleNameInfo = this.getModuleNameInfoFromPath(containerPath, fileUri, stripTopContainerDir);
557
- if (!moduleNameInfo || moduleNameInfo.containsInvalidCharacters) {
558
- return undefined;
559
- }
560
- return moduleNameInfo.moduleName;
561
- }
562
- getModuleNameInfoFromPath(containerPath, fileUri, stripTopContainerDir = false) {
563
- let fileUriWithoutExtension = fileUri.stripExtension();
564
- // If module is native, strip platform part, such as 'cp36-win_amd64' in 'mtrand.cp36-win_amd64'.
565
- if (this._isNativeModuleFileExtension(fileUri.lastExtension)) {
566
- fileUriWithoutExtension = fileUriWithoutExtension.stripExtension();
567
- }
568
- if (!fileUriWithoutExtension.startsWith(containerPath)) {
569
- return undefined;
570
- }
571
- // Strip off the '/__init__' if it's present.
572
- if (fileUriWithoutExtension.pathEndsWith('__init__')) {
573
- fileUriWithoutExtension = fileUriWithoutExtension.getDirectory();
574
- }
575
- const parts = Array.from(containerPath.getRelativePathComponents(fileUriWithoutExtension));
576
- if (stripTopContainerDir) {
577
- if (parts.length === 0) {
578
- return undefined;
579
- }
580
- parts.shift();
581
- }
582
- if (parts.length === 0) {
583
- return undefined;
584
- }
585
- // Handle the case where the symbol was resolved to a stubs package
586
- // rather than the real package. We'll strip off the "-stubs" suffix
587
- // in this case.
588
- if (parts[0].endsWith(pathConsts_1.stubsSuffix)) {
589
- parts[0] = parts[0].substr(0, parts[0].length - pathConsts_1.stubsSuffix.length);
590
- }
591
- // Check whether parts contains invalid characters.
592
- const containsInvalidCharacters = parts.some((p) => !this._isIdentifier(p));
593
- return {
594
- moduleName: parts.join('.'),
595
- containsInvalidCharacters,
596
- };
597
- }
598
555
  // Potentially modifies the ImportResult by removing some or all of the
599
556
  // implicit import entries. Only the imported symbols should be included.
600
557
  filterImplicitImports(importResult, importedSymbols) {
@@ -622,18 +579,6 @@ class ImportResolver {
622
579
  newImportResult.filteredImplicitImports = filteredImplicitImports;
623
580
  return newImportResult;
624
581
  }
625
- formatImportName(moduleDescriptor) {
626
- return '.'.repeat(moduleDescriptor.leadingDots) + moduleDescriptor.nameParts.join('.');
627
- }
628
- getParentImportResolutionRoot(sourceFileUri, executionRoot) {
629
- if (!this._isDefaultWorkspace(executionRoot)) {
630
- return executionRoot;
631
- }
632
- return sourceFileUri.getDirectory();
633
- }
634
- _isDefaultWorkspace(uri) {
635
- return !uri || uri.isEmpty() || uri_1.Uri.isDefaultWorkspace(uri);
636
- }
637
582
  _resolveImportStrict(importName, sourceFileUri, execEnv, moduleDescriptor, importFailureInfo) {
638
583
  const fromUserFile = (0, configOptions_1.matchFileSpecs)(this._configOptions, sourceFileUri);
639
584
  const notFoundResult = {
@@ -743,7 +688,7 @@ class ImportResolver {
743
688
  // Is this a stdlib typeshed path?
744
689
  const stdLibTypeshedPath = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, execEnv.pythonPlatform, importFailureInfo);
745
690
  if (stdLibTypeshedPath) {
746
- moduleName = this.getModuleNameFromPath(stdLibTypeshedPath, fileUri);
691
+ moduleName = getModuleNameFromPath(stdLibTypeshedPath, fileUri);
747
692
  if (moduleName) {
748
693
  const moduleDescriptor = {
749
694
  leadingDots: 0,
@@ -763,7 +708,7 @@ class ImportResolver {
763
708
  }
764
709
  // Look for it in the root directory of the execution environment.
765
710
  if (execEnv.root) {
766
- const candidateModuleNameInfo = this.getModuleNameInfoFromPath(execEnv.root, fileUri);
711
+ const candidateModuleNameInfo = _getModuleNameInfoFromPath(execEnv.root, fileUri);
767
712
  if (candidateModuleNameInfo) {
768
713
  if (candidateModuleNameInfo.containsInvalidCharacters) {
769
714
  moduleNameWithInvalidCharacters = candidateModuleNameInfo.moduleName;
@@ -775,7 +720,7 @@ class ImportResolver {
775
720
  importType = 2 /* ImportType.Local */;
776
721
  }
777
722
  for (const extraPath of execEnv.extraPaths) {
778
- const candidateModuleNameInfo = this.getModuleNameInfoFromPath(extraPath, fileUri);
723
+ const candidateModuleNameInfo = _getModuleNameInfoFromPath(extraPath, fileUri);
779
724
  if (candidateModuleNameInfo) {
780
725
  if (candidateModuleNameInfo.containsInvalidCharacters) {
781
726
  moduleNameWithInvalidCharacters = candidateModuleNameInfo.moduleName;
@@ -793,7 +738,7 @@ class ImportResolver {
793
738
  }
794
739
  // Check for a typings file.
795
740
  if (this._configOptions.stubPath) {
796
- const candidateModuleNameInfo = this.getModuleNameInfoFromPath(this._configOptions.stubPath, fileUri);
741
+ const candidateModuleNameInfo = _getModuleNameInfoFromPath(this._configOptions.stubPath, fileUri);
797
742
  if (candidateModuleNameInfo) {
798
743
  if (candidateModuleNameInfo.containsInvalidCharacters) {
799
744
  moduleNameWithInvalidCharacters = candidateModuleNameInfo.moduleName;
@@ -814,7 +759,7 @@ class ImportResolver {
814
759
  // Check for a typeshed file.
815
760
  const thirdPartyTypeshedPath = this._getThirdPartyTypeshedPath(this._configOptions.typeshedPath, importFailureInfo);
816
761
  if (thirdPartyTypeshedPath) {
817
- const candidateModuleName = this.getModuleNameFromPath(thirdPartyTypeshedPath, fileUri,
762
+ const candidateModuleName = getModuleNameFromPath(thirdPartyTypeshedPath, fileUri,
818
763
  /* stripTopContainerDir */ true);
819
764
  // Does this candidate look better than the previous best module name?
820
765
  // We'll always try to use the shortest version.
@@ -826,7 +771,7 @@ class ImportResolver {
826
771
  }
827
772
  const thirdPartyTypeshedPathEx = this.getTypeshedPathEx(execEnv, importFailureInfo);
828
773
  if (thirdPartyTypeshedPathEx) {
829
- const candidateModuleName = this.getModuleNameFromPath(thirdPartyTypeshedPathEx, fileUri);
774
+ const candidateModuleName = getModuleNameFromPath(thirdPartyTypeshedPathEx, fileUri);
830
775
  // Does this candidate look better than the previous best module name?
831
776
  // We'll always try to use the shortest version.
832
777
  if (!moduleName || (candidateModuleName && candidateModuleName.length < moduleName.length)) {
@@ -838,7 +783,7 @@ class ImportResolver {
838
783
  // Look for the import in the list of third-party packages.
839
784
  const pythonSearchPaths = this.getPythonSearchPaths(importFailureInfo);
840
785
  for (const searchPath of pythonSearchPaths) {
841
- const candidateModuleNameInfo = this.getModuleNameInfoFromPath(searchPath, fileUri);
786
+ const candidateModuleNameInfo = _getModuleNameInfoFromPath(searchPath, fileUri);
842
787
  if (candidateModuleNameInfo) {
843
788
  if (candidateModuleNameInfo.containsInvalidCharacters) {
844
789
  moduleNameWithInvalidCharacters = candidateModuleNameInfo.moduleName;
@@ -856,7 +801,7 @@ class ImportResolver {
856
801
  }
857
802
  }
858
803
  if (detectPyTyped && importType === 1 /* ImportType.ThirdParty */) {
859
- const root = this.getParentImportResolutionRoot(fileUri, execEnv.root);
804
+ const root = getParentImportResolutionRoot(fileUri, execEnv.root);
860
805
  // Go up directories one by one looking for a py.typed file.
861
806
  let current = fileUri.getDirectory();
862
807
  while (this._shouldWalkUp(current, root, execEnv)) {
@@ -1093,7 +1038,7 @@ class ImportResolver {
1093
1038
  return true;
1094
1039
  }
1095
1040
  _resolveBestAbsoluteImport(sourceFileUri, execEnv, moduleDescriptor, allowPyi) {
1096
- const importName = this.formatImportName(moduleDescriptor);
1041
+ const importName = formatImportName(moduleDescriptor);
1097
1042
  const importFailureInfo = [];
1098
1043
  // Check for a local stub file using stubPath.
1099
1044
  if (allowPyi && this._configOptions.stubPath) {
@@ -1290,14 +1235,6 @@ class ImportResolver {
1290
1235
  }
1291
1236
  return bestImportSoFar;
1292
1237
  }
1293
- _isIdentifier(value) {
1294
- for (let i = 0; i < value.length; i++) {
1295
- if (i === 0 ? !(0, characters_1.isIdentifierStartChar)(value.charCodeAt(i)) : !(0, characters_1.isIdentifierChar)(value.charCodeAt(i))) {
1296
- return false;
1297
- }
1298
- }
1299
- return true;
1300
- }
1301
1238
  _findTypeshedPath(execEnv, moduleDescriptor, importName, isStdLib, importFailureInfo) {
1302
1239
  importFailureInfo.push(`Looking for typeshed ${isStdLib ? PythonPathUtils.stdLibFolderName : PythonPathUtils.thirdPartyFolderName} path`);
1303
1240
  let typeshedPaths;
@@ -1790,7 +1727,7 @@ class ImportResolver {
1790
1727
  // Make sure we don't use parent folder resolution when checking whether the given name is resolvable.
1791
1728
  let importResult;
1792
1729
  if (strictOnly) {
1793
- const importName = this.formatImportName(moduleDescriptor);
1730
+ const importName = formatImportName(moduleDescriptor);
1794
1731
  const importFailureInfo = [];
1795
1732
  importResult = this._resolveImportStrict(importName, sourceFileUri, execEnv, moduleDescriptor, importFailureInfo);
1796
1733
  }
@@ -1832,7 +1769,7 @@ class ImportResolver {
1832
1769
  if (fileExt === '.py' || fileExt === '.pyi') {
1833
1770
  strippedFileName = (0, pathUtils_1.stripFileExtension)(filePath.fileName);
1834
1771
  }
1835
- else if (this._isNativeModuleFileExtension(fileExt) &&
1772
+ else if (_isNativeModuleFileExtension(fileExt) &&
1836
1773
  !this.fileExistsCached(filePath.packageUri) &&
1837
1774
  !this.fileExistsCached(filePath.packageStubUri)) {
1838
1775
  // Native module.
@@ -1924,11 +1861,7 @@ class ImportResolver {
1924
1861
  // handle file names like "foo.cpython-32m.so".
1925
1862
  const fileExtension = fileUri.lastExtension.toLowerCase();
1926
1863
  const withoutExtension = (0, pathUtils_1.stripFileExtension)(fileUri.fileName, /* multiDotExtension */ true);
1927
- return (this._isNativeModuleFileExtension(fileExtension) &&
1928
- (0, stringUtils_1.equateStringsCaseInsensitive)(moduleName, withoutExtension));
1929
- }
1930
- _isNativeModuleFileExtension(fileExtension) {
1931
- return supportedNativeLibExtensions.some((ext) => ext === fileExtension);
1864
+ return (_isNativeModuleFileExtension(fileExtension) && (0, stringUtils_1.equateStringsCaseInsensitive)(moduleName, withoutExtension));
1932
1865
  }
1933
1866
  _tryWalkUp(current) {
1934
1867
  if (!current || current.isEmpty() || current.isRoot()) {
@@ -1944,8 +1877,77 @@ class ImportResolver {
1944
1877
  _shouldWalkUp(current, root, execEnv) {
1945
1878
  return (current &&
1946
1879
  !current.isEmpty() &&
1947
- (current.isChild(root) || (current.equals(root) && this._isDefaultWorkspace(execEnv.root))));
1880
+ (current.isChild(root) || (current.equals(root) && _isDefaultWorkspace(execEnv.root))));
1948
1881
  }
1949
1882
  }
1950
1883
  exports.ImportResolver = ImportResolver;
1884
+ function formatImportName(moduleDescriptor) {
1885
+ return '.'.repeat(moduleDescriptor.leadingDots) + moduleDescriptor.nameParts.join('.');
1886
+ }
1887
+ exports.formatImportName = formatImportName;
1888
+ function getParentImportResolutionRoot(sourceFileUri, executionRoot) {
1889
+ if (!_isDefaultWorkspace(executionRoot)) {
1890
+ return executionRoot;
1891
+ }
1892
+ return sourceFileUri.getDirectory();
1893
+ }
1894
+ exports.getParentImportResolutionRoot = getParentImportResolutionRoot;
1895
+ function getModuleNameFromPath(containerPath, fileUri, stripTopContainerDir = false) {
1896
+ const moduleNameInfo = _getModuleNameInfoFromPath(containerPath, fileUri, stripTopContainerDir);
1897
+ if (!moduleNameInfo || moduleNameInfo.containsInvalidCharacters) {
1898
+ return undefined;
1899
+ }
1900
+ return moduleNameInfo.moduleName;
1901
+ }
1902
+ exports.getModuleNameFromPath = getModuleNameFromPath;
1903
+ function _getModuleNameInfoFromPath(containerPath, fileUri, stripTopContainerDir = false) {
1904
+ let fileUriWithoutExtension = fileUri.stripExtension();
1905
+ // If module is native, strip platform part, such as 'cp36-win_amd64' in 'mtrand.cp36-win_amd64'.
1906
+ if (_isNativeModuleFileExtension(fileUri.lastExtension)) {
1907
+ fileUriWithoutExtension = fileUriWithoutExtension.stripExtension();
1908
+ }
1909
+ if (!fileUriWithoutExtension.startsWith(containerPath)) {
1910
+ return undefined;
1911
+ }
1912
+ // Strip off the '/__init__' if it's present.
1913
+ if (fileUriWithoutExtension.pathEndsWith('__init__')) {
1914
+ fileUriWithoutExtension = fileUriWithoutExtension.getDirectory();
1915
+ }
1916
+ const parts = Array.from(containerPath.getRelativePathComponents(fileUriWithoutExtension));
1917
+ if (stripTopContainerDir) {
1918
+ if (parts.length === 0) {
1919
+ return undefined;
1920
+ }
1921
+ parts.shift();
1922
+ }
1923
+ if (parts.length === 0) {
1924
+ return undefined;
1925
+ }
1926
+ // Handle the case where the symbol was resolved to a stubs package
1927
+ // rather than the real package. We'll strip off the "-stubs" suffix
1928
+ // in this case.
1929
+ if (parts[0].endsWith(pathConsts_1.stubsSuffix)) {
1930
+ parts[0] = parts[0].substr(0, parts[0].length - pathConsts_1.stubsSuffix.length);
1931
+ }
1932
+ // Check whether parts contains invalid characters.
1933
+ const containsInvalidCharacters = parts.some((p) => !_isIdentifier(p));
1934
+ return {
1935
+ moduleName: parts.join('.'),
1936
+ containsInvalidCharacters,
1937
+ };
1938
+ }
1939
+ function _isNativeModuleFileExtension(fileExtension) {
1940
+ return supportedNativeLibExtensions.some((ext) => ext === fileExtension);
1941
+ }
1942
+ function _isDefaultWorkspace(uri) {
1943
+ return !uri || uri.isEmpty() || uri_1.Uri.isDefaultWorkspace(uri);
1944
+ }
1945
+ function _isIdentifier(value) {
1946
+ for (let i = 0; i < value.length; i++) {
1947
+ if (i === 0 ? !(0, characters_1.isIdentifierStartChar)(value.charCodeAt(i)) : !(0, characters_1.isIdentifierChar)(value.charCodeAt(i))) {
1948
+ return false;
1949
+ }
1950
+ }
1951
+ return true;
1952
+ }
1951
1953
  //# sourceMappingURL=importResolver.js.map