@zzzen/pyright-internal 1.2.0-dev.20240331 → 1.2.0-dev.20240414

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/analyzerFileInfo.d.ts +0 -1
  2. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +24 -7
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/cacheManager.d.ts +11 -0
  6. package/dist/analyzer/cacheManager.js +59 -2
  7. package/dist/analyzer/cacheManager.js.map +1 -1
  8. package/dist/analyzer/checker.d.ts +2 -2
  9. package/dist/analyzer/checker.js +29 -20
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/codeFlowEngine.js +14 -2
  12. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  13. package/dist/analyzer/codeFlowTypes.d.ts +1 -0
  14. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  15. package/dist/analyzer/constraintSolver.js +44 -11
  16. package/dist/analyzer/constraintSolver.js.map +1 -1
  17. package/dist/analyzer/constructorTransform.js +2 -2
  18. package/dist/analyzer/constructorTransform.js.map +1 -1
  19. package/dist/analyzer/constructors.d.ts +2 -2
  20. package/dist/analyzer/constructors.js +162 -109
  21. package/dist/analyzer/constructors.js.map +1 -1
  22. package/dist/analyzer/dataClasses.js +17 -7
  23. package/dist/analyzer/dataClasses.js.map +1 -1
  24. package/dist/analyzer/enums.js +7 -3
  25. package/dist/analyzer/enums.js.map +1 -1
  26. package/dist/analyzer/functionTransform.js +1 -1
  27. package/dist/analyzer/functionTransform.js.map +1 -1
  28. package/dist/analyzer/importResolver.js +1 -1
  29. package/dist/analyzer/importResolver.js.map +1 -1
  30. package/dist/analyzer/importStatementUtils.d.ts +6 -6
  31. package/dist/analyzer/importStatementUtils.js +43 -43
  32. package/dist/analyzer/importStatementUtils.js.map +1 -1
  33. package/dist/analyzer/namedTuples.js +1 -1
  34. package/dist/analyzer/namedTuples.js.map +1 -1
  35. package/dist/analyzer/packageTypeVerifier.js +6 -6
  36. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  37. package/dist/analyzer/parseTreeUtils.d.ts +8 -5
  38. package/dist/analyzer/parseTreeUtils.js +36 -14
  39. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  40. package/dist/analyzer/patternMatching.js +1 -1
  41. package/dist/analyzer/patternMatching.js.map +1 -1
  42. package/dist/analyzer/program.d.ts +4 -3
  43. package/dist/analyzer/program.js +21 -12
  44. package/dist/analyzer/program.js.map +1 -1
  45. package/dist/analyzer/properties.js +12 -12
  46. package/dist/analyzer/properties.js.map +1 -1
  47. package/dist/analyzer/protocols.js +10 -10
  48. package/dist/analyzer/protocols.js.map +1 -1
  49. package/dist/analyzer/pyTypedUtils.d.ts +4 -0
  50. package/dist/analyzer/pyTypedUtils.js +17 -3
  51. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  52. package/dist/analyzer/service.d.ts +3 -2
  53. package/dist/analyzer/service.js +7 -4
  54. package/dist/analyzer/service.js.map +1 -1
  55. package/dist/analyzer/sourceFile.d.ts +5 -3
  56. package/dist/analyzer/sourceFile.js +108 -71
  57. package/dist/analyzer/sourceFile.js.map +1 -1
  58. package/dist/analyzer/sourceFileInfoUtils.js +1 -1
  59. package/dist/analyzer/sourceMapper.js +6 -6
  60. package/dist/analyzer/symbol.d.ts +4 -1
  61. package/dist/analyzer/symbol.js +10 -0
  62. package/dist/analyzer/symbol.js.map +1 -1
  63. package/dist/analyzer/symbolUtils.d.ts +2 -1
  64. package/dist/analyzer/symbolUtils.js +13 -3
  65. package/dist/analyzer/symbolUtils.js.map +1 -1
  66. package/dist/analyzer/typeDocStringUtils.js +1 -1
  67. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  68. package/dist/analyzer/typeEvaluator.js +254 -119
  69. package/dist/analyzer/typeEvaluator.js.map +1 -1
  70. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
  71. package/dist/analyzer/typeGuards.js +107 -59
  72. package/dist/analyzer/typeGuards.js.map +1 -1
  73. package/dist/analyzer/typeStubWriter.js +1 -1
  74. package/dist/analyzer/typeStubWriter.js.map +1 -1
  75. package/dist/analyzer/typeUtils.d.ts +1 -1
  76. package/dist/analyzer/typeUtils.js +33 -33
  77. package/dist/analyzer/typeUtils.js.map +1 -1
  78. package/dist/analyzer/typeVarContext.js +1 -1
  79. package/dist/analyzer/typeVarContext.js.map +1 -1
  80. package/dist/analyzer/typedDicts.js +30 -21
  81. package/dist/analyzer/typedDicts.js.map +1 -1
  82. package/dist/analyzer/types.d.ts +7 -3
  83. package/dist/analyzer/types.js +48 -8
  84. package/dist/analyzer/types.js.map +1 -1
  85. package/dist/backgroundAnalysis.d.ts +1 -0
  86. package/dist/backgroundAnalysis.js +5 -1
  87. package/dist/backgroundAnalysis.js.map +1 -1
  88. package/dist/backgroundAnalysisBase.d.ts +2 -1
  89. package/dist/backgroundAnalysisBase.js +8 -1
  90. package/dist/backgroundAnalysisBase.js.map +1 -1
  91. package/dist/backgroundThreadBase.d.ts +6 -5
  92. package/dist/backgroundThreadBase.js +9 -5
  93. package/dist/backgroundThreadBase.js.map +1 -1
  94. package/dist/commands/dumpFileDebugInfoCommand.js +4 -4
  95. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  96. package/dist/common/extensibility.d.ts +3 -2
  97. package/dist/common/extensibility.js.map +1 -1
  98. package/dist/common/serviceProviderExtensions.d.ts +2 -0
  99. package/dist/common/serviceProviderExtensions.js +4 -0
  100. package/dist/common/serviceProviderExtensions.js.map +1 -1
  101. package/dist/common/textEditTracker.d.ts +5 -5
  102. package/dist/common/textEditTracker.js +33 -33
  103. package/dist/common/textEditTracker.js.map +1 -1
  104. package/dist/common/workspaceEditUtils.js +2 -2
  105. package/dist/common/workspaceEditUtils.js.map +1 -1
  106. package/dist/languageServerBase.d.ts +4 -4
  107. package/dist/languageServerBase.js +1 -1
  108. package/dist/languageServerBase.js.map +1 -1
  109. package/dist/languageService/autoImporter.d.ts +3 -3
  110. package/dist/languageService/autoImporter.js +2 -1
  111. package/dist/languageService/autoImporter.js.map +1 -1
  112. package/dist/languageService/callHierarchyProvider.js +2 -2
  113. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  114. package/dist/languageService/completionProvider.d.ts +2 -4
  115. package/dist/languageService/completionProvider.js +15 -37
  116. package/dist/languageService/completionProvider.js.map +1 -1
  117. package/dist/languageService/definitionProvider.js +1 -1
  118. package/dist/languageService/definitionProvider.js.map +1 -1
  119. package/dist/languageService/documentHighlightProvider.js +2 -2
  120. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  121. package/dist/languageService/documentSymbolCollector.js +1 -1
  122. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  123. package/dist/languageService/documentSymbolProvider.js +1 -1
  124. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  125. package/dist/languageService/hoverProvider.js +2 -2
  126. package/dist/languageService/hoverProvider.js.map +1 -1
  127. package/dist/languageService/importSorter.d.ts +2 -2
  128. package/dist/languageService/importSorter.js +1 -1
  129. package/dist/languageService/importSorter.js.map +1 -1
  130. package/dist/languageService/referencesProvider.d.ts +4 -4
  131. package/dist/languageService/referencesProvider.js +2 -2
  132. package/dist/languageService/referencesProvider.js.map +1 -1
  133. package/dist/languageService/signatureHelpProvider.js +2 -2
  134. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  135. package/dist/languageService/symbolIndexer.d.ts +2 -2
  136. package/dist/languageService/symbolIndexer.js +2 -2
  137. package/dist/languageService/symbolIndexer.js.map +1 -1
  138. package/dist/languageService/tooltipUtils.d.ts +1 -1
  139. package/dist/languageService/tooltipUtils.js +4 -4
  140. package/dist/languageService/workspaceSymbolProvider.js +1 -1
  141. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  142. package/dist/localization/localize.d.ts +7 -0
  143. package/dist/localization/localize.js +5 -0
  144. package/dist/localization/localize.js.map +1 -1
  145. package/dist/localization/package.nls.cs.json +1 -0
  146. package/dist/localization/package.nls.de.json +2 -1
  147. package/dist/localization/package.nls.en-us.json +28 -23
  148. package/dist/localization/package.nls.es.json +5 -4
  149. package/dist/localization/package.nls.fr.json +5 -4
  150. package/dist/localization/package.nls.it.json +2 -1
  151. package/dist/localization/package.nls.ja.json +1 -0
  152. package/dist/localization/package.nls.ko.json +4 -3
  153. package/dist/localization/package.nls.pl.json +4 -3
  154. package/dist/localization/package.nls.pt-br.json +1 -0
  155. package/dist/localization/package.nls.qps-ploc.json +1 -0
  156. package/dist/localization/package.nls.ru.json +2 -1
  157. package/dist/localization/package.nls.tr.json +3 -2
  158. package/dist/localization/package.nls.zh-cn.json +2 -1
  159. package/dist/localization/package.nls.zh-tw.json +1 -0
  160. package/dist/nodeMain.d.ts +1 -1
  161. package/dist/nodeMain.js +2 -2
  162. package/dist/nodeMain.js.map +1 -1
  163. package/dist/parser/parser.d.ts +7 -4
  164. package/dist/parser/parser.js +10 -7
  165. package/dist/parser/parser.js.map +1 -1
  166. package/dist/parser/tokenizer.js +1 -0
  167. package/dist/parser/tokenizer.js.map +1 -1
  168. package/dist/parser/tokenizerTypes.d.ts +1 -0
  169. package/dist/parser/tokenizerTypes.js +1 -0
  170. package/dist/parser/tokenizerTypes.js.map +1 -1
  171. package/dist/server.d.ts +3 -3
  172. package/dist/server.js +3 -3
  173. package/dist/server.js.map +1 -1
  174. package/dist/tests/cacheManager.test.js +35 -0
  175. package/dist/tests/cacheManager.test.js.map +1 -1
  176. package/dist/tests/chainedSourceFiles.test.js +7 -7
  177. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  178. package/dist/tests/harness/fourslash/testState.d.ts +5 -5
  179. package/dist/tests/harness/fourslash/testState.js +8 -7
  180. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  181. package/dist/tests/harness/fourslash/workspaceEditTestUtils.d.ts +2 -2
  182. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +5 -5
  183. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  184. package/dist/tests/importStatementUtils.test.js +4 -4
  185. package/dist/tests/importStatementUtils.test.js.map +1 -1
  186. package/dist/tests/ipythonMode.test.js +1 -1
  187. package/dist/tests/ipythonMode.test.js.map +1 -1
  188. package/dist/tests/lsp/languageServer.js +1 -1
  189. package/dist/tests/lsp/languageServer.js.map +1 -1
  190. package/dist/tests/lsp/languageServerTestUtils.d.ts +1 -1
  191. package/dist/tests/parser.test.js +14 -14
  192. package/dist/tests/parser.test.js.map +1 -1
  193. package/dist/tests/signatureHelp.test.js +1 -1
  194. package/dist/tests/signatureHelp.test.js.map +1 -1
  195. package/dist/tests/testStateUtils.js +5 -3
  196. package/dist/tests/testStateUtils.js.map +1 -1
  197. package/dist/tests/testUtils.d.ts +4 -8
  198. package/dist/tests/testUtils.js +4 -7
  199. package/dist/tests/testUtils.js.map +1 -1
  200. package/dist/tests/textEditUtil.test.js +3 -3
  201. package/dist/tests/textEditUtil.test.js.map +1 -1
  202. package/dist/tests/tokenizer.test.js +4 -4
  203. package/dist/tests/tokenizer.test.js.map +1 -1
  204. package/dist/tests/typeEvaluator1.test.js +6 -2
  205. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  206. package/dist/tests/typeEvaluator2.test.js +4 -0
  207. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  208. package/dist/tests/typeEvaluator3.test.js +21 -11
  209. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  210. package/dist/tests/typeEvaluator4.test.js +1 -1
  211. package/package.json +2 -2
@@ -74,7 +74,7 @@ function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
74
74
  /* declaredMetaclass */ undefined, typedDictClass.details.effectiveMetaclass);
75
75
  classType.details.baseClasses.push(typedDictClass);
76
76
  (0, typeUtils_1.computeMroLinearization)(classType);
77
- const classFields = classType.details.fields;
77
+ const classFields = types_1.ClassType.getSymbolTable(classType);
78
78
  classFields.set('__class__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */ | 64 /* SymbolFlags.IgnoredForProtocolMatch */, classType));
79
79
  let usingDictSyntax = false;
80
80
  if (argList.length < 2) {
@@ -168,7 +168,7 @@ function createTypedDictTypeInlined(evaluator, dictNode, typedDictClass) {
168
168
  /* declaredMetaclass */ undefined, typedDictClass.details.effectiveMetaclass);
169
169
  classType.details.baseClasses.push(typedDictClass);
170
170
  (0, typeUtils_1.computeMroLinearization)(classType);
171
- getTypedDictFieldsFromDictSyntax(evaluator, dictNode, classType.details.fields, /* isInline */ true);
171
+ getTypedDictFieldsFromDictSyntax(evaluator, dictNode, types_1.ClassType.getSymbolTable(classType), /* isInline */ true);
172
172
  synthesizeTypedDictClassMethods(evaluator, dictNode, classType);
173
173
  return classType;
174
174
  }
@@ -256,7 +256,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType) {
256
256
  hasDeclaredType: true,
257
257
  });
258
258
  }
259
- const symbolTable = classType.details.fields;
259
+ const symbolTable = types_1.ClassType.getSymbolTable(classType);
260
260
  const initType = types_1.OverloadedFunctionType.create([initOverride1, initOverride2]);
261
261
  symbolTable.set('__init__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, initType));
262
262
  symbolTable.set('__new__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, newType));
@@ -471,23 +471,22 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType) {
471
471
  setDefaultOverloads.push(createSetDefaultMethod(nameLiteralType, entry.valueType));
472
472
  }
473
473
  });
474
- // If the class is closed, we can assume that any other literal
475
- // key values will return the default parameter value.
476
- if (types_1.ClassType.isTypedDictEffectivelyClosed(classType) && (0, types_1.isNever)(extraEntriesInfo.valueType)) {
477
- const literalStringType = evaluator.getTypingType(node, 'LiteralString');
478
- if (literalStringType && (0, types_1.isInstantiableClass)(literalStringType)) {
479
- const literalStringInstance = types_1.ClassType.cloneAsInstance(literalStringType);
480
- getOverloads.push(createGetMethod(literalStringInstance, evaluator.getNoneType(),
481
- /* includeDefault */ false,
482
- /* isEntryRequired */ true));
483
- getOverloads.push(createGetMethod(literalStringInstance, /* valueType */ types_1.AnyType.create(), /* includeDefault */ true));
484
- }
485
- }
486
- // Provide a final `get` overload that handles the general case where
487
- // the key is a str but the literal value isn't known.
488
474
  const strType = types_1.ClassType.cloneAsInstance(strClass);
489
- getOverloads.push(createGetMethod(strType, types_1.AnyType.create(), /* includeDefault */ false));
490
- getOverloads.push(createGetMethod(strType, types_1.AnyType.create(), /* includeDefault */ true));
475
+ // If the class is closed, we can assume that any other keys that
476
+ // are present will return the default parameter value or the extra
477
+ // entries value type.
478
+ if (types_1.ClassType.isTypedDictEffectivelyClosed(classType)) {
479
+ getOverloads.push(createGetMethod(strType, (0, types_1.combineTypes)([extraEntriesInfo.valueType, evaluator.getNoneType()]),
480
+ /* includeDefault */ false,
481
+ /* isEntryRequired */ true));
482
+ getOverloads.push(createGetMethod(strType, extraEntriesInfo.valueType, /* includeDefault */ true));
483
+ }
484
+ else {
485
+ // Provide a final `get` overload that handles the general case where
486
+ // the key is a str but the literal value isn't known.
487
+ getOverloads.push(createGetMethod(strType, types_1.AnyType.create(), /* includeDefault */ false));
488
+ getOverloads.push(createGetMethod(strType, types_1.AnyType.create(), /* includeDefault */ true));
489
+ }
491
490
  symbolTable.set('get', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, types_1.OverloadedFunctionType.create(getOverloads)));
492
491
  if (popOverloads.length > 0) {
493
492
  symbolTable.set('pop', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, types_1.OverloadedFunctionType.create(popOverloads)));
@@ -714,10 +713,10 @@ function getTypedDictMembersForClassRecursive(evaluator, classType, entries, rec
714
713
  });
715
714
  const typeVarContext = (0, typeUtils_1.buildTypeVarContextFromSpecializedClass)(classType);
716
715
  // Add any new typed dict entries from this class.
717
- classType.details.fields.forEach((symbol, name) => {
716
+ types_1.ClassType.getSymbolTable(classType).forEach((symbol, name) => {
718
717
  if (!symbol.isIgnoredForProtocolMatch()) {
719
718
  // Only variables (not functions, classes, etc.) are considered.
720
- const lastDecl = (0, symbolUtils_1.getLastTypedDeclaredForSymbol)(symbol);
719
+ const lastDecl = (0, symbolUtils_1.getLastTypedDeclarationForSymbol)(symbol);
721
720
  if (lastDecl && lastDecl.type === 1 /* DeclarationType.Variable */) {
722
721
  let valueType = evaluator.getEffectiveTypeOfSymbol(symbol);
723
722
  valueType = (0, typeUtils_1.applySolvedTypeVars)(valueType, typeVarContext);
@@ -781,6 +780,11 @@ function assignTypedDictToTypedDict(evaluator, destType, srcType, diag, typeVarC
781
780
  const srcEntries = getTypedDictMembersForClass(evaluator, srcType, /* allowNarrowed */ true);
782
781
  const extraSrcEntries = (_a = srcEntries.extraItems) !== null && _a !== void 0 ? _a : getEffectiveExtraItemsEntryType(evaluator, srcType);
783
782
  destEntries.knownItems.forEach((destEntry, name) => {
783
+ // If we've already determined that the types are inconsistent and
784
+ // the caller isn't interested in detailed diagnostics, skip the remainder.
785
+ if (!typesAreConsistent && !diag) {
786
+ return;
787
+ }
784
788
  const srcEntry = srcEntries.knownItems.get(name);
785
789
  if (!srcEntry) {
786
790
  if (destEntry.isRequired || !destEntry.isReadOnly) {
@@ -827,6 +831,11 @@ function assignTypedDictToTypedDict(evaluator, destType, srcType, diag, typeVarC
827
831
  }
828
832
  }
829
833
  });
834
+ // If the types are not consistent and the caller isn't interested
835
+ // in detailed diagnostics, don't do additional work.
836
+ if (!typesAreConsistent && !diag) {
837
+ return false;
838
+ }
830
839
  // If the destination TypedDict is closed, check any extra entries in the source
831
840
  // TypedDict to ensure that they don't violate the "extra items" type.
832
841
  if (types_1.ClassType.isTypedDictEffectivelyClosed(destType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"typedDicts.js","sourceRoot":"","sources":["../../../../../src/analyzer/typedDicts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typedDicts.js","sourceRoot":"","sources":["../../../../../src/analyzer/typedDicts.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,6 @@ export declare const enum TypeFlags {
22
22
  export type UnionableType = UnboundType | UnknownType | AnyType | FunctionType | OverloadedFunctionType | ClassType | ModuleType | TypeVarType;
23
23
  export type Type = UnionableType | NeverType | UnionType;
24
24
  export type TypeVarScopeId = string;
25
- export declare const WildcardTypeVarScopeId = "*";
26
25
  export declare const InScopePlaceholderScopeId = "-";
27
26
  export declare class EnumLiteral {
28
27
  classFullName: string;
@@ -197,12 +196,14 @@ interface ClassDetails {
197
196
  dataClassEntries?: DataClassEntry[] | undefined;
198
197
  dataClassBehaviors?: DataClassBehaviors | undefined;
199
198
  typedDictEntries?: TypedDictEntries | undefined;
200
- inheritedSlotsNames?: string[];
201
199
  localSlotsNames?: string[];
202
200
  protocolCompatibility?: object;
203
201
  classDataClassTransform?: DataClassBehaviors | undefined;
204
202
  requiresVarianceInference?: boolean;
205
203
  isInstanceHashable?: boolean;
204
+ synthesizeMethodsDeferred?: () => void;
205
+ calculateInheritedSlotsNamesDeferred?: () => void;
206
+ inheritedSlotsNamesCached?: string[];
206
207
  }
207
208
  export interface TupleTypeArgument {
208
209
  type: Type;
@@ -290,6 +291,8 @@ export declare namespace ClassType {
290
291
  function isReadOnlyInstanceVariables(classType: ClassType): boolean;
291
292
  function getTypeParameters(classType: ClassType): TypeVarType[];
292
293
  function hasUnknownBaseClass(classType: ClassType): boolean;
294
+ function getSymbolTable(classType: ClassType): SymbolTable;
295
+ function getInheritedSlotsNames(classType: ClassType): string[] | undefined;
293
296
  function isHierarchyPartiallyEvaluated(classType: ClassType): boolean;
294
297
  function isSameGenericClass(classType: ClassType, type2: ClassType, recursionCount?: number): boolean;
295
298
  function isDerivedFrom(subclassType: ClassType, parentClassType: ClassType, inheritanceChain?: InheritanceChain): boolean;
@@ -349,7 +352,7 @@ interface FunctionDetails {
349
352
  paramSpec?: TypeVarType | undefined;
350
353
  rescopedTypeParameters?: TypeVarType[];
351
354
  constructorTypeVarScopeId?: TypeVarScopeId | undefined;
352
- paramSpecTypeVarScopeId?: TypeVarScopeId | undefined;
355
+ higherOrderTypeVarScopeIds?: TypeVarScopeId[];
353
356
  }
354
357
  export interface SpecializedFunctionTypes {
355
358
  parameterTypes: Type[];
@@ -394,6 +397,7 @@ export declare namespace FunctionType {
394
397
  function cloneForParamSpecApplication(type: FunctionType, paramSpecValue: FunctionType): FunctionType;
395
398
  function cloneRemoveParamSpecVariadics(type: FunctionType, paramSpec: TypeVarType): FunctionType;
396
399
  function addDefaultParameters(functionType: FunctionType, useUnknown?: boolean): void;
400
+ function addHigherOrderTypeVarScopeIds(functionType: FunctionType, scopeIds: (TypeVarScopeId | undefined)[] | TypeVarScopeId | undefined): void;
397
401
  function getDefaultParameters(useUnknown?: boolean): FunctionParameter[];
398
402
  function hasDefaultParameters(functionType: FunctionType): boolean;
399
403
  function isInstanceMethod(type: FunctionType): boolean;
@@ -8,8 +8,7 @@
8
8
  * Representation of types used during type analysis within Python.
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.combineTypes = exports.findSubtype = exports.removeFromUnion = exports.removeUnbound = exports.removeUnknownFromUnion = exports.isTypeSame = exports.getTypeAliasInfo = exports.isOverloadedFunction = exports.isFunction = exports.isParamSpec = exports.isUnpacked = exports.isUnpackedClass = exports.isUnpackedVariadicTypeVar = exports.isVariadicTypeVar = exports.isTypeVar = exports.isModule = exports.isClassInstance = exports.isInstantiableClass = exports.isClass = exports.isPossiblyUnbound = exports.isUnion = exports.isUnbound = exports.isAnyOrUnknown = exports.isUnknown = exports.isAny = exports.isNever = exports.TypeVarType = exports.TypeVarScopeType = exports.Variance = exports.UnionType = exports.TypeCondition = exports.AnyType = exports.NeverType = exports.OverloadedFunctionType = exports.FunctionType = exports.FunctionTypeFlags = exports.isKeywordOnlySeparator = exports.isPositionOnlySeparator = exports.ClassType = exports.ClassTypeFlags = exports.ModuleType = exports.UnknownType = exports.UnboundType = exports.TypeBase = exports.maxTypeRecursionCount = exports.EnumLiteral = exports.InScopePlaceholderScopeId = exports.WildcardTypeVarScopeId = exports.TypeFlags = exports.TypeCategory = void 0;
12
- exports.isSameWithoutLiteralValue = void 0;
11
+ exports.isSameWithoutLiteralValue = exports.combineTypes = exports.findSubtype = exports.removeFromUnion = exports.removeUnbound = exports.removeUnknownFromUnion = exports.isTypeSame = exports.getTypeAliasInfo = exports.isOverloadedFunction = exports.isFunction = exports.isParamSpec = exports.isUnpacked = exports.isUnpackedClass = exports.isUnpackedVariadicTypeVar = exports.isVariadicTypeVar = exports.isTypeVar = exports.isModule = exports.isClassInstance = exports.isInstantiableClass = exports.isClass = exports.isPossiblyUnbound = exports.isUnion = exports.isUnbound = exports.isAnyOrUnknown = exports.isUnknown = exports.isAny = exports.isNever = exports.TypeVarType = exports.TypeVarScopeType = exports.Variance = exports.UnionType = exports.TypeCondition = exports.AnyType = exports.NeverType = exports.OverloadedFunctionType = exports.FunctionType = exports.FunctionTypeFlags = exports.isKeywordOnlySeparator = exports.isPositionOnlySeparator = exports.ClassType = exports.ClassTypeFlags = exports.ModuleType = exports.UnknownType = exports.UnboundType = exports.TypeBase = exports.maxTypeRecursionCount = exports.EnumLiteral = exports.InScopePlaceholderScopeId = exports.TypeFlags = exports.TypeCategory = void 0;
13
12
  const debug_1 = require("../common/debug");
14
13
  var TypeCategory;
15
14
  (function (TypeCategory) {
@@ -48,7 +47,6 @@ var TypeFlags;
48
47
  // This type refers to something that has been instantiated.
49
48
  TypeFlags[TypeFlags["Instance"] = 2] = "Instance";
50
49
  })(TypeFlags || (exports.TypeFlags = TypeFlags = {}));
51
- exports.WildcardTypeVarScopeId = '*';
52
50
  exports.InScopePlaceholderScopeId = '-';
53
51
  class EnumLiteral {
54
52
  constructor(classFullName, className, itemName, itemType) {
@@ -449,6 +447,9 @@ var ClassType;
449
447
  function cloneWithLiteral(classType, value) {
450
448
  const newClassType = TypeBase.cloneType(classType);
451
449
  newClassType.literalValue = value;
450
+ // Remove type alias information because the type will no longer match
451
+ // that of the type alias definition if we change the literal type.
452
+ delete newClassType.typeAliasInfo;
452
453
  return newClassType;
453
454
  }
454
455
  ClassType.cloneWithLiteral = cloneWithLiteral;
@@ -706,6 +707,8 @@ var ClassType;
706
707
  }
707
708
  ClassType.isPseudoGenericClass = isPseudoGenericClass;
708
709
  function getDataClassEntries(classType) {
710
+ var _a, _b;
711
+ (_b = (_a = classType.details).synthesizeMethodsDeferred) === null || _b === void 0 ? void 0 : _b.call(_a);
709
712
  return classType.details.dataClassEntries || [];
710
713
  }
711
714
  ClassType.getDataClassEntries = getDataClassEntries;
@@ -741,6 +744,21 @@ var ClassType;
741
744
  return classType.details.mro.some((baseClass) => isAnyOrUnknown(baseClass));
742
745
  }
743
746
  ClassType.hasUnknownBaseClass = hasUnknownBaseClass;
747
+ function getSymbolTable(classType) {
748
+ var _a, _b;
749
+ (_b = (_a = classType.details).synthesizeMethodsDeferred) === null || _b === void 0 ? void 0 : _b.call(_a);
750
+ return classType.details.fields;
751
+ }
752
+ ClassType.getSymbolTable = getSymbolTable;
753
+ function getInheritedSlotsNames(classType) {
754
+ var _a, _b, _c, _d;
755
+ // First synthesize methods if needed. The slots entries
756
+ // can depend on synthesized methods.
757
+ (_b = (_a = classType.details).synthesizeMethodsDeferred) === null || _b === void 0 ? void 0 : _b.call(_a);
758
+ (_d = (_c = classType.details).calculateInheritedSlotsNamesDeferred) === null || _d === void 0 ? void 0 : _d.call(_c);
759
+ return classType.details.inheritedSlotsNamesCached;
760
+ }
761
+ ClassType.getInheritedSlotsNames = getInheritedSlotsNames;
744
762
  // Similar to isPartiallyEvaluated except that it also looks at all of the
745
763
  // classes in the MRO list for this class to see if any of them are still
746
764
  // partially evaluated.
@@ -1037,6 +1055,7 @@ var FunctionType;
1037
1055
  const newFunction = create(type.details.name, type.details.fullName, type.details.moduleName, type.details.flags, type.flags, type.details.docString);
1038
1056
  // Make a shallow clone of the details.
1039
1057
  newFunction.details = { ...type.details };
1058
+ newFunction.details.typeParameters = newFunction.details.typeParameters.filter((t) => !newFunction.details.paramSpec || !isTypeSame(t, newFunction.details.paramSpec));
1040
1059
  // The clone should no longer have a parameter specification
1041
1060
  // since we're replacing it.
1042
1061
  delete newFunction.details.paramSpec;
@@ -1107,8 +1126,10 @@ var FunctionType;
1107
1126
  }
1108
1127
  });
1109
1128
  }
1110
- newFunction.details.paramSpecTypeVarScopeId = paramSpecValue.details.typeVarScopeId;
1129
+ FunctionType.addHigherOrderTypeVarScopeIds(newFunction, paramSpecValue.details.typeVarScopeId);
1130
+ FunctionType.addHigherOrderTypeVarScopeIds(newFunction, paramSpecValue.details.higherOrderTypeVarScopeIds);
1111
1131
  newFunction.details.paramSpec = paramSpecValue.details.paramSpec;
1132
+ newFunction.details.methodClass = paramSpecValue.details.methodClass;
1112
1133
  }
1113
1134
  return newFunction;
1114
1135
  }
@@ -1128,6 +1149,7 @@ var FunctionType;
1128
1149
  newFunction.details.typeVarScopeId = newScopeId;
1129
1150
  newFunction.details.typeParameters = typeParameters;
1130
1151
  newFunction.trackedSignatures = trackedSignatures;
1152
+ FunctionType.addHigherOrderTypeVarScopeIds(newFunction, typeParameters.map((t) => t.scopeId));
1131
1153
  return newFunction;
1132
1154
  }
1133
1155
  FunctionType.cloneWithNewTypeVarScopeId = cloneWithNewTypeVarScopeId;
@@ -1190,10 +1212,7 @@ var FunctionType;
1190
1212
  if (!newFunction.details.docString) {
1191
1213
  newFunction.details.docString = paramSpecValue.details.docString;
1192
1214
  }
1193
- // Note the TypeVar scope ID of the original captured function. This
1194
- // allows any unsolved TypeVars within that scope to be solved when the
1195
- // resulting function is called.
1196
- newFunction.details.paramSpecTypeVarScopeId = paramSpecValue.details.typeVarScopeId;
1215
+ FunctionType.addHigherOrderTypeVarScopeIds(newFunction, paramSpecValue.details.typeVarScopeId);
1197
1216
  return newFunction;
1198
1217
  }
1199
1218
  FunctionType.cloneForParamSpecApplication = cloneForParamSpecApplication;
@@ -1226,6 +1245,27 @@ var FunctionType;
1226
1245
  });
1227
1246
  }
1228
1247
  FunctionType.addDefaultParameters = addDefaultParameters;
1248
+ function addHigherOrderTypeVarScopeIds(functionType, scopeIds) {
1249
+ if (!scopeIds) {
1250
+ return;
1251
+ }
1252
+ if (!Array.isArray(scopeIds)) {
1253
+ scopeIds = [scopeIds];
1254
+ }
1255
+ if (!functionType.details.higherOrderTypeVarScopeIds) {
1256
+ functionType.details.higherOrderTypeVarScopeIds = [];
1257
+ }
1258
+ // Add the scope IDs to the function if they're unique.
1259
+ scopeIds.forEach((scopeId) => {
1260
+ if (!scopeId || scopeId === functionType.details.typeVarScopeId) {
1261
+ return;
1262
+ }
1263
+ if (!functionType.details.higherOrderTypeVarScopeIds.some((id) => id === scopeId)) {
1264
+ functionType.details.higherOrderTypeVarScopeIds.push(scopeId);
1265
+ }
1266
+ });
1267
+ }
1268
+ FunctionType.addHigherOrderTypeVarScopeIds = addHigherOrderTypeVarScopeIds;
1229
1269
  function getDefaultParameters(useUnknown = false) {
1230
1270
  return [
1231
1271
  {