@zzzen/pyright-internal 1.2.0-dev.20240721 → 1.2.0-dev.20240728

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 (211) hide show
  1. package/dist/analyzer/analyzerNodeInfo.js +2 -2
  2. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +8 -8
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/cacheManager.js +3 -0
  6. package/dist/analyzer/cacheManager.js.map +1 -1
  7. package/dist/analyzer/checker.d.ts +3 -2
  8. package/dist/analyzer/checker.js +115 -122
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/codeFlowEngine.d.ts +2 -2
  11. package/dist/analyzer/codeFlowEngine.js +49 -42
  12. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  13. package/dist/analyzer/codeFlowTypes.js +1 -1
  14. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  15. package/dist/analyzer/constraintSolver.d.ts +2 -2
  16. package/dist/analyzer/constraintSolver.js +164 -204
  17. package/dist/analyzer/constraintSolver.js.map +1 -1
  18. package/dist/analyzer/constructorTransform.d.ts +2 -2
  19. package/dist/analyzer/constructorTransform.js +15 -15
  20. package/dist/analyzer/constructorTransform.js.map +1 -1
  21. package/dist/analyzer/constructors.d.ts +2 -2
  22. package/dist/analyzer/constructors.js +28 -33
  23. package/dist/analyzer/constructors.js.map +1 -1
  24. package/dist/analyzer/dataClasses.d.ts +2 -2
  25. package/dist/analyzer/dataClasses.js +59 -36
  26. package/dist/analyzer/dataClasses.js.map +1 -1
  27. package/dist/analyzer/declaration.d.ts +9 -9
  28. package/dist/analyzer/declaration.js +9 -9
  29. package/dist/analyzer/declaration.js.map +1 -1
  30. package/dist/analyzer/declarationUtils.d.ts +1 -1
  31. package/dist/analyzer/declarationUtils.js +6 -6
  32. package/dist/analyzer/declarationUtils.js.map +1 -1
  33. package/dist/analyzer/decorators.js +4 -4
  34. package/dist/analyzer/decorators.js.map +1 -1
  35. package/dist/analyzer/docStringConversion.js +2 -2
  36. package/dist/analyzer/docStringConversion.js.map +1 -1
  37. package/dist/analyzer/enums.d.ts +2 -2
  38. package/dist/analyzer/enums.js +6 -6
  39. package/dist/analyzer/enums.js.map +1 -1
  40. package/dist/analyzer/functionTransform.d.ts +2 -2
  41. package/dist/analyzer/functionTransform.js +4 -4
  42. package/dist/analyzer/functionTransform.js.map +1 -1
  43. package/dist/analyzer/importResolver.js +5 -3
  44. package/dist/analyzer/importResolver.js.map +1 -1
  45. package/dist/analyzer/namedTuples.d.ts +3 -3
  46. package/dist/analyzer/namedTuples.js +21 -22
  47. package/dist/analyzer/namedTuples.js.map +1 -1
  48. package/dist/analyzer/operations.js +10 -10
  49. package/dist/analyzer/operations.js.map +1 -1
  50. package/dist/analyzer/packageTypeVerifier.js +8 -8
  51. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  52. package/dist/analyzer/parameterUtils.d.ts +10 -10
  53. package/dist/analyzer/parameterUtils.js +58 -58
  54. package/dist/analyzer/parameterUtils.js.map +1 -1
  55. package/dist/analyzer/parseTreeUtils.d.ts +6 -6
  56. package/dist/analyzer/parseTreeUtils.js +22 -22
  57. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  58. package/dist/analyzer/patternMatching.js +108 -89
  59. package/dist/analyzer/patternMatching.js.map +1 -1
  60. package/dist/analyzer/program.js +11 -4
  61. package/dist/analyzer/program.js.map +1 -1
  62. package/dist/analyzer/properties.js +19 -19
  63. package/dist/analyzer/properties.js.map +1 -1
  64. package/dist/analyzer/protocols.js +14 -15
  65. package/dist/analyzer/protocols.js.map +1 -1
  66. package/dist/analyzer/pythonPathUtils.js +1 -1
  67. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  68. package/dist/analyzer/service.d.ts +3 -7
  69. package/dist/analyzer/service.js +28 -30
  70. package/dist/analyzer/service.js.map +1 -1
  71. package/dist/analyzer/serviceUtils.d.ts +8 -0
  72. package/dist/analyzer/serviceUtils.js +31 -0
  73. package/dist/analyzer/serviceUtils.js.map +1 -0
  74. package/dist/analyzer/sourceFile.js +5 -19
  75. package/dist/analyzer/sourceFile.js.map +1 -1
  76. package/dist/analyzer/sourceMapper.d.ts +1 -1
  77. package/dist/analyzer/sourceMapper.js +4 -4
  78. package/dist/analyzer/sourceMapper.js.map +1 -1
  79. package/dist/analyzer/staticExpressions.js +1 -1
  80. package/dist/analyzer/staticExpressions.js.map +1 -1
  81. package/dist/analyzer/tracePrinter.js +4 -4
  82. package/dist/analyzer/tracePrinter.js.map +1 -1
  83. package/dist/analyzer/tuples.d.ts +9 -0
  84. package/dist/analyzer/tuples.js +252 -0
  85. package/dist/analyzer/tuples.js.map +1 -0
  86. package/dist/analyzer/typeComplexity.d.ts +2 -0
  87. package/dist/analyzer/typeComplexity.js +86 -0
  88. package/dist/analyzer/typeComplexity.js.map +1 -0
  89. package/dist/analyzer/typeEvaluator.js +1062 -1311
  90. package/dist/analyzer/typeEvaluator.js.map +1 -1
  91. package/dist/analyzer/typeEvaluatorTypes.d.ts +44 -40
  92. package/dist/analyzer/typeEvaluatorTypes.js +7 -1
  93. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  94. package/dist/analyzer/typeGuards.js +114 -85
  95. package/dist/analyzer/typeGuards.js.map +1 -1
  96. package/dist/analyzer/typePrinter.d.ts +1 -1
  97. package/dist/analyzer/typePrinter.js +54 -53
  98. package/dist/analyzer/typePrinter.js.map +1 -1
  99. package/dist/analyzer/typeStubWriter.d.ts +3 -3
  100. package/dist/analyzer/typeStubWriter.js +15 -15
  101. package/dist/analyzer/typeStubWriter.js.map +1 -1
  102. package/dist/analyzer/typeUtils.d.ts +20 -18
  103. package/dist/analyzer/typeUtils.js +316 -321
  104. package/dist/analyzer/typeUtils.js.map +1 -1
  105. package/dist/analyzer/typeVarContext.d.ts +24 -36
  106. package/dist/analyzer/typeVarContext.js +89 -193
  107. package/dist/analyzer/typeVarContext.js.map +1 -1
  108. package/dist/analyzer/typeWalker.js +4 -4
  109. package/dist/analyzer/typeWalker.js.map +1 -1
  110. package/dist/analyzer/typedDicts.d.ts +2 -2
  111. package/dist/analyzer/typedDicts.js +48 -52
  112. package/dist/analyzer/typedDicts.js.map +1 -1
  113. package/dist/analyzer/types.d.ts +79 -57
  114. package/dist/analyzer/types.js +125 -113
  115. package/dist/analyzer/types.js.map +1 -1
  116. package/dist/commands/dumpFileDebugInfoCommand.js +11 -11
  117. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  118. package/dist/common/configOptions.d.ts +1 -0
  119. package/dist/common/configOptions.js +5 -0
  120. package/dist/common/configOptions.js.map +1 -1
  121. package/dist/common/diagnosticRules.d.ts +1 -0
  122. package/dist/common/diagnosticRules.js +1 -0
  123. package/dist/common/diagnosticRules.js.map +1 -1
  124. package/dist/common/fileSystem.d.ts +0 -1
  125. package/dist/common/fileSystem.js.map +1 -1
  126. package/dist/common/languageServerInterface.d.ts +13 -0
  127. package/dist/common/languageServerInterface.js +15 -1
  128. package/dist/common/languageServerInterface.js.map +1 -1
  129. package/dist/common/lspUtils.js +2 -2
  130. package/dist/common/memUtils.d.ts +4 -0
  131. package/dist/common/memUtils.js +33 -2
  132. package/dist/common/memUtils.js.map +1 -1
  133. package/dist/common/serviceKeys.d.ts +3 -0
  134. package/dist/common/serviceKeys.js +2 -0
  135. package/dist/common/serviceKeys.js.map +1 -1
  136. package/dist/common/serviceProviderExtensions.js +7 -0
  137. package/dist/common/serviceProviderExtensions.js.map +1 -1
  138. package/dist/languageServerBase.d.ts +4 -3
  139. package/dist/languageServerBase.js +14 -10
  140. package/dist/languageServerBase.js.map +1 -1
  141. package/dist/languageService/autoImporter.d.ts +3 -2
  142. package/dist/languageService/autoImporter.js +5 -1
  143. package/dist/languageService/autoImporter.js.map +1 -1
  144. package/dist/languageService/completionProvider.d.ts +5 -3
  145. package/dist/languageService/completionProvider.js +38 -37
  146. package/dist/languageService/completionProvider.js.map +1 -1
  147. package/dist/languageService/completionProviderUtils.d.ts +1 -1
  148. package/dist/languageService/completionProviderUtils.js +3 -3
  149. package/dist/languageService/completionProviderUtils.js.map +1 -1
  150. package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
  151. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  152. package/dist/languageService/hoverProvider.js +3 -3
  153. package/dist/languageService/hoverProvider.js.map +1 -1
  154. package/dist/languageService/referencesProvider.js +2 -2
  155. package/dist/languageService/signatureHelpProvider.js +1 -1
  156. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  157. package/dist/languageService/tooltipUtils.js +3 -3
  158. package/dist/languageService/tooltipUtils.js.map +1 -1
  159. package/dist/localization/localize.d.ts +5 -0
  160. package/dist/localization/localize.js +6 -0
  161. package/dist/localization/localize.js.map +1 -1
  162. package/dist/localization/package.nls.cs.json +5 -1
  163. package/dist/localization/package.nls.de.json +5 -1
  164. package/dist/localization/package.nls.en-us.json +5 -0
  165. package/dist/localization/package.nls.es.json +5 -1
  166. package/dist/localization/package.nls.fr.json +5 -1
  167. package/dist/localization/package.nls.it.json +5 -1
  168. package/dist/localization/package.nls.ja.json +5 -1
  169. package/dist/localization/package.nls.ko.json +5 -1
  170. package/dist/localization/package.nls.pl.json +5 -1
  171. package/dist/localization/package.nls.pt-br.json +5 -1
  172. package/dist/localization/package.nls.qps-ploc.json +5 -1
  173. package/dist/localization/package.nls.ru.json +5 -1
  174. package/dist/localization/package.nls.tr.json +5 -1
  175. package/dist/localization/package.nls.zh-cn.json +5 -1
  176. package/dist/localization/package.nls.zh-tw.json +5 -1
  177. package/dist/parser/parseNodes.d.ts +9 -9
  178. package/dist/parser/parseNodes.js +20 -20
  179. package/dist/parser/parseNodes.js.map +1 -1
  180. package/dist/parser/parser.js +30 -30
  181. package/dist/parser/parser.js.map +1 -1
  182. package/dist/tests/checker.test.js +2 -2
  183. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js +4 -21
  184. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  185. package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -1
  186. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  187. package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
  188. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  189. package/dist/tests/harness/fourslash/testStateUtils.js +2 -2
  190. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  191. package/dist/tests/harness/vfs/filesystem.d.ts +0 -1
  192. package/dist/tests/harness/vfs/filesystem.js +0 -4
  193. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  194. package/dist/tests/importResolver.test.js +62 -15
  195. package/dist/tests/importResolver.test.js.map +1 -1
  196. package/dist/tests/lsp/languageServerTestUtils.js +1 -1
  197. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  198. package/dist/tests/typeEvaluator3.test.js +1 -1
  199. package/dist/tests/typeEvaluator4.test.js +9 -1
  200. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  201. package/dist/tests/typeEvaluator5.test.js +8 -2
  202. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  203. package/dist/tests/typeEvaluator6.test.js +72 -60
  204. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  205. package/dist/tests/typeEvaluator7.test.js +2 -2
  206. package/dist/tests/typePrinter.test.js +13 -18
  207. package/dist/tests/typePrinter.test.js.map +1 -1
  208. package/dist/workspaceFactory.d.ts +3 -2
  209. package/dist/workspaceFactory.js +15 -2
  210. package/dist/workspaceFactory.js.map +1 -1
  211. package/package.json +1 -1
@@ -1,46 +1,36 @@
1
- import { FunctionType, TupleTypeArgument, Type, TypeVarScopeId, TypeVarType } from './types';
2
- export interface TypeVarMapEntry {
1
+ import { FunctionType, ParamSpecType, Type, TypeVarScopeId, TypeVarType } from './types';
2
+ export interface TypeVarSolution {
3
3
  typeVar: TypeVarType;
4
- narrowBound?: Type | undefined;
5
- narrowBoundNoLiterals?: Type | undefined;
6
- wideBound?: Type | undefined;
7
- tupleTypes?: TupleTypeArgument[];
4
+ lowerBound?: Type | undefined;
5
+ lowerBoundNoLiterals?: Type | undefined;
6
+ upperBound?: Type | undefined;
8
7
  }
9
- export declare class TypeVarSignatureContext {
8
+ export declare class TypeVarSolutionSet {
10
9
  private _typeVarMap;
11
- private _sourceTypeVarScopeId;
10
+ private _scopeIds;
12
11
  constructor();
13
- clone(): TypeVarSignatureContext;
14
- isSame(other: TypeVarSignatureContext): boolean;
12
+ clone(): TypeVarSolutionSet;
13
+ isSame(other: TypeVarSolutionSet): boolean;
15
14
  isEmpty(): boolean;
16
15
  getScore(): number;
17
- getTypeVarType(reference: TypeVarType, useNarrowBoundOnly?: boolean): Type | undefined;
18
- getParamSpecType(reference: TypeVarType): FunctionType | undefined;
19
- setTypeVarType(reference: TypeVarType, narrowBound: Type | undefined, narrowBoundNoLiterals?: Type, wideBound?: Type, tupleTypes?: TupleTypeArgument[]): void;
20
- getTupleTypeVar(reference: TypeVarType): TupleTypeArgument[] | undefined;
21
- setTupleTypeVar(reference: TypeVarType, types: TupleTypeArgument[]): void;
22
- getTypeVar(reference: TypeVarType): TypeVarMapEntry | undefined;
23
- getTypeVars(): TypeVarMapEntry[];
24
- getTypeVarCount(): number;
25
- getWideTypeBound(reference: TypeVarType): Type | undefined;
26
- addSourceTypeVarScopeId(scopeId: TypeVarScopeId): void;
27
- hasSourceTypeVarScopeId(scopeId: TypeVarScopeId): boolean;
28
- private _getComplexityScoreForType;
29
- private _getComplexityScoreForClass;
16
+ getTypeVarType(reference: ParamSpecType): FunctionType | undefined;
17
+ getTypeVarType(reference: TypeVarType, useLowerBoundOnly?: boolean): Type | undefined;
18
+ setTypeVarType(reference: TypeVarType, lowerBound: Type | undefined, lowerBoundNoLiterals?: Type, upperBound?: Type): void;
19
+ getTypeVar(reference: TypeVarType): TypeVarSolution | undefined;
20
+ getTypeVars(): TypeVarSolution[];
21
+ addScopeId(scopeId: TypeVarScopeId): void;
22
+ hasScopeId(scopeId: TypeVarScopeId): boolean;
30
23
  }
31
24
  export declare class TypeVarContext {
32
- static nextTypeVarContextId: number;
33
- private _id;
34
25
  private _solveForScopes;
35
26
  private _isLocked;
36
- private _signatureContexts;
27
+ private _solutionSets;
37
28
  constructor(solveForScopes?: TypeVarScopeId[] | TypeVarScopeId);
38
29
  clone(): TypeVarContext;
39
- cloneWithSignatureSource(typeVarScopeId: TypeVarScopeId): TypeVarContext;
30
+ cloneWithSignature(scopeId: TypeVarScopeId): TypeVarContext;
40
31
  copyFromClone(clone: TypeVarContext): void;
41
- copySignatureContexts(contexts: TypeVarSignatureContext[]): void;
32
+ addSolutionSets(contexts: TypeVarSolutionSet[]): void;
42
33
  isSame(other: TypeVarContext): boolean;
43
- getId(): number;
44
34
  getSolveForScopes(): string[] | undefined;
45
35
  hasSolveForScope(scopeId: TypeVarScopeId | TypeVarScopeId[] | undefined): boolean;
46
36
  setSolveForScopes(scopeIds: TypeVarScopeId[]): void;
@@ -49,12 +39,10 @@ export declare class TypeVarContext {
49
39
  unlock(): void;
50
40
  isLocked(): boolean;
51
41
  isEmpty(): boolean;
52
- setTypeVarType(reference: TypeVarType, narrowBound: Type | undefined, narrowBoundNoLiterals?: Type, wideBound?: Type, tupleTypes?: TupleTypeArgument[]): void;
53
- setTupleTypeVar(reference: TypeVarType, tupleTypes: TupleTypeArgument[]): void;
42
+ setTypeVarType(reference: TypeVarType, lowerBound: Type | undefined, lowerBoundNoLiterals?: Type, upperBound?: Type): void;
54
43
  getScore(): number;
55
- getPrimarySignature(): TypeVarSignatureContext;
56
- getSignatureContexts(): TypeVarSignatureContext[];
57
- doForEachSignatureContext(callback: (signature: TypeVarSignatureContext, signatureIndex: number) => void): void;
58
- getSignatureContext(index: number): TypeVarSignatureContext;
59
- doForEachSignature(callback: (context: TypeVarSignatureContext) => void): void;
44
+ getMainSolutionSet(): TypeVarSolutionSet;
45
+ getSolutionSets(): TypeVarSolutionSet[];
46
+ doForEachSolutionSet(callback: (solutionSet: TypeVarSolutionSet, index: number) => void): void;
47
+ getSolutionSet(index: number): TypeVarSolutionSet;
60
48
  }
@@ -5,16 +5,16 @@
5
5
  * Licensed under the MIT license.
6
6
  * Author: Eric Traut
7
7
  *
8
- * Module that records the relationship between type variables (and ParamSpecs)
9
- * and their types. It is used by the type evaluator to "solve" for the type of
8
+ * Module that records the relationship between type variables and their
9
+ * types. It is used by the constraint solver to solve for the type of
10
10
  * each type variable.
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.TypeVarContext = exports.TypeVarSignatureContext = void 0;
13
+ exports.TypeVarContext = exports.TypeVarSolutionSet = void 0;
14
14
  const debug_1 = require("../common/debug");
15
- const typeUtils_1 = require("./typeUtils");
15
+ const typeComplexity_1 = require("./typeComplexity");
16
16
  const types_1 = require("./types");
17
- // The maximum number of signature contexts that can be associated
17
+ // The maximum number of solution sets that can be associated
18
18
  // with a TypeVarContext. This equates to the number of overloads
19
19
  // that can be captured by a ParamSpec (or multiple ParamSpecs).
20
20
  // We should never hit this limit in practice, but there are certain
@@ -22,23 +22,22 @@ const types_1 = require("./types");
22
22
  // this so it doesn't completely exhaust memory. This was previously
23
23
  // set to 64, but we have seen cases where a library uses in excess
24
24
  // of 300 overloads on a single function.
25
- const maxSignatureContextCount = 1024;
26
- class TypeVarSignatureContext {
25
+ const maxSolutionSetCount = 1024;
26
+ // Records the solution information for a set of type variables associated
27
+ // with a callee's signature.
28
+ class TypeVarSolutionSet {
27
29
  constructor() {
28
30
  this._typeVarMap = new Map();
29
31
  }
30
32
  clone() {
31
- const newContext = new TypeVarSignatureContext();
33
+ const solutionSet = new TypeVarSolutionSet();
32
34
  this._typeVarMap.forEach((value) => {
33
- newContext.setTypeVarType(value.typeVar, value.narrowBound, value.narrowBoundNoLiterals, value.wideBound);
34
- if (value.tupleTypes) {
35
- newContext.setTupleTypeVar(value.typeVar, value.tupleTypes);
36
- }
35
+ solutionSet.setTypeVarType(value.typeVar, value.lowerBound, value.lowerBoundNoLiterals, value.upperBound);
37
36
  });
38
- if (this._sourceTypeVarScopeId) {
39
- this._sourceTypeVarScopeId.forEach((scopeId) => newContext.addSourceTypeVarScopeId(scopeId));
37
+ if (this._scopeIds) {
38
+ this._scopeIds.forEach((scopeId) => solutionSet.addScopeId(scopeId));
40
39
  }
41
- return newContext;
40
+ return solutionSet;
42
41
  }
43
42
  isSame(other) {
44
43
  if (this._typeVarMap.size !== other._typeVarMap.size) {
@@ -54,8 +53,8 @@ class TypeVarSignatureContext {
54
53
  this._typeVarMap.forEach((value, key) => {
55
54
  const otherValue = other._typeVarMap.get(key);
56
55
  if (!otherValue ||
57
- !typesMatch(value.narrowBound, otherValue.narrowBound) ||
58
- !typesMatch(value.wideBound, otherValue.wideBound)) {
56
+ !typesMatch(value.lowerBound, otherValue.lowerBound) ||
57
+ !typesMatch(value.upperBound, otherValue.upperBound)) {
59
58
  isSame = false;
60
59
  }
61
60
  });
@@ -76,57 +75,50 @@ class TypeVarSignatureContext {
76
75
  // The more complex, the lower the score. In the spirit of Occam's
77
76
  // Razor, we always want to favor simple answers.
78
77
  const typeVarType = this.getTypeVarType(value.typeVar);
79
- score += 1.0 - this._getComplexityScoreForType(typeVarType);
78
+ score += 1.0 - (0, typeComplexity_1.getComplexityScoreForType)(typeVarType);
80
79
  });
81
80
  return score;
82
81
  }
83
- getTypeVarType(reference, useNarrowBoundOnly = false) {
82
+ getTypeVarType(reference, useLowerBoundOnly = false) {
84
83
  var _a, _b;
85
84
  const entry = this.getTypeVar(reference);
86
85
  if (!entry) {
87
86
  return undefined;
88
87
  }
89
- if (useNarrowBoundOnly) {
90
- return entry.narrowBound;
91
- }
92
- // Prefer the narrow version with no literals. It will be undefined
93
- // if the literal type couldn't be widened due to constraints imposed
94
- // by the wide bound.
95
- return (_b = (_a = entry.narrowBoundNoLiterals) !== null && _a !== void 0 ? _a : entry.narrowBound) !== null && _b !== void 0 ? _b : entry.wideBound;
96
- }
97
- getParamSpecType(reference) {
98
- const entry = this.getTypeVar(reference);
99
- if (!(entry === null || entry === void 0 ? void 0 : entry.narrowBound)) {
100
- return undefined;
88
+ if ((0, types_1.isParamSpec)(reference)) {
89
+ if (!entry.lowerBound) {
90
+ return undefined;
91
+ }
92
+ if ((0, types_1.isFunction)(entry.lowerBound)) {
93
+ return entry.lowerBound;
94
+ }
95
+ if ((0, types_1.isAnyOrUnknown)(entry.lowerBound)) {
96
+ return types_1.ParamSpecType.getUnknown();
97
+ }
101
98
  }
102
- if ((0, types_1.isFunction)(entry.narrowBound)) {
103
- return entry.narrowBound;
99
+ if (useLowerBoundOnly) {
100
+ return entry.lowerBound;
104
101
  }
105
- if ((0, types_1.isAnyOrUnknown)(entry.narrowBound)) {
106
- return (0, typeUtils_1.getUnknownTypeForParamSpec)();
102
+ // Prefer the lower bound with no literals. It will be undefined
103
+ // if the literal type couldn't be widened due to constraints imposed
104
+ // by the upper bound.
105
+ return (_b = (_a = entry.lowerBoundNoLiterals) !== null && _a !== void 0 ? _a : entry.lowerBound) !== null && _b !== void 0 ? _b : entry.upperBound;
106
+ }
107
+ setTypeVarType(reference, lowerBound, lowerBoundNoLiterals, upperBound) {
108
+ // For param specs, callers should always convert values to function types.
109
+ if ((0, types_1.isParamSpec)(reference)) {
110
+ (0, debug_1.assert)(!lowerBound || (0, types_1.isFunction)(lowerBound));
111
+ (0, debug_1.assert)(!lowerBoundNoLiterals || (0, types_1.isFunction)(lowerBoundNoLiterals));
112
+ (0, debug_1.assert)(!upperBound || (0, types_1.isFunction)(upperBound));
107
113
  }
108
- return undefined;
109
- }
110
- setTypeVarType(reference, narrowBound, narrowBoundNoLiterals, wideBound, tupleTypes) {
111
114
  const key = types_1.TypeVarType.getNameWithScope(reference);
112
115
  this._typeVarMap.set(key, {
113
116
  typeVar: reference,
114
- narrowBound,
115
- narrowBoundNoLiterals,
116
- wideBound,
117
- tupleTypes,
117
+ lowerBound,
118
+ lowerBoundNoLiterals,
119
+ upperBound,
118
120
  });
119
121
  }
120
- getTupleTypeVar(reference) {
121
- var _a;
122
- return (_a = this.getTypeVar(reference)) === null || _a === void 0 ? void 0 : _a.tupleTypes;
123
- }
124
- setTupleTypeVar(reference, types) {
125
- // Caller should have already assigned a value to this type variable.
126
- const entry = this.getTypeVar(reference);
127
- (0, debug_1.assert)(entry);
128
- entry.tupleTypes = types;
129
- }
130
122
  getTypeVar(reference) {
131
123
  const key = types_1.TypeVarType.getNameWithScope(reference);
132
124
  return this._typeVarMap.get(key);
@@ -138,104 +130,23 @@ class TypeVarSignatureContext {
138
130
  });
139
131
  return entries;
140
132
  }
141
- getTypeVarCount() {
142
- return this._typeVarMap.size;
143
- }
144
- getWideTypeBound(reference) {
145
- const entry = this.getTypeVar(reference);
146
- if (entry) {
147
- return entry.wideBound;
148
- }
149
- return undefined;
150
- }
151
- addSourceTypeVarScopeId(scopeId) {
152
- if (!this._sourceTypeVarScopeId) {
153
- this._sourceTypeVarScopeId = new Set();
133
+ addScopeId(scopeId) {
134
+ if (!this._scopeIds) {
135
+ this._scopeIds = new Set();
154
136
  }
155
- this._sourceTypeVarScopeId.add(scopeId);
137
+ this._scopeIds.add(scopeId);
156
138
  }
157
- hasSourceTypeVarScopeId(scopeId) {
158
- if (!this._sourceTypeVarScopeId) {
139
+ hasScopeId(scopeId) {
140
+ if (!this._scopeIds) {
159
141
  return false;
160
142
  }
161
- return this._sourceTypeVarScopeId.has(scopeId);
162
- }
163
- // Returns a "score" for a type that captures the relative complexity
164
- // of the type. Scores should all be between 0 and 1 where 0 means
165
- // very simple and 1 means complex. This is a heuristic, so there's
166
- // often no objectively correct answer.
167
- _getComplexityScoreForType(type, recursionCount = 0) {
168
- if (recursionCount > types_1.maxTypeRecursionCount) {
169
- return 1;
170
- }
171
- recursionCount++;
172
- switch (type.category) {
173
- case 1 /* TypeCategory.Unknown */:
174
- case 2 /* TypeCategory.Any */:
175
- case 9 /* TypeCategory.TypeVar */: {
176
- return 0.5;
177
- }
178
- case 4 /* TypeCategory.Function */:
179
- case 5 /* TypeCategory.OverloadedFunction */: {
180
- // Classes and unions should be preferred over functions,
181
- // so make this relatively high (more than 0.75).
182
- return 0.8;
183
- }
184
- case 0 /* TypeCategory.Unbound */:
185
- case 3 /* TypeCategory.Never */:
186
- return 1.0;
187
- case 8 /* TypeCategory.Union */: {
188
- let maxScore = 0;
189
- // If this union has a very large number of subtypes, don't bother
190
- // accurately computing the score. Assume a fixed value.
191
- if (type.priv.subtypes.length < 16) {
192
- type.priv.subtypes.forEach((subtype) => {
193
- const subtypeScore = this._getComplexityScoreForType(subtype, recursionCount);
194
- maxScore = Math.max(maxScore, subtypeScore);
195
- });
196
- }
197
- else {
198
- maxScore = 0.5;
199
- }
200
- return maxScore;
201
- }
202
- case 6 /* TypeCategory.Class */: {
203
- return this._getComplexityScoreForClass(type, recursionCount);
204
- }
205
- }
206
- // For all other types, return a score of 0.
207
- return 0;
208
- }
209
- _getComplexityScoreForClass(classType, recursionCount) {
210
- let typeArgScoreSum = 0;
211
- let typeArgCount = 0;
212
- if (classType.priv.tupleTypeArguments) {
213
- classType.priv.tupleTypeArguments.forEach((typeArg) => {
214
- typeArgScoreSum += this._getComplexityScoreForType(typeArg.type, recursionCount);
215
- typeArgCount++;
216
- });
217
- }
218
- else if (classType.priv.typeArguments) {
219
- classType.priv.typeArguments.forEach((type) => {
220
- typeArgScoreSum += this._getComplexityScoreForType(type, recursionCount);
221
- typeArgCount++;
222
- });
223
- }
224
- else if (classType.shared.typeParameters) {
225
- classType.shared.typeParameters.forEach((type) => {
226
- typeArgScoreSum += this._getComplexityScoreForType(types_1.AnyType.create(), recursionCount);
227
- typeArgCount++;
228
- });
229
- }
230
- const averageTypeArgComplexity = typeArgCount > 0 ? typeArgScoreSum / typeArgCount : 0;
231
- return 0.5 + averageTypeArgComplexity * 0.25;
143
+ return this._scopeIds.has(scopeId);
232
144
  }
233
145
  }
234
- exports.TypeVarSignatureContext = TypeVarSignatureContext;
146
+ exports.TypeVarSolutionSet = TypeVarSolutionSet;
235
147
  class TypeVarContext {
236
148
  constructor(solveForScopes) {
237
149
  this._isLocked = false;
238
- this._id = TypeVarContext.nextTypeVarContextId++;
239
150
  if (Array.isArray(solveForScopes)) {
240
151
  this._solveForScopes = solveForScopes;
241
152
  }
@@ -245,54 +156,51 @@ class TypeVarContext {
245
156
  else {
246
157
  this._solveForScopes = undefined;
247
158
  }
248
- this._signatureContexts = [new TypeVarSignatureContext()];
159
+ this._solutionSets = [new TypeVarSolutionSet()];
249
160
  }
250
161
  clone() {
251
162
  const newTypeVarMap = new TypeVarContext();
252
163
  if (this._solveForScopes) {
253
164
  newTypeVarMap._solveForScopes = Array.from(this._solveForScopes);
254
165
  }
255
- newTypeVarMap._signatureContexts = this._signatureContexts.map((context) => context.clone());
166
+ newTypeVarMap._solutionSets = this._solutionSets.map((solutionSet) => solutionSet.clone());
256
167
  newTypeVarMap._isLocked = this._isLocked;
257
168
  return newTypeVarMap;
258
169
  }
259
- cloneWithSignatureSource(typeVarScopeId) {
260
- const clonedContext = this.clone();
261
- if (typeVarScopeId) {
262
- const filteredSignatures = this._signatureContexts.filter((context) => context.hasSourceTypeVarScopeId(typeVarScopeId));
263
- if (filteredSignatures.length > 0) {
264
- clonedContext._signatureContexts = filteredSignatures;
170
+ cloneWithSignature(scopeId) {
171
+ const cloned = this.clone();
172
+ if (scopeId) {
173
+ const filteredSolutionSets = this._solutionSets.filter((context) => context.hasScopeId(scopeId));
174
+ if (filteredSolutionSets.length > 0) {
175
+ cloned._solutionSets = filteredSolutionSets;
265
176
  }
266
177
  else {
267
- clonedContext._signatureContexts.forEach((context) => {
268
- context.addSourceTypeVarScopeId(typeVarScopeId);
178
+ cloned._solutionSets.forEach((context) => {
179
+ context.addScopeId(scopeId);
269
180
  });
270
181
  }
271
182
  }
272
- return clonedContext;
183
+ return cloned;
273
184
  }
274
185
  // Copies a cloned type var context back into this object.
275
186
  copyFromClone(clone) {
276
- this._signatureContexts = clone._signatureContexts.map((context) => context.clone());
187
+ this._solutionSets = clone._solutionSets.map((context) => context.clone());
277
188
  this._isLocked = clone._isLocked;
278
189
  }
279
- // Copy the specified signature contexts into this type var context.
280
- copySignatureContexts(contexts) {
190
+ // Copy the specified solution sets into this type var context.
191
+ addSolutionSets(contexts) {
281
192
  (0, debug_1.assert)(contexts.length > 0);
282
- // Limit the number of signature contexts. There are rare circumstances
193
+ // Limit the number of solution sets. There are rare circumstances
283
194
  // where this can grow to unbounded numbers and exhaust memory.
284
- if (contexts.length < maxSignatureContextCount) {
285
- this._signatureContexts = Array.from(contexts);
195
+ if (contexts.length < maxSolutionSetCount) {
196
+ this._solutionSets = Array.from(contexts);
286
197
  }
287
198
  }
288
199
  isSame(other) {
289
- if (other._signatureContexts.length !== this._signatureContexts.length) {
200
+ if (other._solutionSets.length !== this._solutionSets.length) {
290
201
  return false;
291
202
  }
292
- return this._signatureContexts.every((context, index) => context.isSame(other._signatureContexts[index]));
293
- }
294
- getId() {
295
- return this._id;
203
+ return this._solutionSets.every((solutionSet, index) => solutionSet.isSame(other._solutionSets[index]));
296
204
  }
297
205
  // Returns the list of scopes this type var map is "solving".
298
206
  getSolveForScopes() {
@@ -339,54 +247,42 @@ class TypeVarContext {
339
247
  return this._isLocked;
340
248
  }
341
249
  isEmpty() {
342
- return this._signatureContexts.every((context) => context.isEmpty());
343
- }
344
- setTypeVarType(reference, narrowBound, narrowBoundNoLiterals, wideBound, tupleTypes) {
345
- (0, debug_1.assert)(!this._isLocked);
346
- return this._signatureContexts.forEach((context) => {
347
- context.setTypeVarType(reference, narrowBound, narrowBoundNoLiterals, wideBound, tupleTypes);
348
- });
250
+ return this._solutionSets.every((solutionSet) => solutionSet.isEmpty());
349
251
  }
350
- setTupleTypeVar(reference, tupleTypes) {
252
+ setTypeVarType(reference, lowerBound, lowerBoundNoLiterals, upperBound) {
351
253
  (0, debug_1.assert)(!this._isLocked);
352
- return this._signatureContexts.forEach((context) => {
353
- context.setTupleTypeVar(reference, tupleTypes);
254
+ return this._solutionSets.forEach((solutionSet) => {
255
+ solutionSet.setTypeVarType(reference, lowerBound, lowerBoundNoLiterals, upperBound);
354
256
  });
355
257
  }
356
258
  getScore() {
357
259
  let total = 0;
358
- this._signatureContexts.forEach((context) => {
359
- total += context.getScore();
260
+ this._solutionSets.forEach((solutionSet) => {
261
+ total += solutionSet.getScore();
360
262
  });
361
- // Return the average score among all signature contexts.
362
- return total / this._signatureContexts.length;
263
+ // Return the average score among all solution sets.
264
+ return total / this._solutionSets.length;
363
265
  }
364
- getPrimarySignature() {
365
- return this._signatureContexts[0];
266
+ getMainSolutionSet() {
267
+ return this._solutionSets[0];
366
268
  }
367
- getSignatureContexts() {
368
- return this._signatureContexts;
269
+ getSolutionSets() {
270
+ return this._solutionSets;
369
271
  }
370
- doForEachSignatureContext(callback) {
272
+ doForEachSolutionSet(callback) {
371
273
  const wasLocked = this.isLocked();
372
274
  this.unlock();
373
- this.getSignatureContexts().forEach((signature, signatureIndex) => {
374
- callback(signature, signatureIndex);
275
+ this.getSolutionSets().forEach((solutionSet, index) => {
276
+ callback(solutionSet, index);
375
277
  });
376
278
  if (wasLocked) {
377
279
  this.lock();
378
280
  }
379
281
  }
380
- getSignatureContext(index) {
381
- (0, debug_1.assert)(index >= 0 && index < this._signatureContexts.length);
382
- return this._signatureContexts[index];
383
- }
384
- doForEachSignature(callback) {
385
- this._signatureContexts.forEach((context) => {
386
- callback(context);
387
- });
282
+ getSolutionSet(index) {
283
+ (0, debug_1.assert)(index >= 0 && index < this._solutionSets.length);
284
+ return this._solutionSets[index];
388
285
  }
389
286
  }
390
287
  exports.TypeVarContext = TypeVarContext;
391
- TypeVarContext.nextTypeVarContextId = 1;
392
288
  //# sourceMappingURL=typeVarContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeVarContext.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeVarContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeVarContext.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeVarContext.ts"],"names":[],"mappings":"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"}
@@ -80,8 +80,8 @@ class TypeWalker {
80
80
  var _a;
81
81
  const aliasInfo = (_a = type.props) === null || _a === void 0 ? void 0 : _a.typeAliasInfo;
82
82
  (0, debug_1.assert)(aliasInfo !== undefined);
83
- if (aliasInfo.typeArguments) {
84
- for (const typeArg of aliasInfo.typeArguments) {
83
+ if (aliasInfo.typeArgs) {
84
+ for (const typeArg of aliasInfo.typeArgs) {
85
85
  this.walk(typeArg);
86
86
  if (this._isWalkCanceled) {
87
87
  break;
@@ -106,7 +106,7 @@ class TypeWalker {
106
106
  for (let i = 0; i < type.shared.parameters.length; i++) {
107
107
  // Ignore parameters such as "*" that have no name.
108
108
  if (type.shared.parameters[i].name) {
109
- const paramType = types_1.FunctionType.getEffectiveParameterType(type, i);
109
+ const paramType = types_1.FunctionType.getEffectiveParamType(type, i);
110
110
  this.walk(paramType);
111
111
  if (this._isWalkCanceled) {
112
112
  break;
@@ -131,7 +131,7 @@ class TypeWalker {
131
131
  visitClass(type) {
132
132
  var _a;
133
133
  if (!types_1.ClassType.isPseudoGenericClass(type)) {
134
- const typeArgs = ((_a = type.priv.tupleTypeArguments) === null || _a === void 0 ? void 0 : _a.map((t) => t.type)) || type.priv.typeArguments;
134
+ const typeArgs = ((_a = type.priv.tupleTypeArgs) === null || _a === void 0 ? void 0 : _a.map((t) => t.type)) || type.priv.typeArgs;
135
135
  if (typeArgs) {
136
136
  for (const argType of typeArgs) {
137
137
  this.walk(argType);
@@ -1 +1 @@
1
- {"version":3,"file":"typeWalker.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeWalker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeWalker.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeWalker.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { DiagnosticAddendum } from '../common/diagnostic';
2
2
  import { ClassNode, ExpressionNode, IndexNode } from '../parser/parseNodes';
3
- import { EvaluatorUsage, FunctionArgument, TypeEvaluator, TypeResult, TypeResultWithNode } from './typeEvaluatorTypes';
3
+ import { Arg, EvaluatorUsage, TypeEvaluator, TypeResult, TypeResultWithNode } from './typeEvaluatorTypes';
4
4
  import { ClassType, Type, TypedDictEntries, TypedDictEntry } from './types';
5
5
  import { AssignTypeFlags } from './typeUtils';
6
6
  import { TypeVarContext } from './typeVarContext';
7
- export declare function createTypedDictType(evaluator: TypeEvaluator, errorNode: ExpressionNode, typedDictClass: ClassType, argList: FunctionArgument[]): ClassType;
7
+ export declare function createTypedDictType(evaluator: TypeEvaluator, errorNode: ExpressionNode, typedDictClass: ClassType, argList: Arg[]): ClassType;
8
8
  export declare function synthesizeTypedDictClassMethods(evaluator: TypeEvaluator, node: ClassNode | ExpressionNode, classType: ClassType): void;
9
9
  export declare function getTypedDictMembersForClass(evaluator: TypeEvaluator, classType: ClassType, allowNarrowed?: boolean): TypedDictEntries;
10
10
  export declare function getTypedDictMappingEquivalent(evaluator: TypeEvaluator, classType: ClassType): Type | undefined;