@zzzen/pyright-internal 1.2.0-dev.20230528 → 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 (102) hide show
  1. package/dist/analyzer/checker.js +42 -29
  2. package/dist/analyzer/checker.js.map +1 -1
  3. package/dist/analyzer/constraintSolver.d.ts +1 -1
  4. package/dist/analyzer/constraintSolver.js +31 -16
  5. package/dist/analyzer/constraintSolver.js.map +1 -1
  6. package/dist/analyzer/constructors.js +35 -10
  7. package/dist/analyzer/constructors.js.map +1 -1
  8. package/dist/analyzer/importResolver.d.ts +2 -0
  9. package/dist/analyzer/importResolver.js +57 -35
  10. package/dist/analyzer/importResolver.js.map +1 -1
  11. package/dist/analyzer/operations.js +2 -0
  12. package/dist/analyzer/operations.js.map +1 -1
  13. package/dist/analyzer/patternMatching.js +2 -1
  14. package/dist/analyzer/patternMatching.js.map +1 -1
  15. package/dist/analyzer/program.js +19 -12
  16. package/dist/analyzer/program.js.map +1 -1
  17. package/dist/analyzer/protocols.js +182 -183
  18. package/dist/analyzer/protocols.js.map +1 -1
  19. package/dist/analyzer/service.js +13 -0
  20. package/dist/analyzer/service.js.map +1 -1
  21. package/dist/analyzer/sourceFile.d.ts +3 -2
  22. package/dist/analyzer/sourceFile.js +204 -194
  23. package/dist/analyzer/sourceFile.js.map +1 -1
  24. package/dist/analyzer/typeEvaluator.js +128 -70
  25. package/dist/analyzer/typeEvaluator.js.map +1 -1
  26. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -0
  27. package/dist/analyzer/typeGuards.js +1 -1
  28. package/dist/analyzer/typeGuards.js.map +1 -1
  29. package/dist/analyzer/typeUtils.d.ts +13 -14
  30. package/dist/analyzer/typeUtils.js +126 -100
  31. package/dist/analyzer/typeUtils.js.map +1 -1
  32. package/dist/analyzer/typeVarContext.js +12 -1
  33. package/dist/analyzer/typeVarContext.js.map +1 -1
  34. package/dist/analyzer/typeWalker.d.ts +22 -0
  35. package/dist/analyzer/typeWalker.js +164 -0
  36. package/dist/analyzer/typeWalker.js.map +1 -0
  37. package/dist/analyzer/types.d.ts +3 -2
  38. package/dist/analyzer/types.js +19 -12
  39. package/dist/analyzer/types.js.map +1 -1
  40. package/dist/backgroundAnalysisBase.d.ts +5 -3
  41. package/dist/backgroundAnalysisBase.js +2 -2
  42. package/dist/backgroundAnalysisBase.js.map +1 -1
  43. package/dist/backgroundThreadBase.d.ts +12 -9
  44. package/dist/backgroundThreadBase.js +28 -20
  45. package/dist/backgroundThreadBase.js.map +1 -1
  46. package/dist/common/charCodes.d.ts +147 -0
  47. package/dist/common/charCodes.js +164 -0
  48. package/dist/common/charCodes.js.map +1 -0
  49. package/dist/common/fileSystem.d.ts +1 -0
  50. package/dist/common/fileSystem.js.map +1 -1
  51. package/dist/common/pathUtils.js.map +1 -1
  52. package/dist/common/realFileSystem.js +3 -0
  53. package/dist/common/realFileSystem.js.map +1 -1
  54. package/dist/languageServerBase.d.ts +3 -3
  55. package/dist/languageServerBase.js +2 -2
  56. package/dist/languageServerBase.js.map +1 -1
  57. package/dist/languageService/definitionProvider.d.ts +2 -0
  58. package/dist/languageService/definitionProvider.js +82 -74
  59. package/dist/languageService/definitionProvider.js.map +1 -1
  60. package/dist/languageService/hoverProvider.d.ts +16 -8
  61. package/dist/languageService/hoverProvider.js +53 -53
  62. package/dist/languageService/hoverProvider.js.map +1 -1
  63. package/dist/localization/localize.d.ts +10 -6
  64. package/dist/localization/localize.js +4 -3
  65. package/dist/localization/localize.js.map +1 -1
  66. package/dist/localization/package.nls.en-us.json +4 -3
  67. package/dist/parser/characterStream.js.map +1 -1
  68. package/dist/parser/characters.js.map +1 -1
  69. package/dist/parser/stringTokenUtils.js.map +1 -1
  70. package/dist/parser/tokenizer.js +10 -1
  71. package/dist/parser/tokenizer.js.map +1 -1
  72. package/dist/pyrightFileSystem.d.ts +1 -0
  73. package/dist/pyrightFileSystem.js +3 -0
  74. package/dist/pyrightFileSystem.js.map +1 -1
  75. package/dist/readonlyAugmentedFileSystem.d.ts +1 -0
  76. package/dist/readonlyAugmentedFileSystem.js +3 -0
  77. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  78. package/dist/tests/checker.test.js +1 -1
  79. package/dist/tests/harness/fourslash/testLanguageService.d.ts +1 -0
  80. package/dist/tests/harness/fourslash/testLanguageService.js +3 -0
  81. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  82. package/dist/tests/harness/fourslash/testState.js +2 -2
  83. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  84. package/dist/tests/harness/vfs/filesystem.d.ts +12 -1
  85. package/dist/tests/harness/vfs/filesystem.js +33 -6
  86. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  87. package/dist/tests/service.test.js +10 -0
  88. package/dist/tests/service.test.js.map +1 -1
  89. package/dist/tests/tokenizer.test.js +13 -2
  90. package/dist/tests/tokenizer.test.js.map +1 -1
  91. package/dist/tests/typeEvaluator1.test.js +5 -1
  92. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  93. package/dist/tests/typeEvaluator2.test.js +9 -1
  94. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  95. package/dist/tests/typeEvaluator3.test.js +21 -1
  96. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  97. package/dist/tests/typeEvaluator4.test.js +4 -0
  98. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  99. package/dist/workspaceFactory.d.ts +2 -0
  100. package/dist/workspaceFactory.js +11 -2
  101. package/dist/workspaceFactory.js.map +1 -1
  102. package/package.json +1 -2
@@ -4,4 +4,4 @@ import { ClassType, Type, TypeVarScopeId, TypeVarType } from './types';
4
4
  import { AssignTypeFlags } from './typeUtils';
5
5
  import { TypeVarContext } from './typeVarContext';
6
6
  export declare function assignTypeToTypeVar(evaluator: TypeEvaluator, destType: TypeVarType, srcType: Type, diag: DiagnosticAddendum | undefined, typeVarContext: TypeVarContext, flags?: AssignTypeFlags, recursionCount?: number): boolean;
7
- export declare function populateTypeVarContextBasedOnExpectedType(evaluator: TypeEvaluator, type: ClassType, expectedType: Type, typeVarContext: TypeVarContext, liveTypeVarScopes: TypeVarScopeId[] | undefined): boolean;
7
+ export declare function populateTypeVarContextBasedOnExpectedType(evaluator: TypeEvaluator, type: ClassType, expectedType: Type, typeVarContext: TypeVarContext, liveTypeVarScopes: TypeVarScopeId[] | undefined, usageOffset?: number | undefined): boolean;
@@ -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) {
@@ -331,7 +334,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
331
334
  newNarrowTypeBound = adjSrcType;
332
335
  }
333
336
  else if (!(0, types_1.isTypeSame)(curNarrowTypeBound, adjSrcType, {}, recursionCount)) {
334
- if (evaluator.assignType(curNarrowTypeBound, adjSrcType, diagAddendum, new typeVarContext_1.TypeVarContext(destType.scopeId),
337
+ if (evaluator.assignType(curNarrowTypeBound, adjSrcType, diagAddendum,
338
+ /* destTypeVarContext */ undefined,
335
339
  /* srcTypeVarContext */ undefined, flags, recursionCount)) {
336
340
  // No need to widen. Stick with the existing type unless it's unknown
337
341
  // or partly unknown, in which case we'll replace it with a known type
@@ -339,7 +343,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
339
343
  if ((0, typeUtils_1.isPartlyUnknown)(curNarrowTypeBound) &&
340
344
  !(0, types_1.isUnknown)(adjSrcType) &&
341
345
  evaluator.assignType(adjSrcType, curNarrowTypeBound,
342
- /* diag */ undefined, new typeVarContext_1.TypeVarContext(destType.scopeId),
346
+ /* diag */ undefined,
347
+ /* destTypeVarContext */ undefined,
343
348
  /* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
344
349
  newNarrowTypeBound = adjSrcType;
345
350
  }
@@ -357,7 +362,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
357
362
  return false;
358
363
  }
359
364
  if (evaluator.assignType(adjSrcType, curNarrowTypeBound,
360
- /* diag */ undefined, new typeVarContext_1.TypeVarContext(destType.scopeId),
365
+ /* diag */ undefined,
366
+ /* destTypeVarContext */ undefined,
361
367
  /* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
362
368
  newNarrowTypeBound = adjSrcType;
363
369
  }
@@ -558,7 +564,7 @@ function assignTypeToParamSpec(evaluator, destType, srcType, diag, typeVarContex
558
564
  // performs this reverse mapping of type arguments and populates the type var
559
565
  // map for the target type. If the type is not assignable to the expected type,
560
566
  // it returns false.
561
- function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType, typeVarContext, liveTypeVarScopes) {
567
+ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType, typeVarContext, liveTypeVarScopes, usageOffset = undefined) {
562
568
  if ((0, types_1.isAny)(expectedType)) {
563
569
  type.details.typeParameters.forEach((typeParam) => {
564
570
  typeVarContext.setTypeVarType(typeParam, expectedType);
@@ -589,12 +595,21 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
589
595
  .forEach((entry) => {
590
596
  let typeArgValue = sameClassTypeVarContext.getPrimarySignature().getTypeVarType(entry.typeVar);
591
597
  if (typeArgValue && liveTypeVarScopes) {
592
- typeArgValue = (0, typeUtils_1.transformExpectedType)(typeArgValue, liveTypeVarScopes);
598
+ typeArgValue = (0, typeUtils_1.transformExpectedType)(typeArgValue, liveTypeVarScopes, usageOffset);
593
599
  }
594
600
  if (typeArgValue) {
595
601
  const variance = types_1.TypeVarType.getVariance(entry.typeVar);
596
602
  typeVarContext.setTypeVarType(entry.typeVar, variance === 3 /* Covariant */ ? undefined : typeArgValue,
597
603
  /* narrowBoundNoLiterals */ undefined, variance === 4 /* Contravariant */ ? undefined : typeArgValue);
604
+ if (entry.tupleTypes) {
605
+ typeVarContext.setTupleTypeVar(entry.typeVar, entry.tupleTypes.map((tupleEntry) => {
606
+ let tupleType = tupleEntry.type;
607
+ if (liveTypeVarScopes) {
608
+ tupleType = (0, typeUtils_1.transformExpectedType)(tupleEntry.type, liveTypeVarScopes, usageOffset);
609
+ }
610
+ return { type: tupleType, isUnbounded: tupleEntry.isUnbounded };
611
+ }));
612
+ }
598
613
  }
599
614
  });
600
615
  return true;
@@ -637,7 +652,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
637
652
  if (index < expectedTypeArgs.length) {
638
653
  let typeArgValue = (0, typeUtils_1.transformPossibleRecursiveTypeAlias)(expectedTypeArgs[index]);
639
654
  if (liveTypeVarScopes) {
640
- typeArgValue = (0, typeUtils_1.transformExpectedType)(typeArgValue, liveTypeVarScopes);
655
+ typeArgValue = (0, typeUtils_1.transformExpectedType)(typeArgValue, liveTypeVarScopes, usageOffset);
641
656
  }
642
657
  if (typeArgValue) {
643
658
  const variance = types_1.TypeVarType.getVariance(typeVar);
@@ -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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"}
@@ -110,15 +110,17 @@ function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnkn
110
110
  }
111
111
  newMethodReturnType = newCallResult.returnType;
112
112
  }
113
- if (!newMethodReturnType) {
113
+ if (!newMethodReturnType || isDefaultNewMethod(newMethodTypeResult === null || newMethodTypeResult === void 0 ? void 0 : newMethodTypeResult.type)) {
114
+ // If there is no __new__ method or it uses a default signature,
115
+ // (cls, *args, **kwargs) -> Self, allow the __init__ method to
116
+ // determine the specialized type of the class.
114
117
  newMethodReturnType = types_1.ClassType.cloneAsInstance(type);
115
118
  }
116
- else if (!(0, types_1.isNever)(newMethodReturnType)) {
117
- if (!(0, types_1.isClassInstance)(newMethodReturnType)) {
118
- // If the __new__ method returns something other than an object or
119
- // NoReturn, we'll ignore its return type.
120
- newMethodReturnType = types_1.ClassType.cloneAsInstance(type);
121
- }
119
+ else if (!(0, types_1.isNever)(newMethodReturnType) && !(0, types_1.isClassInstance)(newMethodReturnType)) {
120
+ // If the __new__ method returns something other than an object or
121
+ // NoReturn, we'll ignore its return type and assume that it
122
+ // returns Self.
123
+ newMethodReturnType = (0, typeUtils_1.applySolvedTypeVars)(types_1.ClassType.cloneAsInstance(type), new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(type)), { unknownIfNotFound: true });
122
124
  }
123
125
  let initMethodTypeResult;
124
126
  // Validate __init__ if it's present. Skip if the __new__ method produced errors.
@@ -133,7 +135,7 @@ function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnkn
133
135
  initMethodBindToType = types_1.ClassType.cloneAsInstance(type);
134
136
  }
135
137
  // Determine whether the class overrides the object.__init__ method.
136
- initMethodTypeResult = evaluator.getTypeOfObjectMember(errorNode, types_1.ClassType.cloneAsInstance(initMethodBindToType), '__init__', { method: 'get' },
138
+ initMethodTypeResult = evaluator.getTypeOfObjectMember(errorNode, initMethodBindToType, '__init__', { method: 'get' },
137
139
  /* diag */ undefined, 4 /* SkipObjectBaseClass */ | 64 /* SkipAttributeAccessOverride */);
138
140
  // Validate __init__ if it's present.
139
141
  if (initMethodTypeResult) {
@@ -242,7 +244,7 @@ function validateInitMethod(evaluator, errorNode, argList, type, skipUnknownArgC
242
244
  expectedSubType = (0, typeUtils_1.transformPossibleRecursiveTypeAlias)(expectedSubType);
243
245
  const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(type));
244
246
  typeVarContext.addSolveForScope((0, typeUtils_1.getTypeVarScopeId)(initMethodType));
245
- if ((0, constraintSolver_1.populateTypeVarContextBasedOnExpectedType)(evaluator, types_1.ClassType.cloneAsInstance(type), expectedSubType, typeVarContext, (0, parseTreeUtils_1.getTypeVarScopesForNode)(errorNode))) {
247
+ if ((0, constraintSolver_1.populateTypeVarContextBasedOnExpectedType)(evaluator, types_1.ClassType.cloneAsInstance(type), expectedSubType, typeVarContext, (0, parseTreeUtils_1.getTypeVarScopesForNode)(errorNode), errorNode.start)) {
246
248
  const specializedConstructor = (0, typeUtils_1.applySolvedTypeVars)(initMethodType, typeVarContext);
247
249
  let callResult;
248
250
  callResult = evaluator.useSpeculativeMode(errorNode, () => {
@@ -314,7 +316,7 @@ function validateFallbackConstructorCall(evaluator, errorNode, argList, type, in
314
316
  // type if provided.
315
317
  const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(type));
316
318
  if (inferenceContext) {
317
- (0, constraintSolver_1.populateTypeVarContextBasedOnExpectedType)(evaluator, types_1.ClassType.cloneAsInstance(type), inferenceContext.expectedType, typeVarContext, (0, parseTreeUtils_1.getTypeVarScopesForNode)(errorNode));
319
+ (0, constraintSolver_1.populateTypeVarContextBasedOnExpectedType)(evaluator, types_1.ClassType.cloneAsInstance(type), inferenceContext.expectedType, typeVarContext, (0, parseTreeUtils_1.getTypeVarScopesForNode)(errorNode), errorNode.start);
318
320
  }
319
321
  return {
320
322
  argumentErrors: reportedErrors,
@@ -508,4 +510,27 @@ function shouldSkipInitEvaluation(evaluator, classType, newMethodReturnType) {
508
510
  });
509
511
  return skipInitCheck;
510
512
  }
513
+ // Determine whether the __new__ method is the placeholder signature
514
+ // of "def __new__(cls, *args, **kwargs) -> Self".
515
+ function isDefaultNewMethod(newMethod) {
516
+ var _a;
517
+ if (!newMethod || !(0, types_1.isFunction)(newMethod)) {
518
+ return false;
519
+ }
520
+ if (newMethod.details.paramSpec) {
521
+ return false;
522
+ }
523
+ const params = newMethod.details.parameters;
524
+ if (params.length !== 2) {
525
+ return false;
526
+ }
527
+ if (params[0].category !== 1 /* ArgsList */ || params[1].category !== 2 /* KwargsDict */) {
528
+ return false;
529
+ }
530
+ const returnType = (_a = newMethod.details.declaredReturnType) !== null && _a !== void 0 ? _a : newMethod.inferredReturnType;
531
+ if (!returnType || !(0, types_1.isTypeVar)(returnType) || !returnType.details.isSynthesizedSelf) {
532
+ return false;
533
+ }
534
+ return true;
535
+ }
511
536
  //# sourceMappingURL=constructors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../src/analyzer/constructors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../src/analyzer/constructors.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;