@zzzen/pyright-internal 1.2.0-dev.20240714 → 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 (225) 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 +137 -142
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/codeFlowEngine.d.ts +2 -2
  11. package/dist/analyzer/codeFlowEngine.js +74 -44
  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 +166 -206
  17. package/dist/analyzer/constraintSolver.js.map +1 -1
  18. package/dist/analyzer/constructorTransform.d.ts +2 -3
  19. package/dist/analyzer/constructorTransform.js +18 -19
  20. package/dist/analyzer/constructorTransform.js.map +1 -1
  21. package/dist/analyzer/constructors.d.ts +3 -3
  22. package/dist/analyzer/constructors.js +72 -175
  23. package/dist/analyzer/constructors.js.map +1 -1
  24. package/dist/analyzer/dataClasses.d.ts +2 -2
  25. package/dist/analyzer/dataClasses.js +60 -40
  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 +5 -6
  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 +145 -96
  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 +60 -59
  54. package/dist/analyzer/parameterUtils.js.map +1 -1
  55. package/dist/analyzer/parseTreeUtils.d.ts +7 -6
  56. package/dist/analyzer/parseTreeUtils.js +47 -24
  57. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  58. package/dist/analyzer/patternMatching.js +109 -90
  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 +23 -19
  63. package/dist/analyzer/properties.js.map +1 -1
  64. package/dist/analyzer/protocols.js +23 -20
  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/testWalker.js +13 -1
  82. package/dist/analyzer/testWalker.js.map +1 -1
  83. package/dist/analyzer/tracePrinter.js +4 -4
  84. package/dist/analyzer/tracePrinter.js.map +1 -1
  85. package/dist/analyzer/tuples.d.ts +9 -0
  86. package/dist/analyzer/tuples.js +252 -0
  87. package/dist/analyzer/tuples.js.map +1 -0
  88. package/dist/analyzer/typeComplexity.d.ts +2 -0
  89. package/dist/analyzer/typeComplexity.js +86 -0
  90. package/dist/analyzer/typeComplexity.js.map +1 -0
  91. package/dist/analyzer/typeEvaluator.js +1721 -1824
  92. package/dist/analyzer/typeEvaluator.js.map +1 -1
  93. package/dist/analyzer/typeEvaluatorTypes.d.ts +47 -40
  94. package/dist/analyzer/typeEvaluatorTypes.js +10 -1
  95. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  96. package/dist/analyzer/typeGuards.js +116 -90
  97. package/dist/analyzer/typeGuards.js.map +1 -1
  98. package/dist/analyzer/typePrinter.d.ts +1 -1
  99. package/dist/analyzer/typePrinter.js +54 -53
  100. package/dist/analyzer/typePrinter.js.map +1 -1
  101. package/dist/analyzer/typeStubWriter.d.ts +3 -3
  102. package/dist/analyzer/typeStubWriter.js +15 -15
  103. package/dist/analyzer/typeStubWriter.js.map +1 -1
  104. package/dist/analyzer/typeUtils.d.ts +35 -29
  105. package/dist/analyzer/typeUtils.js +420 -357
  106. package/dist/analyzer/typeUtils.js.map +1 -1
  107. package/dist/analyzer/typeVarContext.d.ts +24 -36
  108. package/dist/analyzer/typeVarContext.js +89 -193
  109. package/dist/analyzer/typeVarContext.js.map +1 -1
  110. package/dist/analyzer/typeWalker.js +4 -4
  111. package/dist/analyzer/typeWalker.js.map +1 -1
  112. package/dist/analyzer/typedDicts.d.ts +2 -2
  113. package/dist/analyzer/typedDicts.js +49 -53
  114. package/dist/analyzer/typedDicts.js.map +1 -1
  115. package/dist/analyzer/types.d.ts +89 -63
  116. package/dist/analyzer/types.js +163 -120
  117. package/dist/analyzer/types.js.map +1 -1
  118. package/dist/commands/dumpFileDebugInfoCommand.js +12 -12
  119. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  120. package/dist/common/configOptions.d.ts +1 -0
  121. package/dist/common/configOptions.js +5 -0
  122. package/dist/common/configOptions.js.map +1 -1
  123. package/dist/common/diagnosticRules.d.ts +1 -0
  124. package/dist/common/diagnosticRules.js +1 -0
  125. package/dist/common/diagnosticRules.js.map +1 -1
  126. package/dist/common/fileSystem.d.ts +0 -1
  127. package/dist/common/fileSystem.js.map +1 -1
  128. package/dist/common/languageServerInterface.d.ts +13 -0
  129. package/dist/common/languageServerInterface.js +15 -1
  130. package/dist/common/languageServerInterface.js.map +1 -1
  131. package/dist/common/lspUtils.js +2 -2
  132. package/dist/common/memUtils.d.ts +4 -0
  133. package/dist/common/memUtils.js +33 -2
  134. package/dist/common/memUtils.js.map +1 -1
  135. package/dist/common/serviceKeys.d.ts +3 -0
  136. package/dist/common/serviceKeys.js +2 -0
  137. package/dist/common/serviceKeys.js.map +1 -1
  138. package/dist/common/serviceProviderExtensions.js +7 -0
  139. package/dist/common/serviceProviderExtensions.js.map +1 -1
  140. package/dist/languageServerBase.d.ts +4 -3
  141. package/dist/languageServerBase.js +14 -10
  142. package/dist/languageServerBase.js.map +1 -1
  143. package/dist/languageService/autoImporter.d.ts +3 -2
  144. package/dist/languageService/autoImporter.js +5 -1
  145. package/dist/languageService/autoImporter.js.map +1 -1
  146. package/dist/languageService/completionProvider.d.ts +5 -3
  147. package/dist/languageService/completionProvider.js +38 -37
  148. package/dist/languageService/completionProvider.js.map +1 -1
  149. package/dist/languageService/completionProviderUtils.d.ts +1 -1
  150. package/dist/languageService/completionProviderUtils.js +3 -3
  151. package/dist/languageService/completionProviderUtils.js.map +1 -1
  152. package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
  153. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  154. package/dist/languageService/hoverProvider.js +14 -6
  155. package/dist/languageService/hoverProvider.js.map +1 -1
  156. package/dist/languageService/referencesProvider.d.ts +10 -4
  157. package/dist/languageService/referencesProvider.js +24 -12
  158. package/dist/languageService/referencesProvider.js.map +1 -1
  159. package/dist/languageService/renameProvider.js +21 -4
  160. package/dist/languageService/renameProvider.js.map +1 -1
  161. package/dist/languageService/signatureHelpProvider.js +1 -1
  162. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  163. package/dist/languageService/tooltipUtils.js +3 -3
  164. package/dist/languageService/tooltipUtils.js.map +1 -1
  165. package/dist/localization/localize.d.ts +9 -3
  166. package/dist/localization/localize.js +8 -1
  167. package/dist/localization/localize.js.map +1 -1
  168. package/dist/localization/package.nls.cs.json +5 -2
  169. package/dist/localization/package.nls.de.json +5 -2
  170. package/dist/localization/package.nls.en-us.json +7 -1
  171. package/dist/localization/package.nls.es.json +5 -2
  172. package/dist/localization/package.nls.fr.json +5 -2
  173. package/dist/localization/package.nls.it.json +5 -2
  174. package/dist/localization/package.nls.ja.json +5 -2
  175. package/dist/localization/package.nls.ko.json +5 -2
  176. package/dist/localization/package.nls.pl.json +5 -2
  177. package/dist/localization/package.nls.pt-br.json +5 -2
  178. package/dist/localization/package.nls.qps-ploc.json +5 -2
  179. package/dist/localization/package.nls.ru.json +5 -2
  180. package/dist/localization/package.nls.tr.json +5 -2
  181. package/dist/localization/package.nls.zh-cn.json +5 -2
  182. package/dist/localization/package.nls.zh-tw.json +5 -2
  183. package/dist/parser/parseNodes.d.ts +12 -10
  184. package/dist/parser/parseNodes.js +23 -21
  185. package/dist/parser/parseNodes.js.map +1 -1
  186. package/dist/parser/parser.js +66 -43
  187. package/dist/parser/parser.js.map +1 -1
  188. package/dist/tests/checker.test.js +2 -2
  189. package/dist/tests/fourslash/rename.args.fourslash.d.ts +1 -0
  190. package/dist/tests/fourslash/rename.args.fourslash.js +71 -0
  191. package/dist/tests/fourslash/rename.args.fourslash.js.map +1 -0
  192. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js +4 -21
  193. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  194. package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -1
  195. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  196. package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
  197. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  198. package/dist/tests/harness/fourslash/testStateUtils.js +2 -2
  199. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  200. package/dist/tests/harness/vfs/filesystem.d.ts +0 -1
  201. package/dist/tests/harness/vfs/filesystem.js +0 -4
  202. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  203. package/dist/tests/importResolver.test.js +62 -15
  204. package/dist/tests/importResolver.test.js.map +1 -1
  205. package/dist/tests/lsp/languageServerTestUtils.js +1 -1
  206. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  207. package/dist/tests/typeEvaluator1.test.js +17 -0
  208. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  209. package/dist/tests/typeEvaluator2.test.js +4 -0
  210. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  211. package/dist/tests/typeEvaluator3.test.js +1 -1
  212. package/dist/tests/typeEvaluator4.test.js +19 -7
  213. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  214. package/dist/tests/typeEvaluator5.test.js +8 -2
  215. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  216. package/dist/tests/typeEvaluator6.test.js +76 -60
  217. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  218. package/dist/tests/typeEvaluator7.test.js +5 -1
  219. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  220. package/dist/tests/typePrinter.test.js +13 -18
  221. package/dist/tests/typePrinter.test.js.map +1 -1
  222. package/dist/workspaceFactory.d.ts +3 -2
  223. package/dist/workspaceFactory.js +15 -2
  224. package/dist/workspaceFactory.js.map +1 -1
  225. package/package.json +1 -1
@@ -36,6 +36,7 @@ exports.applyDataClassDecorator = exports.applyDataClassClassBehaviorOverrides =
36
36
  const debug_1 = require("../common/debug");
37
37
  const diagnostic_1 = require("../common/diagnostic");
38
38
  const diagnosticRules_1 = require("../common/diagnosticRules");
39
+ const pythonVersion_1 = require("../common/pythonVersion");
39
40
  const localize_1 = require("../localization/localize");
40
41
  const AnalyzerNodeInfo = __importStar(require("./analyzerNodeInfo"));
41
42
  const analyzerNodeInfo_1 = require("./analyzerNodeInfo");
@@ -63,17 +64,28 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
63
64
  // __new__ method are based on field definitions for NamedTuple classes,
64
65
  // and the parameters of the __init__ method are based on field definitions
65
66
  // in other cases.
66
- types_1.FunctionType.addParameter(newType, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, classTypeVar, types_1.FunctionParamFlags.TypeDeclared, 'cls'));
67
+ types_1.FunctionType.addParam(newType, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, classTypeVar, types_1.FunctionParamFlags.TypeDeclared, 'cls'));
67
68
  if (!isNamedTuple) {
68
- types_1.FunctionType.addDefaultParameters(newType);
69
+ types_1.FunctionType.addDefaultParams(newType);
70
+ newType.shared.flags |= 32768 /* FunctionTypeFlags.GradualCallableForm */;
69
71
  }
70
72
  newType.shared.declaredReturnType = (0, typeUtils_1.convertToInstance)(classTypeVar);
71
- const selfParam = types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, (0, typeUtils_1.synthesizeTypeVarForSelfCls)(classType, /* isClsParam */ false), types_1.FunctionParamFlags.TypeDeclared, 'self');
72
- types_1.FunctionType.addParameter(initType, selfParam);
73
+ const selfType = (0, typeUtils_1.synthesizeTypeVarForSelfCls)(classType, /* isClsParam */ false);
74
+ const selfParam = types_1.FunctionParam.create(0 /* ParamCategory.Simple */, selfType, types_1.FunctionParamFlags.TypeDeclared, 'self');
75
+ types_1.FunctionType.addParam(initType, selfParam);
73
76
  if (isNamedTuple) {
74
- types_1.FunctionType.addDefaultParameters(initType);
77
+ types_1.FunctionType.addDefaultParams(initType);
78
+ initType.shared.flags |= 32768 /* FunctionTypeFlags.GradualCallableForm */;
75
79
  }
76
80
  initType.shared.declaredReturnType = evaluator.getNoneType();
81
+ // For Python 3.13 and newer, synthesize a __replace__ method.
82
+ let replaceType;
83
+ if (AnalyzerNodeInfo.getFileInfo(node).executionEnvironment.pythonVersion >= pythonVersion_1.pythonVersion3_13) {
84
+ replaceType = types_1.FunctionType.createSynthesizedInstance('__replace__');
85
+ types_1.FunctionType.addParam(replaceType, selfParam);
86
+ types_1.FunctionType.addKeywordOnlyParamSeparator(replaceType);
87
+ replaceType.shared.declaredReturnType = selfType;
88
+ }
77
89
  // Maintain a list of all dataclass entries (including
78
90
  // those from inherited classes) plus a list of only those
79
91
  // entries added by this class.
@@ -84,7 +96,10 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
84
96
  // If one or more ancestor classes have an unknown type, we cannot
85
97
  // safely determine the parameter list, so we'll accept any parameters
86
98
  // to avoid a false positive.
87
- types_1.FunctionType.addDefaultParameters(initType);
99
+ types_1.FunctionType.addDefaultParams(initType);
100
+ if (replaceType) {
101
+ types_1.FunctionType.addDefaultParams(replaceType);
102
+ }
88
103
  }
89
104
  // Add field-based parameters to either the __new__ or __init__ method
90
105
  // based on whether this is a NamedTuple or a dataclass.
@@ -142,7 +157,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
142
157
  variableNameNode = statement.d.leftExpr.d.valueExpr;
143
158
  const assignmentStatement = statement;
144
159
  variableTypeEvaluator = () => evaluator.getTypeOfAnnotation(assignmentStatement.d.leftExpr.d.annotation, {
145
- isVariableAnnotation: true,
160
+ varTypeAnnotation: true,
146
161
  allowFinal: true,
147
162
  allowClassVar: true,
148
163
  });
@@ -193,10 +208,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
193
208
  }
194
209
  const converterArg = statement.d.rightExpr.d.args.find((arg) => { var _a; return ((_a = arg.d.name) === null || _a === void 0 ? void 0 : _a.d.value) === 'converter'; });
195
210
  if (converterArg && converterArg.d.valueExpr) {
196
- // Converter support is dependent on PEP 712, which has not yet been approved.
197
- if (AnalyzerNodeInfo.getFileInfo(node).diagnosticRuleSet.enableExperimentalFeatures) {
198
- converter = converterArg;
199
- }
211
+ converter = converterArg;
200
212
  }
201
213
  }
202
214
  }
@@ -206,7 +218,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
206
218
  variableNameNode = statement.d.valueExpr;
207
219
  const annotationStatement = statement;
208
220
  variableTypeEvaluator = () => evaluator.getTypeOfAnnotation(annotationStatement.d.annotation, {
209
- isVariableAnnotation: true,
221
+ varTypeAnnotation: true,
210
222
  allowFinal: true,
211
223
  allowClassVar: true,
212
224
  });
@@ -367,24 +379,34 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
367
379
  if (!entry.alias && entry.nameNode && (0, symbolNameUtils_1.isPrivateName)(entry.nameNode.d.value)) {
368
380
  evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.dataClassFieldWithPrivateName(), entry.nameNode);
369
381
  }
370
- const functionParam = types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, effectiveType, types_1.FunctionParamFlags.TypeDeclared, effectiveName, entry.hasDefault ? entry.type : undefined);
382
+ const functionParam = types_1.FunctionParam.create(0 /* ParamCategory.Simple */, effectiveType, types_1.FunctionParamFlags.TypeDeclared, effectiveName, entry.hasDefault ? entry.type : undefined);
371
383
  if (entry.isKeywordOnly) {
372
384
  keywordOnlyParams.push(functionParam);
373
385
  }
374
386
  else {
375
- types_1.FunctionType.addParameter(constructorType, functionParam);
387
+ types_1.FunctionType.addParam(constructorType, functionParam);
388
+ }
389
+ if (replaceType) {
390
+ const paramWithDefault = {
391
+ ...functionParam,
392
+ defaultType: types_1.AnyType.create(/* isEllipsis */ true),
393
+ };
394
+ types_1.FunctionType.addParam(replaceType, paramWithDefault);
376
395
  }
377
396
  }
378
397
  });
379
398
  if (keywordOnlyParams.length > 0) {
380
- types_1.FunctionType.addKeywordOnlyParameterSeparator(constructorType);
399
+ types_1.FunctionType.addKeywordOnlyParamSeparator(constructorType);
381
400
  keywordOnlyParams.forEach((param) => {
382
- types_1.FunctionType.addParameter(constructorType, param);
401
+ types_1.FunctionType.addParam(constructorType, param);
383
402
  });
384
403
  }
385
404
  }
386
405
  symbolTable.set('__init__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, initType));
387
406
  symbolTable.set('__new__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, newType));
407
+ if (replaceType) {
408
+ symbolTable.set('__replace__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, replaceType));
409
+ }
388
410
  }
389
411
  // Synthesize the __match_args__ class variable if it doesn't exist.
390
412
  const strType = evaluator.getBuiltInType(node, 'str');
@@ -409,8 +431,8 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
409
431
  }
410
432
  const synthesizeComparisonMethod = (operator, paramType) => {
411
433
  const operatorMethod = types_1.FunctionType.createSynthesizedInstance(operator);
412
- types_1.FunctionType.addParameter(operatorMethod, selfParam);
413
- types_1.FunctionType.addParameter(operatorMethod, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, paramType, types_1.FunctionParamFlags.TypeDeclared, 'other'));
434
+ types_1.FunctionType.addParam(operatorMethod, selfParam);
435
+ types_1.FunctionType.addParam(operatorMethod, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, paramType, types_1.FunctionParamFlags.TypeDeclared, 'other'));
414
436
  operatorMethod.shared.declaredReturnType = evaluator.getBuiltInObject(node, 'bool');
415
437
  // If a method of this name already exists, don't override it.
416
438
  if (!symbolTable.get(operator)) {
@@ -439,7 +461,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
439
461
  }
440
462
  if (synthesizeHashFunction) {
441
463
  const hashMethod = types_1.FunctionType.createSynthesizedInstance('__hash__');
442
- types_1.FunctionType.addParameter(hashMethod, selfParam);
464
+ types_1.FunctionType.addParam(hashMethod, selfParam);
443
465
  hashMethod.shared.declaredReturnType = evaluator.getBuiltInObject(node, 'int');
444
466
  symbolTable.set('__hash__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */ | 4096 /* SymbolFlags.IgnoredForOverrideChecks */, hashMethod));
445
467
  }
@@ -448,8 +470,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
448
470
  }
449
471
  let dictType = evaluator.getBuiltInType(node, 'dict');
450
472
  if ((0, types_1.isInstantiableClass)(dictType)) {
451
- dictType = types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneForSpecialization(dictType, [evaluator.getBuiltInObject(node, 'str'), types_1.AnyType.create()],
452
- /* isTypeArgumentExplicit */ true));
473
+ dictType = types_1.ClassType.cloneAsInstance(types_1.ClassType.specialize(dictType, [evaluator.getBuiltInObject(node, 'str'), types_1.AnyType.create()]));
453
474
  }
454
475
  if (!isNamedTuple) {
455
476
  symbolTable.set('__dataclass_fields__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */ | 128 /* SymbolFlags.ClassVar */, dictType));
@@ -461,15 +482,14 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
461
482
  if (types_1.ClassType.isDataClassGenerateSlots(classType)) {
462
483
  let iterableType = (_a = evaluator.getTypingType(node, 'Iterable')) !== null && _a !== void 0 ? _a : types_1.UnknownType.create();
463
484
  if ((0, types_1.isInstantiableClass)(iterableType)) {
464
- iterableType = types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneForSpecialization(iterableType, [evaluator.getBuiltInObject(node, 'str')],
465
- /* isTypeArgumentExplicit */ true));
485
+ iterableType = types_1.ClassType.cloneAsInstance(types_1.ClassType.specialize(iterableType, [evaluator.getBuiltInObject(node, 'str')]));
466
486
  }
467
487
  symbolTable.set('__slots__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */ | 128 /* SymbolFlags.ClassVar */, iterableType));
468
488
  }
469
489
  // If this dataclass derived from a NamedTuple, update the NamedTuple with
470
490
  // the specialized entry types.
471
491
  if ((0, namedTuples_1.updateNamedTupleBaseClass)(classType, fullDataClassEntries.map((entry) => entry.type),
472
- /* isTypeArgumentExplicit */ true)) {
492
+ /* isTypeArgExplicit */ true)) {
473
493
  // Recompute the MRO based on the updated NamedTuple base class.
474
494
  (0, typeUtils_1.computeMroLinearization)(classType);
475
495
  }
@@ -486,7 +506,7 @@ function getDefaultArgValueForFieldSpecifier(evaluator, callNode, callTypeResult
486
506
  callTarget = callType;
487
507
  }
488
508
  else if ((0, types_1.isOverloadedFunction)(callType)) {
489
- callTarget = evaluator.getBestOverloadForArguments(callNode, { type: callType, isIncomplete: callTypeResult.isIncomplete }, callNode.d.args.map((arg) => (0, typeUtils_1.convertArgumentNodeToFunctionArgument)(arg)));
509
+ callTarget = evaluator.getBestOverloadForArgs(callNode, { type: callType, isIncomplete: callTypeResult.isIncomplete }, callNode.d.args.map((arg) => (0, typeUtils_1.convertNodeToArg)(arg)));
490
510
  }
491
511
  else if ((0, types_1.isInstantiableClass)(callType)) {
492
512
  const initMethodResult = (0, constructors_1.getBoundInitMethod)(evaluator, callNode, callType);
@@ -495,7 +515,7 @@ function getDefaultArgValueForFieldSpecifier(evaluator, callNode, callTypeResult
495
515
  callTarget = initMethodResult.type;
496
516
  }
497
517
  else if ((0, types_1.isOverloadedFunction)(initMethodResult.type)) {
498
- callTarget = evaluator.getBestOverloadForArguments(callNode, { type: initMethodResult.type }, callNode.d.args.map((arg) => (0, typeUtils_1.convertArgumentNodeToFunctionArgument)(arg)));
518
+ callTarget = evaluator.getBestOverloadForArgs(callNode, { type: initMethodResult.type }, callNode.d.args.map((arg) => (0, typeUtils_1.convertNodeToArg)(arg)));
499
519
  }
500
520
  }
501
521
  }
@@ -533,8 +553,8 @@ function getConverterInputType(evaluator, converterNode, fieldType, fieldName) {
533
553
  const targetFunction = types_1.FunctionType.createSynthesizedInstance('');
534
554
  targetFunction.shared.typeVarScopeId = typeVar.priv.scopeId;
535
555
  targetFunction.shared.declaredReturnType = fieldType;
536
- types_1.FunctionType.addParameter(targetFunction, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, typeVar, types_1.FunctionParamFlags.TypeDeclared | types_1.FunctionParamFlags.NameSynthesized, '__input'));
537
- types_1.FunctionType.addPositionOnlyParameterSeparator(targetFunction);
556
+ types_1.FunctionType.addParam(targetFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, typeVar, types_1.FunctionParamFlags.TypeDeclared | types_1.FunctionParamFlags.NameSynthesized, '__input'));
557
+ types_1.FunctionType.addPositionOnlyParamSeparator(targetFunction);
538
558
  if ((0, types_1.isFunction)(converterType) || (0, types_1.isOverloadedFunction)(converterType)) {
539
559
  const acceptedTypes = [];
540
560
  const diagAddendum = new diagnostic_1.DiagnosticAddendum();
@@ -613,16 +633,16 @@ function getDescriptorForConverterField(evaluator, dataclassNode, converterNode,
613
633
  const fields = types_1.ClassType.getSymbolTable(descriptorClass);
614
634
  const selfType = (0, typeUtils_1.synthesizeTypeVarForSelfCls)(descriptorClass, /* isClsParam */ false);
615
635
  const setFunction = types_1.FunctionType.createSynthesizedInstance('__set__');
616
- types_1.FunctionType.addParameter(setFunction, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, selfType, types_1.FunctionParamFlags.TypeDeclared, 'self'));
617
- types_1.FunctionType.addParameter(setFunction, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'obj'));
618
- types_1.FunctionType.addParameter(setFunction, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, setType, types_1.FunctionParamFlags.TypeDeclared, 'value'));
636
+ types_1.FunctionType.addParam(setFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, selfType, types_1.FunctionParamFlags.TypeDeclared, 'self'));
637
+ types_1.FunctionType.addParam(setFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'obj'));
638
+ types_1.FunctionType.addParam(setFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, setType, types_1.FunctionParamFlags.TypeDeclared, 'value'));
619
639
  setFunction.shared.declaredReturnType = evaluator.getNoneType();
620
640
  const setSymbol = symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, setFunction);
621
641
  fields.set('__set__', setSymbol);
622
642
  const getFunction = types_1.FunctionType.createSynthesizedInstance('__get__');
623
- types_1.FunctionType.addParameter(getFunction, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, selfType, types_1.FunctionParamFlags.TypeDeclared, 'self'));
624
- types_1.FunctionType.addParameter(getFunction, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'obj'));
625
- types_1.FunctionType.addParameter(getFunction, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'objtype'));
643
+ types_1.FunctionType.addParam(getFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, selfType, types_1.FunctionParamFlags.TypeDeclared, 'self'));
644
+ types_1.FunctionType.addParam(getFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'obj'));
645
+ types_1.FunctionType.addParam(getFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'objtype'));
626
646
  getFunction.shared.declaredReturnType = getType;
627
647
  const getSymbol = symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, getFunction);
628
648
  fields.set('__get__', getSymbol);
@@ -643,7 +663,7 @@ function transformDescriptorType(evaluator, type) {
643
663
  return type;
644
664
  }
645
665
  // The value parameter for a bound __set__ method is parameter index 1.
646
- return types_1.FunctionType.getEffectiveParameterType(setMethodType, 1);
666
+ return types_1.FunctionType.getEffectiveParamType(setMethodType, 1);
647
667
  }
648
668
  // Builds a sorted list of dataclass entries that are inherited by
649
669
  // the specified class. These entries must be unique and in reverse-MRO
@@ -716,7 +736,7 @@ function validateDataClassTransformDecorator(evaluator, node) {
716
736
  const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
717
737
  // Parse the arguments to the call.
718
738
  node.d.args.forEach((arg) => {
719
- if (!arg.d.name || arg.d.argCategory !== 0 /* ArgumentCategory.Simple */) {
739
+ if (!arg.d.name || arg.d.argCategory !== 0 /* ArgCategory.Simple */) {
720
740
  evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportCallIssue, localize_1.LocMessage.dataClassTransformPositionalParam(), arg);
721
741
  return;
722
742
  }
@@ -770,8 +790,8 @@ function validateDataClassTransformDecorator(evaluator, node) {
770
790
  const valueType = evaluator.getTypeOfExpression(arg.d.valueExpr).type;
771
791
  if (!(0, types_1.isClassInstance)(valueType) ||
772
792
  !types_1.ClassType.isBuiltIn(valueType, 'tuple') ||
773
- !valueType.priv.tupleTypeArguments ||
774
- valueType.priv.tupleTypeArguments.some((entry) => !(0, types_1.isInstantiableClass)(entry.type) &&
793
+ !valueType.priv.tupleTypeArgs ||
794
+ valueType.priv.tupleTypeArgs.some((entry) => !(0, types_1.isInstantiableClass)(entry.type) &&
775
795
  !(0, types_1.isFunction)(entry.type) &&
776
796
  !(0, types_1.isOverloadedFunction)(entry.type))) {
777
797
  evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.dataClassTransformFieldSpecifier().format({
@@ -779,7 +799,7 @@ function validateDataClassTransformDecorator(evaluator, node) {
779
799
  }), arg.d.valueExpr);
780
800
  return;
781
801
  }
782
- valueType.priv.tupleTypeArguments.forEach((arg) => {
802
+ valueType.priv.tupleTypeArgs.forEach((arg) => {
783
803
  if ((0, types_1.isInstantiableClass)(arg.type) || (0, types_1.isFunction)(arg.type)) {
784
804
  behaviors.fieldDescriptorNames.push(arg.type.shared.fullName);
785
805
  }
@@ -932,7 +952,7 @@ function applyDataClassClassBehaviorOverrides(evaluator, errorNode, classType, a
932
952
  exports.applyDataClassClassBehaviorOverrides = applyDataClassClassBehaviorOverrides;
933
953
  function applyDataClassDecorator(evaluator, errorNode, classType, defaultBehaviors, callNode) {
934
954
  var _a;
935
- applyDataClassClassBehaviorOverrides(evaluator, errorNode, classType, ((_a = callNode === null || callNode === void 0 ? void 0 : callNode.d.args) !== null && _a !== void 0 ? _a : []).map((arg) => (0, typeUtils_1.convertArgumentNodeToFunctionArgument)(arg)), defaultBehaviors);
955
+ applyDataClassClassBehaviorOverrides(evaluator, errorNode, classType, ((_a = callNode === null || callNode === void 0 ? void 0 : callNode.d.args) !== null && _a !== void 0 ? _a : []).map((arg) => (0, typeUtils_1.convertNodeToArg)(arg)), defaultBehaviors);
936
956
  }
937
957
  exports.applyDataClassDecorator = applyDataClassDecorator;
938
958
  //# sourceMappingURL=dataClasses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataClasses.js","sourceRoot":"","sources":["../../../../../src/analyzer/dataClasses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataClasses.js","sourceRoot":"","sources":["../../../../../src/analyzer/dataClasses.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ export declare const UnresolvedModuleMarker: Uri;
5
5
  export declare const enum DeclarationType {
6
6
  Intrinsic = 0,
7
7
  Variable = 1,
8
- Parameter = 2,
9
- TypeParameter = 3,
8
+ Param = 2,
9
+ TypeParam = 3,
10
10
  TypeAlias = 4,
11
11
  Function = 5,
12
12
  Class = 6,
@@ -44,15 +44,15 @@ export interface FunctionDeclaration extends DeclarationBase {
44
44
  yieldStatements?: (YieldNode | YieldFromNode)[];
45
45
  raiseStatements?: RaiseNode[];
46
46
  }
47
- export interface ParameterDeclaration extends DeclarationBase {
48
- type: DeclarationType.Parameter;
47
+ export interface ParamDeclaration extends DeclarationBase {
48
+ type: DeclarationType.Param;
49
49
  node: ParameterNode;
50
50
  docString?: string;
51
51
  inferredName?: string;
52
52
  inferredTypeNodes?: ExpressionNode[];
53
53
  }
54
- export interface TypeParameterDeclaration extends DeclarationBase {
55
- type: DeclarationType.TypeParameter;
54
+ export interface TypeParamDeclaration extends DeclarationBase {
55
+ type: DeclarationType.TypeParam;
56
56
  node: TypeParameterNode;
57
57
  }
58
58
  export interface TypeAliasDeclaration extends DeclarationBase {
@@ -94,11 +94,11 @@ export interface ModuleLoaderActions {
94
94
  loadSymbolsFromPath: boolean;
95
95
  implicitImports?: Map<string, ModuleLoaderActions>;
96
96
  }
97
- export type Declaration = IntrinsicDeclaration | ClassDeclaration | SpecialBuiltInClassDeclaration | FunctionDeclaration | ParameterDeclaration | TypeParameterDeclaration | TypeAliasDeclaration | VariableDeclaration | AliasDeclaration;
97
+ export type Declaration = IntrinsicDeclaration | ClassDeclaration | SpecialBuiltInClassDeclaration | FunctionDeclaration | ParamDeclaration | TypeParamDeclaration | TypeAliasDeclaration | VariableDeclaration | AliasDeclaration;
98
98
  export declare function isFunctionDeclaration(decl: Declaration): decl is FunctionDeclaration;
99
99
  export declare function isClassDeclaration(decl: Declaration): decl is ClassDeclaration;
100
- export declare function isParameterDeclaration(decl: Declaration): decl is ParameterDeclaration;
101
- export declare function isTypeParameterDeclaration(decl: Declaration): decl is TypeParameterDeclaration;
100
+ export declare function isParamDeclaration(decl: Declaration): decl is ParamDeclaration;
101
+ export declare function isTypeParamDeclaration(decl: Declaration): decl is TypeParamDeclaration;
102
102
  export declare function isTypeAliasDeclaration(decl: Declaration): decl is TypeAliasDeclaration;
103
103
  export declare function isVariableDeclaration(decl: Declaration): decl is VariableDeclaration;
104
104
  export declare function isAliasDeclaration(decl: Declaration): decl is AliasDeclaration;
@@ -10,15 +10,15 @@
10
10
  * is explicitly declared).
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.isUnresolvedAliasDeclaration = exports.isIntrinsicDeclaration = exports.isSpecialBuiltInClassDeclaration = exports.isAliasDeclaration = exports.isVariableDeclaration = exports.isTypeAliasDeclaration = exports.isTypeParameterDeclaration = exports.isParameterDeclaration = exports.isClassDeclaration = exports.isFunctionDeclaration = exports.DeclarationType = exports.UnresolvedModuleMarker = void 0;
13
+ exports.isUnresolvedAliasDeclaration = exports.isIntrinsicDeclaration = exports.isSpecialBuiltInClassDeclaration = exports.isAliasDeclaration = exports.isVariableDeclaration = exports.isTypeAliasDeclaration = exports.isTypeParamDeclaration = exports.isParamDeclaration = exports.isClassDeclaration = exports.isFunctionDeclaration = exports.DeclarationType = exports.UnresolvedModuleMarker = void 0;
14
14
  const uri_1 = require("../common/uri/uri");
15
15
  exports.UnresolvedModuleMarker = uri_1.Uri.constant('*** unresolved module ***');
16
16
  var DeclarationType;
17
17
  (function (DeclarationType) {
18
18
  DeclarationType[DeclarationType["Intrinsic"] = 0] = "Intrinsic";
19
19
  DeclarationType[DeclarationType["Variable"] = 1] = "Variable";
20
- DeclarationType[DeclarationType["Parameter"] = 2] = "Parameter";
21
- DeclarationType[DeclarationType["TypeParameter"] = 3] = "TypeParameter";
20
+ DeclarationType[DeclarationType["Param"] = 2] = "Param";
21
+ DeclarationType[DeclarationType["TypeParam"] = 3] = "TypeParam";
22
22
  DeclarationType[DeclarationType["TypeAlias"] = 4] = "TypeAlias";
23
23
  DeclarationType[DeclarationType["Function"] = 5] = "Function";
24
24
  DeclarationType[DeclarationType["Class"] = 6] = "Class";
@@ -33,14 +33,14 @@ function isClassDeclaration(decl) {
33
33
  return decl.type === 6 /* DeclarationType.Class */;
34
34
  }
35
35
  exports.isClassDeclaration = isClassDeclaration;
36
- function isParameterDeclaration(decl) {
37
- return decl.type === 2 /* DeclarationType.Parameter */;
36
+ function isParamDeclaration(decl) {
37
+ return decl.type === 2 /* DeclarationType.Param */;
38
38
  }
39
- exports.isParameterDeclaration = isParameterDeclaration;
40
- function isTypeParameterDeclaration(decl) {
41
- return decl.type === 3 /* DeclarationType.TypeParameter */;
39
+ exports.isParamDeclaration = isParamDeclaration;
40
+ function isTypeParamDeclaration(decl) {
41
+ return decl.type === 3 /* DeclarationType.TypeParam */;
42
42
  }
43
- exports.isTypeParameterDeclaration = isTypeParameterDeclaration;
43
+ exports.isTypeParamDeclaration = isTypeParamDeclaration;
44
44
  function isTypeAliasDeclaration(decl) {
45
45
  return decl.type === 4 /* DeclarationType.TypeAlias */;
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../../../../src/analyzer/declaration.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAGH,2CAAwC;AAsB3B,QAAA,sBAAsB,GAAG,SAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAEhF,IAAkB,eAUjB;AAVD,WAAkB,eAAe;IAC7B,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,+DAAS,CAAA;IACT,uEAAa,CAAA;IACb,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,uDAAK,CAAA;IACL,mFAAmB,CAAA;IACnB,uDAAK,CAAA;AACT,CAAC,EAViB,eAAe,+BAAf,eAAe,QAUhC;AAgND,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qCAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kCAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sCAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,0BAA0B,CAAC,IAAiB;IACxD,OAAO,IAAI,CAAC,IAAI,0CAAkC,CAAC;AACvD,CAAC;AAFD,gEAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sCAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qCAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kCAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,gCAAgC,CAAC,IAAiB;IAC9D,OAAO,IAAI,CAAC,IAAI,gDAAwC,CAAC;AAC7D,CAAC;AAFD,4EAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sCAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,4BAA4B,CAAC,IAAiB;IAC1D,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,8BAAsB,CAAC,CAAC;AAC/E,CAAC;AAFD,oEAEC"}
1
+ {"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../../../../src/analyzer/declaration.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAGH,2CAAwC;AAsB3B,QAAA,sBAAsB,GAAG,SAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAEhF,IAAkB,eAUjB;AAVD,WAAkB,eAAe;IAC7B,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,uDAAK,CAAA;IACL,+DAAS,CAAA;IACT,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,uDAAK,CAAA;IACL,mFAAmB,CAAA;IACnB,uDAAK,CAAA;AACT,CAAC,EAViB,eAAe,+BAAf,eAAe,QAUhC;AAgND,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qCAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kCAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kCAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sCAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sCAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qCAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kCAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,gCAAgC,CAAC,IAAiB;IAC9D,OAAO,IAAI,CAAC,IAAI,gDAAwC,CAAC;AAC7D,CAAC;AAFD,4EAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sCAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,4BAA4B,CAAC,IAAiB;IAC1D,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,8BAAsB,CAAC,CAAC;AAC/E,CAAC;AAFD,oEAEC"}
@@ -13,7 +13,7 @@ export declare function areDeclarationsSame(decl1: Declaration, decl2: Declarati
13
13
  export declare function getNameFromDeclaration(declaration: Declaration): string | undefined;
14
14
  export declare function getNameNodeForDeclaration(declaration: Declaration): NameNode | undefined;
15
15
  export declare function isDefinedInFile(decl: Declaration, fileUri: Uri): boolean | undefined;
16
- export declare function getDeclarationsWithUsesLocalNameRemoved(decls: Declaration[]): (import("./declaration").IntrinsicDeclaration | import("./declaration").ClassDeclaration | import("./declaration").SpecialBuiltInClassDeclaration | import("./declaration").FunctionDeclaration | import("./declaration").ParameterDeclaration | import("./declaration").TypeParameterDeclaration | import("./declaration").TypeAliasDeclaration | import("./declaration").VariableDeclaration | AliasDeclaration)[];
16
+ export declare function getDeclarationsWithUsesLocalNameRemoved(decls: Declaration[]): (import("./declaration").IntrinsicDeclaration | import("./declaration").ClassDeclaration | import("./declaration").SpecialBuiltInClassDeclaration | import("./declaration").FunctionDeclaration | import("./declaration").ParamDeclaration | import("./declaration").TypeParamDeclaration | import("./declaration").TypeAliasDeclaration | import("./declaration").VariableDeclaration | AliasDeclaration)[];
17
17
  export declare function createSynthesizedAliasDeclaration(uri: Uri): AliasDeclaration;
18
18
  export interface ResolveAliasOptions {
19
19
  resolveLocalNames: boolean;
@@ -18,10 +18,10 @@ function hasTypeForDeclaration(declaration) {
18
18
  case 6 /* DeclarationType.Class */:
19
19
  case 7 /* DeclarationType.SpecialBuiltInClass */:
20
20
  case 5 /* DeclarationType.Function */:
21
- case 3 /* DeclarationType.TypeParameter */:
21
+ case 3 /* DeclarationType.TypeParam */:
22
22
  case 4 /* DeclarationType.TypeAlias */:
23
23
  return true;
24
- case 2 /* DeclarationType.Parameter */: {
24
+ case 2 /* DeclarationType.Param */: {
25
25
  if (declaration.node.d.annotation || declaration.node.d.annotationComment) {
26
26
  return true;
27
27
  }
@@ -91,10 +91,10 @@ function getNameFromDeclaration(declaration) {
91
91
  return declaration.symbolName;
92
92
  case 6 /* DeclarationType.Class */:
93
93
  case 5 /* DeclarationType.Function */:
94
- case 3 /* DeclarationType.TypeParameter */:
94
+ case 3 /* DeclarationType.TypeParam */:
95
95
  case 4 /* DeclarationType.TypeAlias */:
96
96
  return declaration.node.d.name.d.value;
97
- case 2 /* DeclarationType.Parameter */:
97
+ case 2 /* DeclarationType.Param */:
98
98
  return (_a = declaration.node.d.name) === null || _a === void 0 ? void 0 : _a.d.value;
99
99
  case 1 /* DeclarationType.Variable */:
100
100
  return declaration.node.nodeType === 38 /* ParseNodeType.Name */ ? declaration.node.d.value : undefined;
@@ -123,8 +123,8 @@ function getNameNodeForDeclaration(declaration) {
123
123
  }
124
124
  case 6 /* DeclarationType.Class */:
125
125
  case 5 /* DeclarationType.Function */:
126
- case 3 /* DeclarationType.TypeParameter */:
127
- case 2 /* DeclarationType.Parameter */:
126
+ case 3 /* DeclarationType.TypeParam */:
127
+ case 2 /* DeclarationType.Param */:
128
128
  case 4 /* DeclarationType.TypeAlias */:
129
129
  return declaration.node.d.name;
130
130
  case 1 /* DeclarationType.Variable */: