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

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 (89) hide show
  1. package/dist/analyzer/binder.js +7 -4
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.d.ts +2 -1
  4. package/dist/analyzer/checker.js +135 -83
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/codeFlowEngine.js +4 -4
  7. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  8. package/dist/analyzer/constraintSolution.d.ts +21 -0
  9. package/dist/analyzer/constraintSolution.js +71 -0
  10. package/dist/analyzer/constraintSolution.js.map +1 -0
  11. package/dist/analyzer/constraintSolver.d.ts +9 -5
  12. package/dist/analyzer/constraintSolver.js +420 -322
  13. package/dist/analyzer/constraintSolver.js.map +1 -1
  14. package/dist/analyzer/constraintTracker.d.ts +44 -0
  15. package/dist/analyzer/constraintTracker.js +230 -0
  16. package/dist/analyzer/constraintTracker.js.map +1 -0
  17. package/dist/analyzer/constructorTransform.js +15 -15
  18. package/dist/analyzer/constructorTransform.js.map +1 -1
  19. package/dist/analyzer/constructors.d.ts +1 -1
  20. package/dist/analyzer/constructors.js +59 -38
  21. package/dist/analyzer/constructors.js.map +1 -1
  22. package/dist/analyzer/dataClasses.js +35 -32
  23. package/dist/analyzer/dataClasses.js.map +1 -1
  24. package/dist/analyzer/decorators.js +1 -1
  25. package/dist/analyzer/decorators.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/operations.d.ts +1 -2
  29. package/dist/analyzer/operations.js +95 -72
  30. package/dist/analyzer/operations.js.map +1 -1
  31. package/dist/analyzer/packageTypeVerifier.js +8 -4
  32. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  33. package/dist/analyzer/parameterUtils.d.ts +3 -3
  34. package/dist/analyzer/parameterUtils.js +19 -21
  35. package/dist/analyzer/parameterUtils.js.map +1 -1
  36. package/dist/analyzer/patternMatching.js +21 -19
  37. package/dist/analyzer/patternMatching.js.map +1 -1
  38. package/dist/analyzer/properties.d.ts +3 -2
  39. package/dist/analyzer/properties.js +11 -11
  40. package/dist/analyzer/properties.js.map +1 -1
  41. package/dist/analyzer/protocols.d.ts +3 -3
  42. package/dist/analyzer/protocols.js +50 -48
  43. package/dist/analyzer/protocols.js.map +1 -1
  44. package/dist/analyzer/tuples.d.ts +2 -2
  45. package/dist/analyzer/tuples.js +10 -9
  46. package/dist/analyzer/tuples.js.map +1 -1
  47. package/dist/analyzer/typeComplexity.js +12 -4
  48. package/dist/analyzer/typeComplexity.js.map +1 -1
  49. package/dist/analyzer/typeEvaluator.js +806 -778
  50. package/dist/analyzer/typeEvaluator.js.map +1 -1
  51. package/dist/analyzer/typeEvaluatorTypes.d.ts +28 -8
  52. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  53. package/dist/analyzer/typeGuards.js +46 -39
  54. package/dist/analyzer/typeGuards.js.map +1 -1
  55. package/dist/analyzer/typePrinter.js +17 -15
  56. package/dist/analyzer/typePrinter.js.map +1 -1
  57. package/dist/analyzer/typeUtils.d.ts +32 -30
  58. package/dist/analyzer/typeUtils.js +331 -563
  59. package/dist/analyzer/typeUtils.js.map +1 -1
  60. package/dist/analyzer/typeWalker.js +1 -1
  61. package/dist/analyzer/typeWalker.js.map +1 -1
  62. package/dist/analyzer/typedDicts.d.ts +2 -2
  63. package/dist/analyzer/typedDicts.js +25 -25
  64. package/dist/analyzer/typedDicts.js.map +1 -1
  65. package/dist/analyzer/types.d.ts +24 -21
  66. package/dist/analyzer/types.js +110 -113
  67. package/dist/analyzer/types.js.map +1 -1
  68. package/dist/languageServerBase.d.ts +2 -2
  69. package/dist/languageServerBase.js +5 -2
  70. package/dist/languageServerBase.js.map +1 -1
  71. package/dist/languageService/completionProvider.js +2 -2
  72. package/dist/languageService/completionProvider.js.map +1 -1
  73. package/dist/tests/checker.test.js +10 -2
  74. package/dist/tests/checker.test.js.map +1 -1
  75. package/dist/tests/typeEvaluator1.test.js +1 -1
  76. package/dist/tests/typeEvaluator2.test.js +12 -0
  77. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  78. package/dist/tests/typeEvaluator3.test.js +4 -0
  79. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  80. package/dist/tests/typeEvaluator4.test.js +1 -1
  81. package/dist/tests/typeEvaluator5.test.js +1 -1
  82. package/dist/tests/typeEvaluator7.test.js +4 -0
  83. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  84. package/dist/tests/typeEvaluator8.test.js +4 -0
  85. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  86. package/package.json +1 -1
  87. package/dist/analyzer/typeVarContext.d.ts +0 -48
  88. package/dist/analyzer/typeVarContext.js +0 -288
  89. package/dist/analyzer/typeVarContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"packageTypeVerifier.js","sourceRoot":"","sources":["../../../../../src/analyzer/packageTypeVerifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packageTypeVerifier.js","sourceRoot":"","sources":["../../../../../src/analyzer/packageTypeVerifier.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ClassType, FunctionParam, FunctionType, Type, TypeVarType } from './types';
2
- export declare function isTypedKwargs(param: FunctionParam): boolean;
2
+ export declare function isTypedKwargs(param: FunctionParam, effectiveParamType: Type): boolean;
3
3
  export declare enum ParamKind {
4
4
  Positional = 0,
5
5
  Standard = 1,
@@ -8,7 +8,8 @@ export declare enum ParamKind {
8
8
  export interface VirtualParamDetails {
9
9
  param: FunctionParam;
10
10
  type: Type;
11
- defaultArgType?: Type | undefined;
11
+ declaredType: Type;
12
+ defaultType?: Type | undefined;
12
13
  index: number;
13
14
  kind: ParamKind;
14
15
  }
@@ -25,7 +26,6 @@ export interface ParamListDetails {
25
26
  unpackedKwargsTypedDictType?: ClassType;
26
27
  paramSpec?: TypeVarType;
27
28
  }
28
- export declare function firstParamsExcludingSelf(type: FunctionType): FunctionParam | undefined;
29
29
  export declare function getParamListDetails(type: FunctionType): ParamListDetails;
30
30
  export declare function isParamSpecArgs(paramSpec: TypeVarType, argType: Type): boolean;
31
31
  export declare function isParamSpecKwargs(paramSpec: TypeVarType, argType: Type): boolean;
@@ -7,16 +7,16 @@
7
7
  * Utility functions for parameters.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.isParamSpecKwargs = exports.isParamSpecArgs = exports.getParamListDetails = exports.firstParamsExcludingSelf = exports.ParamKind = exports.isTypedKwargs = void 0;
10
+ exports.isParamSpecKwargs = exports.isParamSpecArgs = exports.getParamListDetails = exports.ParamKind = exports.isTypedKwargs = void 0;
11
11
  const symbolNameUtils_1 = require("./symbolNameUtils");
12
12
  const types_1 = require("./types");
13
13
  const typeUtils_1 = require("./typeUtils");
14
- function isTypedKwargs(param) {
14
+ function isTypedKwargs(param, effectiveParamType) {
15
15
  return (param.category === 2 /* ParamCategory.KwargsDict */ &&
16
- (0, types_1.isClassInstance)(param.type) &&
17
- (0, types_1.isUnpackedClass)(param.type) &&
18
- types_1.ClassType.isTypedDictClass(param.type) &&
19
- !!param.type.shared.typedDictEntries);
16
+ (0, types_1.isClassInstance)(effectiveParamType) &&
17
+ (0, types_1.isUnpackedClass)(effectiveParamType) &&
18
+ types_1.ClassType.isTypedDictClass(effectiveParamType) &&
19
+ !!effectiveParamType.shared.typedDictEntries);
20
20
  }
21
21
  exports.isTypedKwargs = isTypedKwargs;
22
22
  var ParamKind;
@@ -25,10 +25,6 @@ var ParamKind;
25
25
  ParamKind[ParamKind["Standard"] = 1] = "Standard";
26
26
  ParamKind[ParamKind["Keyword"] = 2] = "Keyword";
27
27
  })(ParamKind || (exports.ParamKind = ParamKind = {}));
28
- function firstParamsExcludingSelf(type) {
29
- return type.shared.parameters.find((p) => !((0, types_1.isTypeVar)(p.type) && p.type.shared.isSynthesizedSelf));
30
- }
31
- exports.firstParamsExcludingSelf = firstParamsExcludingSelf;
32
28
  // Examines the input parameters within a function signature and creates a
33
29
  // "virtual list" of parameters, stripping out any markers and expanding
34
30
  // any *args with unpacked tuples.
@@ -64,13 +60,13 @@ function getParamListDetails(type) {
64
60
  }
65
61
  }
66
62
  for (let i = 0; i < positionOnlyIndex; i++) {
67
- if (type.shared.parameters[i].defaultType) {
63
+ if (types_1.FunctionType.getParamDefaultType(type, i)) {
68
64
  break;
69
65
  }
70
66
  result.positionOnlyParamCount++;
71
67
  }
72
68
  let sawKeywordOnlySeparator = false;
73
- const addVirtualParam = (param, index, typeOverride, defaultArgTypeOverride, sourceOverride) => {
69
+ const addVirtualParam = (param, index, typeOverride, defaultTypeOverride, sourceOverride) => {
74
70
  if (param.name) {
75
71
  let kind;
76
72
  if (sourceOverride !== undefined) {
@@ -91,8 +87,9 @@ function getParamListDetails(type) {
91
87
  result.params.push({
92
88
  param,
93
89
  index,
94
- type: typeOverride !== null && typeOverride !== void 0 ? typeOverride : types_1.FunctionType.getEffectiveParamType(type, index),
95
- defaultArgType: defaultArgTypeOverride,
90
+ type: typeOverride !== null && typeOverride !== void 0 ? typeOverride : types_1.FunctionType.getParamType(type, index),
91
+ declaredType: types_1.FunctionType.getDeclaredParamType(type, index),
92
+ defaultType: defaultTypeOverride !== null && defaultTypeOverride !== void 0 ? defaultTypeOverride : types_1.FunctionType.getParamDefaultType(type, index),
96
93
  kind,
97
94
  });
98
95
  }
@@ -101,7 +98,7 @@ function getParamListDetails(type) {
101
98
  var _a, _b;
102
99
  if (param.category === 1 /* ParamCategory.ArgsList */) {
103
100
  // If this is an unpacked tuple, expand the entries.
104
- const paramType = types_1.FunctionType.getEffectiveParamType(type, index);
101
+ const paramType = types_1.FunctionType.getParamType(type, index);
105
102
  if (param.name && (0, types_1.isUnpackedClass)(paramType) && paramType.priv.tupleTypeArgs) {
106
103
  const addToPositionalOnly = index < result.positionOnlyParamCount;
107
104
  paramType.priv.tupleTypeArgs.forEach((tupleArg, tupleIndex) => {
@@ -111,7 +108,7 @@ function getParamListDetails(type) {
111
108
  if (category === 1 /* ParamCategory.ArgsList */) {
112
109
  result.argsIndex = result.params.length;
113
110
  }
114
- if ((0, types_1.isTypeVarTuple)(param.type)) {
111
+ if ((0, types_1.isTypeVarTuple)(types_1.FunctionType.getParamType(type, index))) {
115
112
  result.hasUnpackedTypeVarTuple = true;
116
113
  }
117
114
  addVirtualParam(types_1.FunctionParam.create(category, tupleArg.type, types_1.FunctionParamFlags.NameSynthesized | types_1.FunctionParamFlags.TypeDeclared, `${param.name}[${tupleIndex.toString()}]`), index, tupleArg.type,
@@ -135,7 +132,7 @@ function getParamListDetails(type) {
135
132
  else {
136
133
  if (param.name && result.argsIndex === undefined) {
137
134
  result.argsIndex = result.params.length;
138
- if ((0, types_1.isTypeVarTuple)(param.type)) {
135
+ if ((0, types_1.isTypeVarTuple)(paramType)) {
139
136
  result.hasUnpackedTypeVarTuple = true;
140
137
  }
141
138
  }
@@ -155,7 +152,7 @@ function getParamListDetails(type) {
155
152
  }
156
153
  else if (param.category === 2 /* ParamCategory.KwargsDict */) {
157
154
  sawKeywordOnlySeparator = true;
158
- const paramType = types_1.FunctionType.getEffectiveParamType(type, index);
155
+ const paramType = types_1.FunctionType.getParamType(type, index);
159
156
  // Is this an unpacked TypedDict? If so, expand the entries.
160
157
  if ((0, types_1.isClassInstance)(paramType) && (0, types_1.isUnpackedClass)(paramType) && paramType.shared.typedDictEntries) {
161
158
  if (result.firstKeywordOnlyIndex === undefined) {
@@ -165,7 +162,8 @@ function getParamListDetails(type) {
165
162
  paramType.shared.typedDictEntries.knownItems.forEach((entry, name) => {
166
163
  const specializedParamType = (0, typeUtils_1.partiallySpecializeType)(entry.valueType, typedDictType,
167
164
  /* typeClassType */ undefined);
168
- addVirtualParam(types_1.FunctionParam.create(0 /* ParamCategory.Simple */, specializedParamType, types_1.FunctionParamFlags.TypeDeclared, name, !entry.isRequired ? specializedParamType : undefined), index, specializedParamType);
165
+ const defaultParamType = !entry.isRequired ? specializedParamType : undefined;
166
+ addVirtualParam(types_1.FunctionParam.create(0 /* ParamCategory.Simple */, specializedParamType, types_1.FunctionParamFlags.TypeDeclared, name, defaultParamType), index, specializedParamType, defaultParamType);
169
167
  });
170
168
  if (paramType.shared.typedDictEntries.extraItems) {
171
169
  addVirtualParam(types_1.FunctionParam.create(2 /* ParamCategory.KwargsDict */, paramType.shared.typedDictEntries.extraItems.valueType, types_1.FunctionParamFlags.TypeDeclared, 'kwargs'), index, paramType.shared.typedDictEntries.extraItems.valueType);
@@ -189,8 +187,8 @@ function getParamListDetails(type) {
189
187
  result.positionParamCount++;
190
188
  }
191
189
  addVirtualParam(param, index,
192
- /* typeOverride */ undefined, ((_a = type.priv.specializedTypes) === null || _a === void 0 ? void 0 : _a.parameterDefaultArgs)
193
- ? (_b = type.priv.specializedTypes) === null || _b === void 0 ? void 0 : _b.parameterDefaultArgs[index]
190
+ /* typeOverride */ undefined, ((_a = type.priv.specializedTypes) === null || _a === void 0 ? void 0 : _a.parameterDefaultTypes)
191
+ ? (_b = type.priv.specializedTypes) === null || _b === void 0 ? void 0 : _b.parameterDefaultTypes[index]
194
192
  : undefined);
195
193
  }
196
194
  });
@@ -1 +1 @@
1
- {"version":3,"file":"parameterUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parameterUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,uDAAiD;AACjD,mCAeiB;AACjB,2CAAwE;AAExE,SAAgB,aAAa,CAAC,KAAoB;IAC9C,OAAO,CACH,KAAK,CAAC,QAAQ,qCAA6B;QAC3C,IAAA,uBAAe,EAAC,KAAK,CAAC,IAAI,CAAC;QAC3B,IAAA,uBAAe,EAAC,KAAK,CAAC,IAAI,CAAC;QAC3B,iBAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CACvC,CAAC;AACN,CAAC;AARD,sCAQC;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,qDAAU,CAAA;IACV,iDAAQ,CAAA;IACR,+CAAO,CAAA;AACX,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AA+BD,SAAgB,wBAAwB,CAAC,IAAkB;IACvD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACvG,CAAC;AAFD,4DAEC;AAED,0EAA0E;AAC1E,wEAAwE;AACxE,kCAAkC;AAClC,SAAgB,mBAAmB,CAAC,IAAkB;IAClD,MAAM,MAAM,GAAqB;QAC7B,2BAA2B,EAAE,CAAC;QAC9B,kBAAkB,EAAE,CAAC;QACrB,sBAAsB,EAAE,CAAC;QACzB,MAAM,EAAE,EAAE;QACV,uBAAuB,EAAE,KAAK;QAC9B,oBAAoB,EAAE,KAAK;KAC9B,CAAC;IAEF,IAAI,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,+BAAuB,EAAC,CAAC,CAAC,CAAC,CAAC;IAE5F,oEAAoE;IACpE,uCAAuC;IACvC,IAAI,iBAAiB,GAAG,CAAC,EAAE;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,QAAQ,iCAAyB,EAAE;gBACrC,MAAM;aACT;YAED,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;gBACT,MAAM;aACT;YAED,IAAI,IAAA,8BAAY,EAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAClD,4DAA4D;gBAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,oBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;oBAC5C,MAAM;iBACT;gBAED,SAAS;aACZ;YAED,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC;SAC7B;KACJ;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACvC,MAAM;SACT;QAED,MAAM,CAAC,sBAAsB,EAAE,CAAC;KACnC;IAED,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,MAAM,eAAe,GAAG,CACpB,KAAoB,EACpB,KAAa,EACb,YAAmB,EACnB,sBAA6B,EAC7B,cAA0B,EAC5B,EAAE;QACA,IAAI,KAAK,CAAC,IAAI,EAAE;YACZ,IAAI,IAAe,CAAC;YACpB,IAAI,cAAc,KAAK,SAAS,EAAE;gBAC9B,IAAI,GAAG,cAAc,CAAC;aACzB;iBAAM,IAAI,KAAK,CAAC,QAAQ,mCAA2B,EAAE;gBAClD,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;aAC/B;iBAAM,IAAI,uBAAuB,EAAE;gBAChC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;aAC5B;iBAAM,IAAI,iBAAiB,IAAI,CAAC,IAAI,KAAK,GAAG,iBAAiB,EAAE;gBAC5D,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;aAC/B;iBAAM;gBACH,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC;aAC7B;YAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,KAAK;gBACL,KAAK;gBACL,IAAI,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,oBAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC;gBACrE,cAAc,EAAE,sBAAsB;gBACtC,IAAI;aACP,CAAC,CAAC;SACN;IACL,CAAC,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;QAC5C,IAAI,KAAK,CAAC,QAAQ,mCAA2B,EAAE;YAC3C,oDAAoD;YACpD,MAAM,SAAS,GAAG,oBAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,IAAI,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC1E,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,CAAC,sBAAsB,CAAC;gBAElE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE;oBAC1D,MAAM,QAAQ,GACV,IAAA,sBAAc,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,WAAW;wBACjD,CAAC;wBACD,CAAC,6BAAqB,CAAC;oBAE/B,IAAI,QAAQ,mCAA2B,EAAE;wBACrC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBAC3C;oBAED,IAAI,IAAA,sBAAc,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;wBAC5B,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC;qBACzC;oBAED,eAAe,CACX,qBAAa,CAAC,MAAM,CAChB,QAAQ,EACR,QAAQ,CAAC,IAAI,EACb,0BAAkB,CAAC,eAAe,GAAG,0BAAkB,CAAC,YAAY,EACpE,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,GAAG,CAC5C,EACD,KAAK,EACL,QAAQ,CAAC,IAAI;oBACb,4BAA4B,CAAC,SAAS,EACtC,SAAS,CAAC,UAAU,CACvB,CAAC;oBAEF,IAAI,QAAQ,iCAAyB,EAAE;wBACnC,MAAM,CAAC,kBAAkB,EAAE,CAAC;qBAC/B;oBAED,IAAI,UAAU,GAAG,CAAC,IAAI,mBAAmB,EAAE;wBACvC,MAAM,CAAC,sBAAsB,EAAE,CAAC;qBACnC;gBACL,CAAC,CAAC,CAAC;gBAEH,6EAA6E;gBAC7E,gFAAgF;gBAChF,8EAA8E;gBAC9E,sBAAsB;gBACtB,IAAI,CAAC,uBAAuB,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,KAAK,IAAI,iBAAiB,CAAC,EAAE;oBACnF,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBACpD,uBAAuB,GAAG,IAAI,CAAC;iBAClC;aACJ;iBAAM;gBACH,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;oBAC9C,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBAExC,IAAI,IAAA,sBAAc,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;wBAC5B,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC;qBACzC;iBACJ;gBAED,6EAA6E;gBAC7E,gFAAgF;gBAChF,8EAA8E;gBAC9E,sBAAsB;gBACtB,IAAI,CAAC,uBAAuB,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,KAAK,IAAI,iBAAiB,CAAC,EAAE;oBACnF,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBACpD,IAAI,KAAK,CAAC,IAAI,EAAE;wBACZ,MAAM,CAAC,qBAAqB,EAAE,CAAC;qBAClC;oBACD,uBAAuB,GAAG,IAAI,CAAC;iBAClC;gBAED,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACjC;SACJ;aAAM,IAAI,KAAK,CAAC,QAAQ,qCAA6B,EAAE;YACpD,uBAAuB,GAAG,IAAI,CAAC;YAE/B,MAAM,SAAS,GAAG,oBAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAElE,4DAA4D;YAC5D,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC/F,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE;oBAC5C,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;iBACvD;gBAED,MAAM,aAAa,GAAG,SAAS,CAAC;gBAChC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBACjE,MAAM,oBAAoB,GAAG,IAAA,mCAAuB,EAChD,KAAK,CAAC,SAAS,EACf,aAAa;oBACb,mBAAmB,CAAC,SAAS,CAChC,CAAC;oBAEF,eAAe,CACX,qBAAa,CAAC,MAAM,+BAEhB,oBAAoB,EACpB,0BAAkB,CAAC,YAAY,EAC/B,IAAI,EACJ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CACvD,EACD,KAAK,EACL,oBAAoB,CACvB,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,IAAI,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE;oBAC9C,eAAe,CACX,qBAAa,CAAC,MAAM,mCAEhB,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,EACtD,0BAAkB,CAAC,YAAY,EAC/B,QAAQ,CACX,EACD,KAAK,EACL,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CACzD,CAAC;oBAEF,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjD;gBAED,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACnC,MAAM,CAAC,2BAA2B,GAAG,SAAS,CAAC;aAClD;iBAAM,IAAI,KAAK,CAAC,IAAI,EAAE;gBACnB,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;oBAClC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC7C;gBAED,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE;oBAC5C,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;iBACvD;gBAED,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACjC;SACJ;aAAM,IAAI,KAAK,CAAC,QAAQ,iCAAyB,EAAE;YAChD,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBACxC,MAAM,CAAC,kBAAkB,EAAE,CAAC;aAC/B;YAED,eAAe,CACX,KAAK,EACL,KAAK;YACL,kBAAkB,CAAC,SAAS,EAC5B,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,0CAAE,oBAAoB;gBAC5C,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,0CAAE,oBAAoB,CAAC,KAAK,CAAC;gBACzD,CAAC,CAAC,SAAS,CAClB,CAAC;SACL;IACL,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,2BAA2B;IAC3B,MAAM,CAAC,SAAS,GAAG,oBAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAEjE,MAAM,CAAC,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC,CAAC;IACrG,IAAI,MAAM,CAAC,2BAA2B,GAAG,CAAC,EAAE;QACxC,MAAM,CAAC,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;KAC7D;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AA/OD,kDA+OC;AAED,sEAAsE;AACtE,yEAAyE;AACzE,SAAgB,eAAe,CAAC,SAAsB,EAAE,OAAa;IACjE,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,IAAA,4BAAgB,EAAC,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;QACrC,IACI,IAAA,mBAAW,EAAC,UAAU,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,eAAe,KAAK,MAAM;YAC1C,IAAA,kBAAU,EAAC,UAAU,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAC9D;YACE,OAAO;SACV;QAED,IACI,IAAA,uBAAe,EAAC,UAAU,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,aAAa;YAC7B,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YAC1C,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW;YAC5C,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EACvD;YACE,OAAO;SACV;QAED,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,EAAE;YAC5B,OAAO;SACV;QAED,YAAY,GAAG,KAAK,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACxB,CAAC;AA9BD,0CA8BC;AAED,2EAA2E;AAC3E,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,SAAsB,EAAE,OAAa;IACnE,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,IAAA,4BAAgB,EAAC,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;QACrC,IACI,IAAA,mBAAW,EAAC,UAAU,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,eAAe,KAAK,QAAQ;YAC5C,IAAA,kBAAU,EAAC,UAAU,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAC9D;YACE,OAAO;SACV;QAED,IACI,IAAA,uBAAe,EAAC,UAAU,CAAC;YAC3B,iBAAS,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,QAAQ;YACxB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrC,IAAA,uBAAe,EAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5C,iBAAS,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YACvD,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC7C;YACE,OAAO;SACV;QAED,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,EAAE;YAC5B,OAAO;SACV;QAED,YAAY,GAAG,KAAK,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACxB,CAAC;AAhCD,8CAgCC"}
1
+ {"version":3,"file":"parameterUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parameterUtils.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,12 @@ const diagnostic_1 = require("../common/diagnostic");
17
17
  const diagnosticRules_1 = require("../common/diagnosticRules");
18
18
  const localize_1 = require("../localization/localize");
19
19
  const constraintSolver_1 = require("./constraintSolver");
20
+ const constraintTracker_1 = require("./constraintTracker");
20
21
  const parseTreeUtils_1 = require("./parseTreeUtils");
21
- const typeGuards_1 = require("./typeGuards");
22
- const typeUtils_1 = require("./typeUtils");
23
- const typeVarContext_1 = require("./typeVarContext");
24
22
  const typedDicts_1 = require("./typedDicts");
23
+ const typeGuards_1 = require("./typeGuards");
25
24
  const types_1 = require("./types");
25
+ const typeUtils_1 = require("./typeUtils");
26
26
  // PEP 634 indicates that several built-in classes are handled differently
27
27
  // when used with class pattern matching.
28
28
  const classPatternSpecialCases = [
@@ -604,16 +604,18 @@ function narrowTypeBasedOnClassPattern(evaluator, type, pattern, isPositiveTest)
604
604
  if ((0, types_1.isInstantiableClass)(unexpandedSubtype) && (0, types_1.isClassInstance)(subjectSubtypeExpanded)) {
605
605
  if (types_1.ClassType.isSpecialBuiltIn(unexpandedSubtype) ||
606
606
  unexpandedSubtype.shared.typeParams.length > 0) {
607
- const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(unexpandedSubtype));
607
+ const constraints = new constraintTracker_1.ConstraintTracker();
608
608
  const unspecializedMatchType = types_1.ClassType.specialize(unexpandedSubtype,
609
609
  /* typeArgs */ undefined);
610
610
  const matchTypeInstance = types_1.ClassType.cloneAsInstance(unspecializedMatchType);
611
- if ((0, constraintSolver_1.addConstraintsForExpectedType)(evaluator, matchTypeInstance, subjectSubtypeExpanded, typeVarContext,
611
+ if ((0, constraintSolver_1.addConstraintsForExpectedType)(evaluator, matchTypeInstance, subjectSubtypeExpanded, constraints,
612
612
  /* liveTypeVarScopes */ undefined,
613
613
  /* usageOffset */ undefined)) {
614
- resultType = (0, typeUtils_1.applySolvedTypeVars)(matchTypeInstance, typeVarContext, {
615
- unknownIfNotFound: true,
616
- tupleClassType: evaluator.getTupleClassType(),
614
+ resultType = evaluator.solveAndApplyConstraints(matchTypeInstance, constraints, {
615
+ replaceUnsolved: {
616
+ scopeIds: (0, typeUtils_1.getTypeVarScopeIds)(unexpandedSubtype),
617
+ tupleClassType: evaluator.getTupleClassType(),
618
+ },
617
619
  });
618
620
  }
619
621
  }
@@ -818,9 +820,9 @@ function getMappingPatternInfo(evaluator, type, node) {
818
820
  }
819
821
  const mappingObject = types_1.ClassType.cloneAsInstance(mappingType);
820
822
  // Is it a subtype of Mapping?
821
- const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(mappingObject));
822
- if (evaluator.assignType(mappingObject, subtype, /* diag */ undefined, typeVarContext)) {
823
- const specializedMapping = (0, typeUtils_1.applySolvedTypeVars)(mappingObject, typeVarContext);
823
+ const constraints = new constraintTracker_1.ConstraintTracker();
824
+ if (evaluator.assignType(mappingObject, subtype, /* diag */ undefined, constraints)) {
825
+ const specializedMapping = evaluator.solveAndApplyConstraints(mappingObject, constraints);
824
826
  if (specializedMapping.priv.typeArgs && specializedMapping.priv.typeArgs.length >= 2) {
825
827
  mappingInfo.push({
826
828
  subtype,
@@ -1017,9 +1019,9 @@ function getSequencePatternInfo(evaluator, pattern, type) {
1017
1019
  if (sequenceType && (0, types_1.isInstantiableClass)(sequenceType)) {
1018
1020
  const sequenceObject = types_1.ClassType.cloneAsInstance(sequenceType);
1019
1021
  // Is it a subtype of Sequence?
1020
- const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(sequenceType));
1021
- if (evaluator.assignType(sequenceObject, subtype, /* diag */ undefined, typeVarContext)) {
1022
- const specializedSequence = (0, typeUtils_1.applySolvedTypeVars)(sequenceObject, typeVarContext);
1022
+ const constraints = new constraintTracker_1.ConstraintTracker();
1023
+ if (evaluator.assignType(sequenceObject, subtype, /* diag */ undefined, constraints)) {
1024
+ const specializedSequence = evaluator.solveAndApplyConstraints(sequenceObject, constraints);
1023
1025
  if (specializedSequence.priv.typeArgs && specializedSequence.priv.typeArgs.length > 0) {
1024
1026
  sequenceInfo.push({
1025
1027
  subtype,
@@ -1032,9 +1034,9 @@ function getSequencePatternInfo(evaluator, pattern, type) {
1032
1034
  }
1033
1035
  }
1034
1036
  // If it wasn't a subtype of Sequence, see if it's a supertype.
1035
- const sequenceTypeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(sequenceType));
1036
- if ((0, constraintSolver_1.addConstraintsForExpectedType)(evaluator, types_1.ClassType.cloneAsInstance(sequenceType), subtype, sequenceTypeVarContext, (0, parseTreeUtils_1.getTypeVarScopesForNode)(pattern), pattern.start)) {
1037
- const specializedSequence = (0, typeUtils_1.applySolvedTypeVars)(types_1.ClassType.cloneAsInstantiable(sequenceType), sequenceTypeVarContext);
1037
+ const sequenceConstraints = new constraintTracker_1.ConstraintTracker();
1038
+ if ((0, constraintSolver_1.addConstraintsForExpectedType)(evaluator, types_1.ClassType.cloneAsInstance(sequenceType), subtype, sequenceConstraints, (0, parseTreeUtils_1.getTypeVarScopesForNode)(pattern), pattern.start)) {
1039
+ const specializedSequence = evaluator.solveAndApplyConstraints(types_1.ClassType.cloneAsInstantiable(sequenceType), sequenceConstraints);
1038
1040
  if (specializedSequence.priv.typeArgs && specializedSequence.priv.typeArgs.length > 0) {
1039
1041
  sequenceInfo.push({
1040
1042
  subtype,
@@ -1085,11 +1087,11 @@ function getTypeOfPatternSequenceEntry(evaluator, node, sequenceInfo, entryIndex
1085
1087
  const starEntryTypes = sequenceInfo.entryTypes
1086
1088
  .slice(starEntryIndex, starEntryIndex + sequenceInfo.entryTypes.length - entryCount + 1)
1087
1089
  .map((type) => {
1088
- // If this is a variadic TypeVar, there's not much we can say about
1090
+ // If this is a TypeVarTuple, there's not much we can say about
1089
1091
  // its type other than it's "Unknown". We could evaluate it as an
1090
1092
  // "object", but that will cause problems given that this type will
1091
1093
  // be wrapped in a "list" below, and lists are invariant.
1092
- if ((0, types_1.isTypeVarTuple)(type) && !type.priv.isVariadicInUnion) {
1094
+ if ((0, types_1.isTypeVarTuple)(type) && !type.priv.isInUnion) {
1093
1095
  return types_1.UnknownType.create();
1094
1096
  }
1095
1097
  return evaluator.stripLiteralValue(type);