@zzzen/pyright-internal 1.2.0-dev.20250824 → 1.2.0-dev.20250831

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 (47) hide show
  1. package/dist/analyzer/binder.js +1 -1
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/constraintTracker.d.ts +2 -2
  4. package/dist/analyzer/constraintTracker.js +5 -11
  5. package/dist/analyzer/constraintTracker.js.map +1 -1
  6. package/dist/analyzer/dataClasses.js +9 -2
  7. package/dist/analyzer/dataClasses.js.map +1 -1
  8. package/dist/analyzer/importResolver.d.ts +8 -2
  9. package/dist/analyzer/importResolver.js +62 -26
  10. package/dist/analyzer/importResolver.js.map +1 -1
  11. package/dist/analyzer/operations.js +10 -1
  12. package/dist/analyzer/operations.js.map +1 -1
  13. package/dist/analyzer/program.js +11 -10
  14. package/dist/analyzer/program.js.map +1 -1
  15. package/dist/analyzer/protocols.js +11 -26
  16. package/dist/analyzer/protocols.js.map +1 -1
  17. package/dist/analyzer/sentinel.js +3 -0
  18. package/dist/analyzer/sentinel.js.map +1 -1
  19. package/dist/analyzer/sourceFile.js +11 -1
  20. package/dist/analyzer/sourceFile.js.map +1 -1
  21. package/dist/analyzer/typeEvaluator.js +31 -3
  22. package/dist/analyzer/typeEvaluator.js.map +1 -1
  23. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
  24. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  25. package/dist/analyzer/typeUtils.js +7 -1
  26. package/dist/analyzer/typeUtils.js.map +1 -1
  27. package/dist/analyzer/types.d.ts +1 -0
  28. package/dist/analyzer/types.js.map +1 -1
  29. package/dist/common/uri/uriUtils.d.ts +1 -1
  30. package/dist/common/uri/uriUtils.js +2 -1
  31. package/dist/common/uri/uriUtils.js.map +1 -1
  32. package/dist/localization/localize.d.ts +4 -0
  33. package/dist/localization/localize.js +2 -0
  34. package/dist/localization/localize.js.map +1 -1
  35. package/dist/localization/package.nls.en-us.json +5 -0
  36. package/dist/parser/parser.js +13 -2
  37. package/dist/parser/parser.js.map +1 -1
  38. package/dist/parser/tokenizer.js +11 -6
  39. package/dist/parser/tokenizer.js.map +1 -1
  40. package/dist/tests/parser.test.js +10 -0
  41. package/dist/tests/parser.test.js.map +1 -1
  42. package/dist/tests/typeEvaluator3.test.js +1 -1
  43. package/dist/tests/typeEvaluator5.test.js +1 -1
  44. package/dist/tests/typeEvaluator6.test.js +1 -5
  45. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  46. package/dist/tests/typeEvaluator7.test.js +1 -1
  47. package/package.json +1 -1
@@ -117,7 +117,7 @@ class ConstraintSet {
117
117
  return this._scopeIds.has(scopeId);
118
118
  }
119
119
  getScopeIds() {
120
- return this._scopeIds ? [...this._scopeIds] : [];
120
+ return new Set(this._scopeIds);
121
121
  }
122
122
  hasUnificationVars() {
123
123
  for (const entry of this._typeVarMap.values()) {
@@ -138,22 +138,16 @@ class ConstraintTracker {
138
138
  newTypeVarMap._constraintSets = this._constraintSets.map((set) => set.clone());
139
139
  return newTypeVarMap;
140
140
  }
141
- cloneWithSignature(scopeIds) {
141
+ cloneWithSignature(scopeId) {
142
142
  const cloned = this.clone();
143
- const nonEmptyScopeIds = scopeIds.filter((scopeId) => !!scopeId);
144
- if (nonEmptyScopeIds.length > 0) {
145
- const filteredSets = this._constraintSets.filter((context) => nonEmptyScopeIds.every((scopeId) => context.hasScopeId(scopeId)));
146
- // If there are already some constraints that match the scopeIDs,
147
- // reuse them. Otherwise, duplicate all existing constraint sets
148
- // and add the new scope IDs.
143
+ if (scopeId) {
144
+ const filteredSets = this._constraintSets.filter((context) => context.hasScopeId(scopeId));
149
145
  if (filteredSets.length > 0) {
150
146
  cloned._constraintSets = filteredSets;
151
147
  }
152
148
  else {
153
149
  cloned._constraintSets.forEach((context) => {
154
- nonEmptyScopeIds.forEach((scopeId) => {
155
- context.addScopeId(scopeId);
156
- });
150
+ context.addScopeId(scopeId);
157
151
  });
158
152
  }
159
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"constraintTracker.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraintTracker.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintTracker.ts"],"names":[],"mappings":"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"}
@@ -479,14 +479,16 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
479
479
  symbolTable.set('__replace__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, replaceType));
480
480
  }
481
481
  }
482
- // Synthesize the __match_args__ class variable if it doesn't exist.
482
+ // Synthesize the __match_args__ class variable if it doesn't exist
483
+ // and match_args behavior is not explicitly disabled.
483
484
  const strType = evaluator.getBuiltInType(node, 'str');
484
485
  const tupleClassType = evaluator.getBuiltInType(node, 'tuple');
485
486
  if (tupleClassType &&
486
487
  (0, types_1.isInstantiableClass)(tupleClassType) &&
487
488
  strType &&
488
489
  (0, types_1.isInstantiableClass)(strType) &&
489
- !symbolTable.has('__match_args__')) {
490
+ !symbolTable.has('__match_args__') &&
491
+ (classType.shared.dataClassBehaviors?.matchArgs ?? true)) {
490
492
  const matchArgsNames = [];
491
493
  fullDataClassEntries.forEach((entry) => {
492
494
  if (entry.includeInInit && !entry.isKeywordOnly) {
@@ -964,6 +966,11 @@ function applyDataClassBehaviorOverrideValue(evaluator, errorNode, classType, ar
964
966
  behaviors.keywordOnly = argValue;
965
967
  }
966
968
  break;
969
+ case 'match_args':
970
+ if (argValue !== undefined) {
971
+ behaviors.matchArgs = argValue;
972
+ }
973
+ break;
967
974
  case 'frozen': {
968
975
  let hasUnfrozenBaseClass = false;
969
976
  let hasFrozenBaseClass = false;
@@ -1 +1 @@
1
- {"version":3,"file":"dataClasses.js","sourceRoot":"","sources":["../../../../../src/analyzer/dataClasses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataClasses.js","sourceRoot":"","sources":["../../../../../src/analyzer/dataClasses.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,10 @@ export interface ModuleNameInfoFromPath {
27
27
  containsInvalidCharacters?: boolean;
28
28
  }
29
29
  export declare function createImportedModuleDescriptor(moduleName: string): ImportedModuleDescriptor;
30
+ interface CachedDir {
31
+ entries: Map<string, Dirent>;
32
+ resolvableNames: Set<string>;
33
+ }
30
34
  export declare const supportedSourceFileExtensions: string[];
31
35
  export declare const supportedFileExtensions: string[];
32
36
  export declare class ImportResolver {
@@ -68,17 +72,18 @@ export declare class ImportResolver {
68
72
  getPythonSearchPaths(importLogger?: ImportLogger): Uri[];
69
73
  getTypeshedStdlibExcludeList(customTypeshedPath: Uri | undefined, pythonVersion: PythonVersion, pythonPlatform: string | undefined): Uri[];
70
74
  getTypeshedPathEx(execEnv: ExecutionEnvironment, importLogger?: ImportLogger): Uri | undefined;
71
- protected readdirEntriesCached(uri: Uri): Dirent[];
75
+ protected readdirEntriesCached(uri: Uri): CachedDir;
72
76
  protected resolveImportInternal(sourceFileUri: Uri, execEnv: ExecutionEnvironment, moduleDescriptor: ImportedModuleDescriptor): ImportResult;
73
77
  protected fileExistsCached(uri: Uri): boolean;
74
78
  protected dirExistsCached(uri: Uri): boolean;
75
79
  protected addResultsToCache(sourceFileUri: Uri, execEnv: ExecutionEnvironment, importName: string, importResult: ImportResult, moduleDescriptor: ImportedModuleDescriptor | undefined, fromUserFile: boolean): ImportResult;
76
- protected resolveAbsoluteImport(sourceFileUri: Uri | undefined, rootPath: Uri, execEnv: ExecutionEnvironment, moduleDescriptor: ImportedModuleDescriptor, importName: string, importLogger: ImportLogger | undefined, allowPartial?: boolean, allowNativeLib?: boolean, useStubPackage?: boolean, allowPyi?: boolean, lookForPyTyped?: boolean): ImportResult;
80
+ protected resolveAbsoluteImport(sourceFileUri: Uri | undefined, rootPath: Uri, execEnv: ExecutionEnvironment, moduleDescriptor: ImportedModuleDescriptor, importName: string, importLogger: ImportLogger | undefined, allowPartial?: boolean, allowNativeLib?: boolean, useStubPackage?: boolean, allowPyi?: boolean, lookForPyTyped?: boolean): ImportResult | undefined;
77
81
  protected resolveImportEx(sourceFileUri: Uri, execEnv: ExecutionEnvironment, moduleDescriptor: ImportedModuleDescriptor, importName: string, importLogger?: ImportLogger, allowPyi?: boolean): ImportResult | undefined;
78
82
  protected resolveNativeImportEx(libraryFileUri: Uri, importName: string, importLogger?: ImportLogger): Uri | undefined;
79
83
  protected getNativeModuleName(uri: Uri): string | undefined;
80
84
  protected filterImplicitImports(importResult: ImportResult, importedSymbols: Set<string> | undefined): ImportResult;
81
85
  protected findImplicitImports(importingModuleName: string, dirPath: Uri, exclusions: Uri[]): Map<string, ImplicitImport> | undefined;
86
+ private _isPossibleImportDir;
82
87
  private _resolveImportStrict;
83
88
  private _getCompletionSuggestionsStrict;
84
89
  private _getModuleNameForImport;
@@ -120,3 +125,4 @@ export declare function formatImportName(moduleDescriptor: ImportedModuleDescrip
120
125
  export declare function getParentImportResolutionRoot(sourceFileUri: Uri, executionRoot: Uri | undefined): Uri;
121
126
  export declare function getModuleNameFromPath(containerPath: Uri, fileUri: Uri, stripTopContainerDir?: boolean): string | undefined;
122
127
  export declare function isDefaultWorkspace(uri: Uri | undefined): boolean;
128
+ export {};
@@ -383,16 +383,29 @@ class ImportResolver {
383
383
  if (cachedValue) {
384
384
  return cachedValue;
385
385
  }
386
- let newCacheValue;
386
+ const newCachedDir = {
387
+ entries: new Map(),
388
+ resolvableNames: new Set(),
389
+ };
387
390
  try {
388
- newCacheValue = this.fileSystem.readdirEntriesSync(uri);
391
+ const entries = this.fileSystem.readdirEntriesSync(uri);
392
+ entries.forEach((entry) => {
393
+ newCachedDir.entries.set(entry.name, entry);
394
+ const resolvableName = entry.isFile()
395
+ ? (0, pathUtils_1.stripFileExtension)(entry.name, /* multiDotExtension */ true)
396
+ : entry.name;
397
+ newCachedDir.resolvableNames.add(resolvableName);
398
+ if (entry.isDirectory() && entry.name.endsWith(pathConsts_1.stubsSuffix)) {
399
+ newCachedDir.resolvableNames.add(resolvableName.substring(0, resolvableName.length - pathConsts_1.stubsSuffix.length));
400
+ }
401
+ });
389
402
  }
390
403
  catch {
391
- newCacheValue = [];
404
+ // Swallow error
392
405
  }
393
- // Populate cache for next time.
394
- this._cachedEntriesForPath.set(uri.key, newCacheValue);
395
- return newCacheValue;
406
+ // Populate cache.
407
+ this._cachedEntriesForPath.set(uri.key, newCachedDir);
408
+ return newCachedDir;
396
409
  }
397
410
  // Resolves the import and returns the path if it exists, otherwise
398
411
  // returns undefined.
@@ -428,7 +441,7 @@ class ImportResolver {
428
441
  /* useStubPackage */ false,
429
442
  /* allowPyi */ true);
430
443
  this.cachedParentImportResults.checked(current, importName, importPath);
431
- if (result.isImportFound) {
444
+ if (result?.isImportFound) {
432
445
  // This will make cache to point to actual path that contains the module we found
433
446
  importPath.importPath = current;
434
447
  this.cachedParentImportResults.add({
@@ -455,9 +468,8 @@ class ImportResolver {
455
468
  // Started at root, so this can't be a file.
456
469
  return false;
457
470
  }
458
- const fileName = uri.fileName;
459
- const entries = this.readdirEntriesCached(directory);
460
- const entry = entries.find((entry) => entry.name === fileName);
471
+ const cachedDir = this.readdirEntriesCached(directory);
472
+ const entry = cachedDir.entries.get(uri.fileName);
461
473
  if (entry?.isFile()) {
462
474
  return true;
463
475
  }
@@ -483,9 +495,8 @@ class ImportResolver {
483
495
  }
484
496
  // Otherwise not a root, so read the entries we have cached to see if
485
497
  // the directory exists or not.
486
- const directoryName = uri.fileName;
487
- const entries = this.readdirEntriesCached(parent);
488
- const entry = entries.find((entry) => entry.name === directoryName);
498
+ const cachedDir = this.readdirEntriesCached(parent);
499
+ const entry = cachedDir.entries.get(uri.fileName);
489
500
  if (entry?.isDirectory()) {
490
501
  return true;
491
502
  }
@@ -506,6 +517,11 @@ class ImportResolver {
506
517
  // Follows import resolution algorithm defined in PEP-420:
507
518
  // https://www.python.org/dev/peps/pep-0420/
508
519
  resolveAbsoluteImport(sourceFileUri, rootPath, execEnv, moduleDescriptor, importName, importLogger, allowPartial = false, allowNativeLib = false, useStubPackage = false, allowPyi = true, lookForPyTyped = false) {
520
+ // Before we do additional work, see if this directory can possibly
521
+ // resolve this import.
522
+ if (!this._isPossibleImportDir(rootPath, moduleDescriptor)) {
523
+ return undefined;
524
+ }
509
525
  if (allowPyi && useStubPackage) {
510
526
  // Look for packaged stubs first. PEP 561 indicates that package authors can ship
511
527
  // their stubs separately from their package implementation by appending the string
@@ -576,7 +592,7 @@ class ImportResolver {
576
592
  findImplicitImports(importingModuleName, dirPath, exclusions) {
577
593
  const implicitImportMap = new Map();
578
594
  // Enumerate all of the files and directories in the path, expanding links.
579
- const entries = (0, uriUtils_1.getFileSystemEntriesFromDirEntries)(this.readdirEntriesCached(dirPath), this.fileSystem, dirPath);
595
+ const entries = (0, uriUtils_1.getFileSystemEntriesFromDirEntries)(this.readdirEntriesCached(dirPath).entries.values(), this.fileSystem, dirPath);
580
596
  // Add implicit file-based modules.
581
597
  for (const filePath of entries.files) {
582
598
  const fileExt = filePath.lastExtension;
@@ -646,6 +662,23 @@ class ImportResolver {
646
662
  }
647
663
  return implicitImportMap.size > 0 ? implicitImportMap : undefined;
648
664
  }
665
+ _isPossibleImportDir(rootPath, moduleDescriptor) {
666
+ const cachedDir = this.readdirEntriesCached(rootPath);
667
+ const isPotentialMatch = (name) => {
668
+ return cachedDir.resolvableNames.has(name);
669
+ };
670
+ if (moduleDescriptor.nameParts.length > 0) {
671
+ return isPotentialMatch(moduleDescriptor.nameParts[0]);
672
+ }
673
+ if (moduleDescriptor.importedSymbols) {
674
+ for (const key of moduleDescriptor.importedSymbols) {
675
+ if (isPotentialMatch(key)) {
676
+ return true;
677
+ }
678
+ }
679
+ }
680
+ return isPotentialMatch('__init__');
681
+ }
649
682
  _resolveImportStrict(importName, sourceFileUri, execEnv, moduleDescriptor, importLogger) {
650
683
  const fromUserFile = (0, configOptions_1.matchFileSpecs)(this._configOptions, sourceFileUri);
651
684
  const notFoundResult = {
@@ -1108,7 +1141,7 @@ class ImportResolver {
1108
1141
  /* allowNativeLib */ false,
1109
1142
  /* useStubPackage */ true, allowPyi,
1110
1143
  /* lookForPyTyped */ false);
1111
- if (typingsImport.isImportFound) {
1144
+ if (typingsImport?.isImportFound) {
1112
1145
  // We will treat typings files as "local" rather than "third party".
1113
1146
  typingsImport.importType = 2 /* ImportType.Local */;
1114
1147
  typingsImport.isLocalTypingsFile = true;
@@ -1311,7 +1344,7 @@ class ImportResolver {
1311
1344
  for (const typeshedPath of typeshedPaths) {
1312
1345
  if (this.dirExistsCached(typeshedPath)) {
1313
1346
  const importInfo = this.resolveAbsoluteImport(undefined, typeshedPath, execEnv, moduleDescriptor, importName, importLogger);
1314
- if (importInfo.isImportFound) {
1347
+ if (importInfo?.isImportFound) {
1315
1348
  let importType = isStdLib ? 0 /* ImportType.BuiltIn */ : 1 /* ImportType.ThirdParty */;
1316
1349
  // Handle 'typing_extensions' as a special case because it's
1317
1350
  // part of stdlib typeshed stubs, but it's not part of stdlib.
@@ -1332,7 +1365,7 @@ class ImportResolver {
1332
1365
  const cache = new Set();
1333
1366
  if (stdlibRoot) {
1334
1367
  const readDir = (root, prefix) => {
1335
- this.readdirEntriesCached(root).forEach((entry) => {
1368
+ this.readdirEntriesCached(root).entries.forEach((entry) => {
1336
1369
  if (entry.isDirectory()) {
1337
1370
  const dirRoot = root.combinePaths(entry.name);
1338
1371
  readDir(dirRoot, prefix ? `${prefix}.${entry.name}` : entry.name);
@@ -1360,10 +1393,10 @@ class ImportResolver {
1360
1393
  _buildTypeshedThirdPartyPackageMap(thirdPartyDir) {
1361
1394
  this._cachedTypeshedThirdPartyPackagePaths = new Map();
1362
1395
  if (thirdPartyDir) {
1363
- this.readdirEntriesCached(thirdPartyDir).forEach((outerEntry) => {
1396
+ this.readdirEntriesCached(thirdPartyDir).entries.forEach((outerEntry) => {
1364
1397
  if (outerEntry.isDirectory()) {
1365
1398
  const innerDirPath = thirdPartyDir.combinePaths(outerEntry.name);
1366
- this.readdirEntriesCached(innerDirPath).forEach((innerEntry) => {
1399
+ this.readdirEntriesCached(innerDirPath).entries.forEach((innerEntry) => {
1367
1400
  if (innerEntry.name === '@python2') {
1368
1401
  return;
1369
1402
  }
@@ -1645,14 +1678,14 @@ class ImportResolver {
1645
1678
  /* allowPartial */ false,
1646
1679
  /* allowNativeLib */ true,
1647
1680
  /* useStubPackage */ false,
1648
- /* allowPyi */ false) || {
1681
+ /* allowPyi */ false) ?? {
1649
1682
  importName,
1650
1683
  isRelative: true,
1651
1684
  isImportFound: false,
1652
1685
  isPartlyResolved: false,
1653
1686
  isNamespacePackage: false,
1654
1687
  isStubPackage: false,
1655
- importLogger,
1688
+ isInitFilePresent: false,
1656
1689
  resolvedUris: [],
1657
1690
  importType: 2 /* ImportType.Local */,
1658
1691
  isStubFile: false,
@@ -1681,10 +1714,13 @@ class ImportResolver {
1681
1714
  let newCacheValue = [];
1682
1715
  try {
1683
1716
  const entriesInDir = this.readdirEntriesCached(dirPath);
1684
- const filesInDir = entriesInDir.filter((f) => f.isFile());
1685
- // Add any symbolic links that point to files.
1686
- entriesInDir.forEach((f) => {
1687
- if (f.isSymbolicLink() && (0, uriUtils_1.tryStat)(this.fileSystem, dirPath.combinePaths(f.name))?.isFile()) {
1717
+ const filesInDir = [];
1718
+ // Add any files or symbolic links that point to files.
1719
+ entriesInDir.entries.forEach((f) => {
1720
+ if (f.isFile()) {
1721
+ filesInDir.push(f);
1722
+ }
1723
+ else if (f.isSymbolicLink() && (0, uriUtils_1.tryStat)(this.fileSystem, dirPath.combinePaths(f.name))?.isFile()) {
1688
1724
  filesInDir.push(f);
1689
1725
  }
1690
1726
  });
@@ -1731,7 +1767,7 @@ class ImportResolver {
1731
1767
  }
1732
1768
  _addFilteredSuggestionsAbsolute(sourceFileUri, execEnv, currentPath, filter, suggestions, leadingDots, parentNameParts, strictOnly) {
1733
1769
  // Enumerate all of the files and directories in the path, expanding links.
1734
- const entries = (0, uriUtils_1.getFileSystemEntriesFromDirEntries)(this.readdirEntriesCached(currentPath), this.fileSystem, currentPath);
1770
+ const entries = (0, uriUtils_1.getFileSystemEntriesFromDirEntries)(this.readdirEntriesCached(currentPath).entries.values(), this.fileSystem, currentPath);
1735
1771
  entries.files.forEach((file) => {
1736
1772
  // Strip multi-dot extensions to handle file names like "foo.cpython-32m.so". We want
1737
1773
  // to detect the ".so" but strip off the entire ".cpython-32m.so" extension.