@zzzen/pyright-internal 1.2.0-dev.20230430 → 1.2.0-dev.20230514

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 (231) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +4 -1
  2. package/dist/analyzer/backgroundAnalysisProgram.js +12 -0
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/checker.d.ts +1 -0
  5. package/dist/analyzer/checker.js +89 -6
  6. package/dist/analyzer/checker.js.map +1 -1
  7. package/dist/analyzer/constraintSolver.js +14 -15
  8. package/dist/analyzer/constraintSolver.js.map +1 -1
  9. package/dist/analyzer/constructors.d.ts +6 -0
  10. package/dist/analyzer/constructors.js +513 -0
  11. package/dist/analyzer/constructors.js.map +1 -0
  12. package/dist/analyzer/dataClasses.js +86 -2
  13. package/dist/analyzer/dataClasses.js.map +1 -1
  14. package/dist/analyzer/docStringConversion.js +1 -1
  15. package/dist/analyzer/docStringConversion.js.map +1 -1
  16. package/dist/analyzer/enums.js +62 -8
  17. package/dist/analyzer/enums.js.map +1 -1
  18. package/dist/analyzer/importResolver.js +47 -29
  19. package/dist/analyzer/importResolver.js.map +1 -1
  20. package/dist/analyzer/importStatementUtils.d.ts +2 -2
  21. package/dist/analyzer/importStatementUtils.js.map +1 -1
  22. package/dist/analyzer/namedTuples.js +3 -6
  23. package/dist/analyzer/namedTuples.js.map +1 -1
  24. package/dist/analyzer/operations.d.ts +16 -0
  25. package/dist/analyzer/operations.js +749 -0
  26. package/dist/analyzer/operations.js.map +1 -0
  27. package/dist/analyzer/parseTreeUtils.d.ts +4 -2
  28. package/dist/analyzer/parseTreeUtils.js +32 -1
  29. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  30. package/dist/analyzer/patternMatching.js +16 -0
  31. package/dist/analyzer/patternMatching.js.map +1 -1
  32. package/dist/analyzer/program.d.ts +11 -33
  33. package/dist/analyzer/program.js +73 -735
  34. package/dist/analyzer/program.js.map +1 -1
  35. package/dist/analyzer/protocols.js +1 -1
  36. package/dist/analyzer/protocols.js.map +1 -1
  37. package/dist/analyzer/service.d.ts +5 -21
  38. package/dist/analyzer/service.js +26 -33
  39. package/dist/analyzer/service.js.map +1 -1
  40. package/dist/analyzer/sourceFile.d.ts +9 -41
  41. package/dist/analyzer/sourceFile.js +219 -238
  42. package/dist/analyzer/sourceFile.js.map +1 -1
  43. package/dist/analyzer/sourceFileInfoUtils.d.ts +3 -9
  44. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  45. package/dist/analyzer/symbol.d.ts +3 -1
  46. package/dist/analyzer/symbol.js +5 -0
  47. package/dist/analyzer/symbol.js.map +1 -1
  48. package/dist/analyzer/typeEvaluator.js +460 -1425
  49. package/dist/analyzer/typeEvaluator.js.map +1 -1
  50. package/dist/analyzer/typeEvaluatorTypes.d.ts +42 -7
  51. package/dist/analyzer/typeEvaluatorTypes.js +33 -1
  52. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  53. package/dist/analyzer/typeGuards.js +2 -8
  54. package/dist/analyzer/typeGuards.js.map +1 -1
  55. package/dist/analyzer/typePrinter.d.ts +3 -3
  56. package/dist/analyzer/typePrinter.js +247 -100
  57. package/dist/analyzer/typePrinter.js.map +1 -1
  58. package/dist/analyzer/typeUtils.d.ts +14 -7
  59. package/dist/analyzer/typeUtils.js +204 -49
  60. package/dist/analyzer/typeUtils.js.map +1 -1
  61. package/dist/analyzer/typeVarContext.d.ts +6 -7
  62. package/dist/analyzer/typeVarContext.js +21 -32
  63. package/dist/analyzer/typeVarContext.js.map +1 -1
  64. package/dist/analyzer/typedDicts.js +2 -2
  65. package/dist/analyzer/typedDicts.js.map +1 -1
  66. package/dist/analyzer/types.d.ts +7 -4
  67. package/dist/analyzer/types.js +20 -10
  68. package/dist/analyzer/types.js.map +1 -1
  69. package/dist/backgroundAnalysisBase.d.ts +1 -1
  70. package/dist/backgroundAnalysisBase.js +16 -0
  71. package/dist/backgroundAnalysisBase.js.map +1 -1
  72. package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
  73. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  74. package/dist/common/extensibility.d.ts +28 -4
  75. package/dist/common/extensibility.js.map +1 -1
  76. package/dist/common/logTracker.d.ts +2 -0
  77. package/dist/common/logTracker.js +8 -1
  78. package/dist/common/logTracker.js.map +1 -1
  79. package/dist/common/lspUtils.d.ts +4 -1
  80. package/dist/common/lspUtils.js +38 -1
  81. package/dist/common/lspUtils.js.map +1 -1
  82. package/dist/common/pathUtils.d.ts +11 -11
  83. package/dist/common/pathUtils.js.map +1 -1
  84. package/dist/common/pythonVersion.d.ts +2 -1
  85. package/dist/common/pythonVersion.js +1 -0
  86. package/dist/common/pythonVersion.js.map +1 -1
  87. package/dist/common/workspaceEditUtils.d.ts +8 -8
  88. package/dist/common/workspaceEditUtils.js +10 -10
  89. package/dist/common/workspaceEditUtils.js.map +1 -1
  90. package/dist/languageServerBase.d.ts +3 -7
  91. package/dist/languageServerBase.js +41 -73
  92. package/dist/languageServerBase.js.map +1 -1
  93. package/dist/languageService/autoImporter.d.ts +50 -51
  94. package/dist/languageService/autoImporter.js +125 -210
  95. package/dist/languageService/autoImporter.js.map +1 -1
  96. package/dist/languageService/callHierarchyProvider.d.ts +1 -1
  97. package/dist/languageService/callHierarchyProvider.js +11 -37
  98. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  99. package/dist/languageService/completionProvider.d.ts +39 -81
  100. package/dist/languageService/completionProvider.js +572 -801
  101. package/dist/languageService/completionProvider.js.map +1 -1
  102. package/dist/languageService/documentHighlightProvider.js +1 -1
  103. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  104. package/dist/languageService/documentSymbolCollector.d.ts +6 -7
  105. package/dist/languageService/documentSymbolCollector.js +47 -28
  106. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  107. package/dist/languageService/documentSymbolProvider.d.ts +13 -35
  108. package/dist/languageService/documentSymbolProvider.js +52 -264
  109. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  110. package/dist/languageService/hoverProvider.d.ts +5 -6
  111. package/dist/languageService/hoverProvider.js +40 -132
  112. package/dist/languageService/hoverProvider.js.map +1 -1
  113. package/dist/languageService/referencesProvider.d.ts +6 -11
  114. package/dist/languageService/referencesProvider.js +23 -17
  115. package/dist/languageService/referencesProvider.js.map +1 -1
  116. package/dist/languageService/renameProvider.d.ts +16 -0
  117. package/dist/languageService/renameProvider.js +139 -0
  118. package/dist/languageService/renameProvider.js.map +1 -0
  119. package/dist/languageService/symbolIndexer.d.ts +31 -0
  120. package/dist/languageService/symbolIndexer.js +105 -0
  121. package/dist/languageService/symbolIndexer.js.map +1 -0
  122. package/dist/languageService/tooltipUtils.d.ts +8 -1
  123. package/dist/languageService/tooltipUtils.js +102 -1
  124. package/dist/languageService/tooltipUtils.js.map +1 -1
  125. package/dist/languageService/workspaceSymbolProvider.d.ts +17 -0
  126. package/dist/languageService/workspaceSymbolProvider.js +133 -0
  127. package/dist/languageService/workspaceSymbolProvider.js.map +1 -0
  128. package/dist/localization/localize.d.ts +33 -15
  129. package/dist/localization/localize.js +13 -7
  130. package/dist/localization/localize.js.map +1 -1
  131. package/dist/localization/package.nls.en-us.json +14 -7
  132. package/dist/parser/parser.js +3 -0
  133. package/dist/parser/parser.js.map +1 -1
  134. package/dist/pyright.js +26 -4
  135. package/dist/pyright.js.map +1 -1
  136. package/dist/tests/chainedSourceFiles.test.js +15 -20
  137. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  138. package/dist/tests/checker.test.js +14 -0
  139. package/dist/tests/checker.test.js.map +1 -1
  140. package/dist/tests/completions.test.js +11 -236
  141. package/dist/tests/completions.test.js.map +1 -1
  142. package/dist/tests/docStringConversion.test.js +36 -2
  143. package/dist/tests/docStringConversion.test.js.map +1 -1
  144. package/dist/tests/documentSymbolCollector.test.js +3 -3
  145. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  146. package/dist/tests/fourslash/completions.override2.fourslash.js +1 -16
  147. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  148. package/dist/tests/fourslash/fourslash.d.ts +4 -4
  149. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js +1 -1
  150. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
  151. package/dist/tests/harness/fourslash/testState.d.ts +17 -11
  152. package/dist/tests/harness/fourslash/testState.js +39 -50
  153. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  154. package/dist/tests/importResolver.test.js +81 -1
  155. package/dist/tests/importResolver.test.js.map +1 -1
  156. package/dist/tests/sourceFile.test.js +1 -1
  157. package/dist/tests/sourceFile.test.js.map +1 -1
  158. package/dist/tests/testStateUtils.d.ts +2 -2
  159. package/dist/tests/testStateUtils.js +38 -8
  160. package/dist/tests/testStateUtils.js.map +1 -1
  161. package/dist/tests/typeEvaluator2.test.js +13 -1
  162. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  163. package/dist/tests/typeEvaluator3.test.js +5 -1
  164. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  165. package/dist/tests/typeEvaluator4.test.js +9 -1
  166. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  167. package/dist/tests/typeEvaluator5.test.js +25 -9
  168. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  169. package/dist/tests/workspaceEditUtils.test.js +95 -6
  170. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  171. package/package.json +4 -4
  172. package/dist/languageService/importAdder.d.ts +0 -40
  173. package/dist/languageService/importAdder.js +0 -388
  174. package/dist/languageService/importAdder.js.map +0 -1
  175. package/dist/languageService/indentationUtils.d.ts +0 -16
  176. package/dist/languageService/indentationUtils.js +0 -727
  177. package/dist/languageService/indentationUtils.js.map +0 -1
  178. package/dist/languageService/insertionPointUtils.d.ts +0 -9
  179. package/dist/languageService/insertionPointUtils.js +0 -132
  180. package/dist/languageService/insertionPointUtils.js.map +0 -1
  181. package/dist/languageService/renameModuleProvider.d.ts +0 -65
  182. package/dist/languageService/renameModuleProvider.js +0 -939
  183. package/dist/languageService/renameModuleProvider.js.map +0 -1
  184. package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +0 -1
  185. package/dist/tests/fourslash/completions.commitChars.fourslash.js +0 -81
  186. package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +0 -1
  187. package/dist/tests/importAdder.test.d.ts +0 -1
  188. package/dist/tests/importAdder.test.js +0 -1325
  189. package/dist/tests/importAdder.test.js.map +0 -1
  190. package/dist/tests/indentationUtils.ptvs.test.d.ts +0 -1
  191. package/dist/tests/indentationUtils.ptvs.test.js +0 -324
  192. package/dist/tests/indentationUtils.ptvs.test.js.map +0 -1
  193. package/dist/tests/indentationUtils.reindent.test.d.ts +0 -1
  194. package/dist/tests/indentationUtils.reindent.test.js +0 -372
  195. package/dist/tests/indentationUtils.reindent.test.js.map +0 -1
  196. package/dist/tests/indentationUtils.test.d.ts +0 -1
  197. package/dist/tests/indentationUtils.test.js +0 -502
  198. package/dist/tests/indentationUtils.test.js.map +0 -1
  199. package/dist/tests/insertionPointUtils.test.d.ts +0 -1
  200. package/dist/tests/insertionPointUtils.test.js +0 -154
  201. package/dist/tests/insertionPointUtils.test.js.map +0 -1
  202. package/dist/tests/moveSymbol.importAdder.test.d.ts +0 -1
  203. package/dist/tests/moveSymbol.importAdder.test.js +0 -298
  204. package/dist/tests/moveSymbol.importAdder.test.js.map +0 -1
  205. package/dist/tests/moveSymbol.insertion.test.d.ts +0 -1
  206. package/dist/tests/moveSymbol.insertion.test.js +0 -537
  207. package/dist/tests/moveSymbol.insertion.test.js.map +0 -1
  208. package/dist/tests/moveSymbol.misc.test.d.ts +0 -1
  209. package/dist/tests/moveSymbol.misc.test.js +0 -169
  210. package/dist/tests/moveSymbol.misc.test.js.map +0 -1
  211. package/dist/tests/moveSymbol.updateReference.test.d.ts +0 -1
  212. package/dist/tests/moveSymbol.updateReference.test.js +0 -1071
  213. package/dist/tests/moveSymbol.updateReference.test.js.map +0 -1
  214. package/dist/tests/renameModule.folder.test.d.ts +0 -1
  215. package/dist/tests/renameModule.folder.test.js +0 -229
  216. package/dist/tests/renameModule.folder.test.js.map +0 -1
  217. package/dist/tests/renameModule.fromImports.test.d.ts +0 -1
  218. package/dist/tests/renameModule.fromImports.test.js +0 -790
  219. package/dist/tests/renameModule.fromImports.test.js.map +0 -1
  220. package/dist/tests/renameModule.imports.test.d.ts +0 -1
  221. package/dist/tests/renameModule.imports.test.js +0 -380
  222. package/dist/tests/renameModule.imports.test.js.map +0 -1
  223. package/dist/tests/renameModule.misc.test.d.ts +0 -1
  224. package/dist/tests/renameModule.misc.test.js +0 -615
  225. package/dist/tests/renameModule.misc.test.js.map +0 -1
  226. package/dist/tests/renameModule.relativePath.test.d.ts +0 -1
  227. package/dist/tests/renameModule.relativePath.test.js +0 -231
  228. package/dist/tests/renameModule.relativePath.test.js.map +0 -1
  229. package/dist/tests/renameModuleTestUtils.d.ts +0 -4
  230. package/dist/tests/renameModuleTestUtils.js +0 -76
  231. package/dist/tests/renameModuleTestUtils.js.map +0 -1
@@ -30,9 +30,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.applyDataClassDecorator = exports.applyDataClassDefaultBehaviors = exports.applyDataClassClassBehaviorOverrides = exports.getDataclassDecoratorBehaviors = exports.validateDataClassTransformDecorator = exports.synthesizeDataClassMethods = void 0;
32
32
  const debug_1 = require("../common/debug");
33
+ const diagnostic_1 = require("../common/diagnostic");
33
34
  const diagnosticRules_1 = require("../common/diagnosticRules");
34
35
  const localize_1 = require("../localization/localize");
35
36
  const AnalyzerNodeInfo = __importStar(require("./analyzerNodeInfo"));
37
+ const constructors_1 = require("./constructors");
36
38
  const namedTuples_1 = require("./namedTuples");
37
39
  const parseTreeUtils_1 = require("./parseTreeUtils");
38
40
  const staticExpressions_1 = require("./staticExpressions");
@@ -118,6 +120,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
118
120
  let isKeywordOnly = types_1.ClassType.isDataClassKeywordOnlyParams(classType) || sawKeywordOnlySeparator;
119
121
  let defaultValueExpression;
120
122
  let includeInInit = true;
123
+ let converter;
121
124
  if (statement.nodeType === 3 /* Assignment */) {
122
125
  if (statement.leftExpression.nodeType === 54 /* TypeAnnotation */ &&
123
126
  statement.leftExpression.valueExpression.nodeType === 38 /* Name */) {
@@ -209,6 +212,10 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
209
212
  aliasName = valueType.literalValue;
210
213
  }
211
214
  }
215
+ const converterArg = statement.rightExpression.arguments.find((arg) => { var _a; return ((_a = arg.name) === null || _a === void 0 ? void 0 : _a.value) === 'converter'; });
216
+ if (converterArg && converterArg.valueExpression) {
217
+ converter = converterArg;
218
+ }
212
219
  }
213
220
  }
214
221
  }
@@ -258,6 +265,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
258
265
  nameNode: variableNameNode,
259
266
  type: types_1.UnknownType.create(),
260
267
  isClassVar: true,
268
+ converter,
261
269
  };
262
270
  localDataClassEntries.push(dataClassEntry);
263
271
  }
@@ -276,6 +284,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
276
284
  nameNode: variableNameNode,
277
285
  type: types_1.UnknownType.create(),
278
286
  isClassVar: false,
287
+ converter,
279
288
  };
280
289
  localEntryTypeEvaluator.push({ entry: dataClassEntry, evaluator: variableTypeEvaluator });
281
290
  // Add the new entry to the local entry list.
@@ -367,6 +376,9 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
367
376
  // Is the field type a descriptor object? If so, we need to extract the corresponding
368
377
  // type of the __init__ method parameter from the __set__ method.
369
378
  effectiveType = transformDescriptorType(evaluator, effectiveType);
379
+ if (entry.converter) {
380
+ effectiveType = getConverterInputType(evaluator, entry.converter, effectiveType, entry.name);
381
+ }
370
382
  const effectiveName = entry.alias || entry.name;
371
383
  if (!entry.alias && entry.nameNode && (0, symbolNameUtils_1.isPrivateName)(entry.nameNode.value)) {
372
384
  evaluator.addError(localize_1.Localizer.Diagnostic.dataClassFieldWithPrivateName(), entry.nameNode);
@@ -460,10 +472,10 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
460
472
  const hashMethod = types_1.FunctionType.createSynthesizedInstance('__hash__');
461
473
  types_1.FunctionType.addParameter(hashMethod, selfParam);
462
474
  hashMethod.details.declaredReturnType = evaluator.getBuiltInObject(node, 'int');
463
- symbolTable.set('__hash__', symbol_1.Symbol.createWithType(4 /* ClassMember */, hashMethod));
475
+ symbolTable.set('__hash__', symbol_1.Symbol.createWithType(4 /* ClassMember */ | 4096 /* IgnoredForOverrideChecks */, hashMethod));
464
476
  }
465
477
  else if (synthesizeHashNone && !skipSynthesizeHash) {
466
- symbolTable.set('__hash__', symbol_1.Symbol.createWithType(4 /* ClassMember */, types_1.NoneType.createInstance()));
478
+ symbolTable.set('__hash__', symbol_1.Symbol.createWithType(4 /* ClassMember */ | 4096 /* IgnoredForOverrideChecks */, types_1.NoneType.createInstance()));
467
479
  }
468
480
  let dictType = evaluator.getBuiltInType(node, 'dict');
469
481
  if ((0, types_1.isInstantiableClass)(dictType)) {
@@ -492,6 +504,78 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
492
504
  }
493
505
  }
494
506
  exports.synthesizeDataClassMethods = synthesizeDataClassMethods;
507
+ // Validates converter and, if valid, returns its input type. If invalid,
508
+ // fieldType is returned.
509
+ function getConverterInputType(evaluator, converterNode, fieldType, fieldName) {
510
+ var _a;
511
+ const converterType = getConverterAsFunction(evaluator, evaluator.getTypeOfExpression(converterNode.valueExpression).type);
512
+ if (!converterType) {
513
+ return fieldType;
514
+ }
515
+ // Create synthesized function of the form Callable[[T], fieldType] which
516
+ // will be used to check compatibility of the provided converter.
517
+ const typeVar = types_1.TypeVarType.createInstance('__converterInput');
518
+ typeVar.scopeId = (0, parseTreeUtils_1.getScopeIdForNode)(converterNode);
519
+ const targetFunction = types_1.FunctionType.createSynthesizedInstance('');
520
+ targetFunction.details.typeVarScopeId = typeVar.scopeId;
521
+ targetFunction.details.declaredReturnType = fieldType;
522
+ types_1.FunctionType.addParameter(targetFunction, {
523
+ category: 0 /* Simple */,
524
+ name: '__input',
525
+ type: typeVar,
526
+ hasDeclaredType: true,
527
+ });
528
+ types_1.FunctionType.addParameter(targetFunction, {
529
+ category: 0 /* Simple */,
530
+ name: '',
531
+ type: types_1.UnknownType.create(),
532
+ });
533
+ if ((0, types_1.isFunction)(converterType)) {
534
+ const typeVarContext = new typeVarContext_1.TypeVarContext(typeVar.scopeId);
535
+ const diagAddendum = new diagnostic_1.DiagnosticAddendum();
536
+ if (evaluator.assignType(targetFunction, converterType, diagAddendum, typeVarContext)) {
537
+ const solution = (0, typeUtils_1.applySolvedTypeVars)(typeVar, typeVarContext, { unknownIfNotFound: true });
538
+ return solution;
539
+ }
540
+ evaluator.addDiagnostic(AnalyzerNodeInfo.getFileInfo(converterNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.dataClassConverterFunction().format({
541
+ argType: evaluator.printType(converterType),
542
+ fieldType: evaluator.printType(fieldType),
543
+ fieldName: fieldName,
544
+ }) + diagAddendum.getString(), converterNode, (_a = diagAddendum.getEffectiveTextRange()) !== null && _a !== void 0 ? _a : converterNode);
545
+ }
546
+ else {
547
+ const acceptedTypes = [];
548
+ const diagAddendum = new diagnostic_1.DiagnosticAddendum();
549
+ types_1.OverloadedFunctionType.getOverloads(converterType).forEach((overload) => {
550
+ const typeVarContext = new typeVarContext_1.TypeVarContext(typeVar.scopeId);
551
+ if (evaluator.assignType(targetFunction, overload, diagAddendum, typeVarContext)) {
552
+ const overloadSolution = (0, typeUtils_1.applySolvedTypeVars)(typeVar, typeVarContext, { unknownIfNotFound: true });
553
+ acceptedTypes.push(overloadSolution);
554
+ }
555
+ });
556
+ if (acceptedTypes.length > 0) {
557
+ return (0, types_1.combineTypes)(acceptedTypes);
558
+ }
559
+ evaluator.addDiagnostic(AnalyzerNodeInfo.getFileInfo(converterNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.dataClassConverterOverloads().format({
560
+ funcName: converterType.overloads[0].details.name || '<anonymous function>',
561
+ fieldType: evaluator.printType(fieldType),
562
+ fieldName: fieldName,
563
+ }) + diagAddendum.getString(), converterNode);
564
+ }
565
+ return fieldType;
566
+ }
567
+ function getConverterAsFunction(evaluator, converterType) {
568
+ if ((0, types_1.isFunction)(converterType) || (0, types_1.isOverloadedFunction)(converterType)) {
569
+ return converterType;
570
+ }
571
+ if ((0, types_1.isClassInstance)(converterType)) {
572
+ return evaluator.getBoundMethod(converterType, '__call__');
573
+ }
574
+ if ((0, types_1.isInstantiableClass)(converterType)) {
575
+ return (0, constructors_1.createFunctionFromConstructor)(evaluator, converterType);
576
+ }
577
+ return undefined;
578
+ }
495
579
  // If the specified type is a descriptor — in particular, if it implements a
496
580
  // __set__ method, this method transforms the type into the input parameter
497
581
  // for the set method.
@@ -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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"}
@@ -467,7 +467,7 @@ class DocStringConverter {
467
467
  return true;
468
468
  }
469
469
  // catch-all for styles except reST
470
- const hasArguments = !(line === null || line === void 0 ? void 0 : line.endsWith(':')) && !(line === null || line === void 0 ? void 0 : line.endsWith('::')) && !!line.match(/^\s*.*?\w+\s*:\s*\w+/g);
470
+ const hasArguments = !(line === null || line === void 0 ? void 0 : line.endsWith(':')) && !(line === null || line === void 0 ? void 0 : line.endsWith('::')) && !!line.match(/^\s*.*?\w+(\s*\(\w+\))*\s*:\s*\w+/g);
471
471
  // reSt params. Attempt to put directives lines into their own paragraphs.
472
472
  const restDirective = DirectivesExtraNewlineRegExp.test(line); //line.match(/^\s*:param/);
473
473
  if (hasArguments || restDirective) {
@@ -1 +1 @@
1
- {"version":3,"file":"docStringConversion.js","sourceRoot":"","sources":["../../../src/analyzer/docStringConversion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docStringConversion.js","sourceRoot":"","sources":["../../../src/analyzer/docStringConversion.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,qDAA0D;AAE1D,2CAA2C;AAC3C,EAAE;AACF,0EAA0E;AAC1E,8CAA8C;AAC9C,EAAE;AACF,6BAA6B;AAC7B,8HAA8H;AAC9H,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,aAAa;AACb,SAAgB,0BAA0B,CAAC,SAAiB;IACxD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;AACvD,CAAC;AAFD,gEAEC;AAED,uEAAuE;AACvE,qEAAqE;AACrE,iDAAiD;AACjD,SAAgB,2BAA2B,CAAC,SAAiB;IACzD,MAAM,KAAK,GAAG,IAAA,uCAAsB,EAAC,SAAS,CAAC,CAAC;IAChD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE;YAClE,SAAS;SACZ;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACrB;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACvC,CAAC;AAdD,kEAcC;AAOD,oCAAoC;AACpC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AACtC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AACxC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,yBAAyB,GAAG,YAAY,CAAC;AAC/C,MAAM,uBAAuB,GAAG,eAAe,CAAC;AAChD,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAC/C,MAAM,iBAAiB,GAAG,WAAW,CAAC;AACtC,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AACzD,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,MAAM,4BAA4B,GAAG,iFAAiF,CAAC;AACvH,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,CAAC,wEAAwE;AAC7H,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAE9C,MAAM,gBAAgB,GAAwB;IAC1C,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,EAAE;IAC5C,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,EAAE;IAC5C,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,EAAE;IAC5C,EAAE,GAAG,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE;CACjD,CAAC;AAEF,sCAAsC;AACtC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,UAAU,GAAG,KAAK,CAAC;AACzB,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AAC1D,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAC5C,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAErC,MAAM,WAAW,GAAwB;IACrC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;IAClC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;CACrC,CAAC;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,oFAAoF;AACpF,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAC1C,MAAM,wBAAwB,GAAwB;IAClD,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IACnC,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE;IAC1C,sFAAsF;IACtF,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,EAAE;IAC5C,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,EAAE;CAC/C,CAAC;AAWF,MAAM,kBAAkB;IAiBpB,YAAY,KAAa;QAhBjB,aAAQ,GAAG,EAAE,CAAC;QACd,yBAAoB,GAAG,IAAI,CAAC;QAC5B,sBAAiB,GAAG,KAAK,CAAC;QAC1B,0BAAqB,GAAG,KAAK,CAAC;QAG9B,gBAAW,GAAY,EAAE,CAAC;QAI1B,aAAQ,GAAG,CAAC,CAAC;QAEb,iBAAY,GAAG,CAAC,CAAC;QAKrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAA,uCAAsB,EAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,OAAO;QACH,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE;YACV,wBAAwB;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC;SAC3E;QAED,OAAO,IAAI,CAAC,uBAAuB,EAAE,KAAK,SAAS,EAAE;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;YAEjC,IAAI,CAAC,MAAM,EAAE,CAAC;YAEd,0EAA0E;YAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE;gBACxD,MAAM;aACT;SACJ;QAED,yCAAyC;QACzC,IACI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,mBAAmB;YACxC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa;YAClC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,kBAAkB,EACzC;YACE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;SACxC;aAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC/B,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;SAC5D;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAEO,QAAQ;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEO,uBAAuB;QAC3B,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,CAAC;IAEO,YAAY;QAChB,OAAO,IAAI,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAEO,cAAc;QAClB,OAAO,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,WAAW;;QACf,OAAO,mBAAmB,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAEO,OAAO,CAAC,CAAS;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAEO,gBAAgB;QACpB,OAAO,mBAAmB,CACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CACvF,CAAC;IACN,CAAC;IAEO,0BAA0B;QAC9B,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;IACrD,CAAC;IAEO,uBAAuB;QAC3B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAEO,gBAAgB,CAAC,IAAW;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;YACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAClC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;YACjC,8CAA8C;YAC9C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAClC;IACL,CAAC;IAEO,UAAU;QACd,IAAI,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,EAAE;YAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,OAAO;SACV;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE;YAC5B,OAAO;SACV;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC3B,OAAO;SACV;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACtB,OAAO;SACV;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YACxB,OAAO;SACV;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACnB,OAAO;SACV;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YACxB,OAAO;SACV;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YACzB,OAAO;SACV;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEO,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEzC,IACI,UAAU,GAAG,UAAU;YACvB,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAC/B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC1C,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,CAAC,SAAS,CAAC,IAAI,CAAC,EAClB;YACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;SAClE;QAED,IACI,UAAU,GAAG,UAAU;YACvB,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAC/B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC1C,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EACjC;YACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;SAClE;QAED,IAAI,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACjG,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACpC;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,IAAY;QAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,IAAY;QAC5B,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,IAAY;QAChC,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aACrB;YAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnB,SAAS;aACZ;YAED,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9B,IAAI,CAAC,KAAK,CAAC,EAAE;gBACT,6DAA6D;gBAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACpB,4DAA4D;oBAC5D,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE;wBAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;4BAClE,MAAM;yBACT;qBACJ;oBAED,gFAAgF;oBAChF,0DAA0D;oBAC1D,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC7C,SAAS;qBACZ;oBAED,2BAA2B;oBAC3B,iFAAiF;oBACjF,6DAA6D;oBAC7D,8EAA8E;oBAC9E,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC5C,SAAS;qBACZ;iBACJ;gBAED,sDAAsD;gBACtD,EAAE;gBACF,2DAA2D;gBAC3D,8DAA8D;gBAC9D,0CAA0C;gBAC1C,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;YAED,mEAAmE;YACnE,6DAA6D;YAC7D,kEAAkE;YAElE,0FAA0F;YAC1F,2CAA2C;YAC3C,6FAA6F;YAC7F,2CAA2C;YAE3C,4CAA4C;YAE5C,mEAAmE;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtB,qBAAqB;gBACrB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBACtB;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC,CAAC;iBACpE;YACL,CAAC,CAAC,CAAC;SACN;QAED,+DAA+D;QAC/D,+DAA+D;QAC/D,iEAAiE;QACjE,gCAAgC;QAChC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC1B,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACpC,oFAAoF;QACpF,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpC,OAAO,EAAE,CAAC;SACb;QAED,wBAAwB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAE9F,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,WAAW;QACf,IAAI,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,EAAE;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;SACV;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAClC,CAAC;IAEO,wBAAwB,CAAC,KAAY;QACzC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9C,CAAC;IAEO,mBAAmB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC9D,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAE1C,gDAAgD;YAChD,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,mBAAmB;QACvB,0DAA0D;QAC1D,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE;YAC7F,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE;YAC1C,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,aAAa;QACjB,IAAI,IAAI,CAAC,0BAA0B,EAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE;YACpF,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;SACV;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEO,kBAAkB;QACtB,mCAAmC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,OAAO,KAAK,CAAC;SAChB;aAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;YACxC,OAAO,KAAK,CAAC;SAChB;QAED,6DAA6D;QAC7D,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE;gBAChC,SAAS;aACZ;YAED,kFAAkF;YAClF,IAAI,IAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM;aACT;YAED,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,GAAG,CAAC,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE;YAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kBAAkB;QACtB,2FAA2F;QAC3F,IAAI,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,EAAE;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;SACV;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,0BAA0B,EAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE;YACrE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;SACV;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEO,4BAA4B;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEO,eAAe;QACnB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE;YAC9C,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iFAAiF;IACjF,gFAAgF;IAChF,kBAAkB;IAClB,EAAE;IACF,cAAc;IACd,kCAAkC;IAClC,WAAW;IACX,kCAAkC;IAClC,yBAAyB;IACzB,aAAa;IACb,+BAA+B;IAC/B,yBAAyB;IACzB,aAAa;IACb,sCAAsC;IAC9B,eAAe;QACnB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE/B,iBAAiB;QACjB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;SACf;QAED,mCAAmC;QACnC,MAAM,YAAY,GACd,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,GAAG,CAAC,CAAA,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAExG,0EAA0E;QAC1E,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;QAE1F,IAAI,YAAY,IAAI,aAAa,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC7C,gFAAgF;YAChF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACnG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;aAClE;YAED,0BAA0B;YAC1B,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,gBAAgB;QACpB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEjC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,WAAW,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,8DAA8D;IAC9D,EAAE;IACF,WAAW;IACX,4BAA4B;IAC5B,2BAA2B;IAC3B,4BAA4B;IAC5B,qBAAqB;IACrB,oBAAoB;IACpB,4BAA4B;IAC5B,EAAE;IACF,eAAe;IACf,mCAAmC;IACnC,mCAAmC;IACnC,mCAAmC;IACnC,mCAAmC;IAC3B,gBAAgB;QACpB,IAAI,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC/E,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;SACV;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE/B,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,OAAO;SACV;aAAM;YACH,IAAI,aAAa,GAAG,GAAG,CAAC;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,aAAa,GAAa,EAAE,CAAC;YAEnC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC3B,GAAG;oBACC,qDAAqD;oBACrD,kEAAkE;oBAClE,qFAAqF;oBACrF,kDAAkD;oBAClD,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;wBAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;wBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC;wBAEvD,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;4BAChC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC;yBACtC;6BAAM;4BACH,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,SAAS,GAAG,CAAC,CAAC;yBACnE;wBACD,QAAQ,IAAI,GAAG,CAAC;qBACnB;oBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;iBAC9B,QACG,CAAC,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBACzD,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/B;gBAEF,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAElC,gBAAgB;gBAChB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACxB,aAAa,IAAI,GAAG,CAAC,GAAG,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAEhC,qBAAqB;gBACrB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3E,IAAI,CAAC,WAAW,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;iBAAM;gBACH,qBAAqB;gBACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC;oBACvD,aAAa,IAAI,GAAG,SAAS,GAAG,CAAC;oBAEjC,QAAQ,IAAI,GAAG,CAAC;gBACpB,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;SACJ;IACL,CAAC;IAEO,UAAU;QACd,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,CAAC,EAAE;YACzB,sEAAsE;YACtE,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1B,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;aAChE;YAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEhB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC;SACf;QAED,MAAM,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,MAAK,CAAC,EAAE;YAC7B,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;aAC5B;iBAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBACrC,sEAAsE;gBACtE,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;aACpE;YAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC;SACf;QAED,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,MAAK,CAAC,EAAE;YACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,UAAU;QACd,IAAI,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,IAAI,CAAC,0BAA0B,EAAE,EAAE;YAC/F,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;SACV;QAED,yCAAyC;QACzC,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAE3C,6EAA6E;QAC7E,IAAI,eAAe,EAAE;YACjB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;SACnB;IACL,CAAC;IAEO,eAAe;QACnB,gFAAgF;QAEhF,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE3B,IAAI,aAAa,KAAK,OAAO,EAAE;gBAC3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;QAED,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;YACzB,8CAA8C;YAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC;SAC3C;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,IAAI,CAAC,0BAA0B,EAAE,EAAE;YAChG,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;SACV;QAED,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC5B,mEAAmE;YACnE,wEAAwE;YACxE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEO,WAAW,CAAC,IAAa;QAC7B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACrC;aAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;YACtB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SACpC;IACL,CAAC;IAEO,OAAO,CAAC,IAAY;QACxB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QACtB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACtC,CAAC;IAEO,wBAAwB,CAAC,IAAY,EAAE,SAAS,GAAG,KAAK;QAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,IAAI,CAAC,SAAS,EAAE;YACZ,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACJ;AAED,SAAS,mBAAmB,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,wBAAwB,CAAC,CAAqB;IACnD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,SAAS,CAAC,IAAwB;;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAClF,CAAC"}
@@ -9,12 +9,14 @@
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.getEnumAutoValueType = exports.getTypeOfEnumMember = exports.isDeclInEnumClass = exports.transformTypeForPossibleEnumClass = exports.createEnumType = exports.isKnownEnumType = void 0;
12
+ const debug_1 = require("../common/debug");
12
13
  const analyzerNodeInfo_1 = require("./analyzerNodeInfo");
13
14
  const parseTreeUtils_1 = require("./parseTreeUtils");
14
15
  const symbol_1 = require("./symbol");
15
16
  const symbolNameUtils_1 = require("./symbolNameUtils");
16
- const types_1 = require("./types");
17
+ const typeGuards_1 = require("./typeGuards");
17
18
  const typeUtils_1 = require("./typeUtils");
19
+ const types_1 = require("./types");
18
20
  function isKnownEnumType(className) {
19
21
  const knownEnumTypes = ['Enum', 'IntEnum', 'StrEnum', 'Flag', 'IntFlag'];
20
22
  return knownEnumTypes.some((c) => c === className);
@@ -192,7 +194,21 @@ function transformTypeForPossibleEnumClass(evaluator, node, getValueType) {
192
194
  if (node.value === 'name' || node.value === 'value') {
193
195
  isMemberOfEnumeration = false;
194
196
  }
195
- const valueType = getValueType();
197
+ let valueType;
198
+ // If the class includes a __new__ method, we cannot assume that
199
+ // the value of each enum element is simply the value assigned to it.
200
+ // The __new__ method can transform the value in ways that we cannot
201
+ // determine statically.
202
+ const newMember = (0, typeUtils_1.lookUpClassMember)(enumClassInfo.classType, '__new__', 2 /* SkipBaseClasses */);
203
+ if (newMember) {
204
+ // We may want to change this to UnknownType in the future, but
205
+ // for now, we'll leave it as Any which is consistent with the
206
+ // type specified in the Enum class definition in enum.pyi.
207
+ valueType = types_1.AnyType.create();
208
+ }
209
+ else {
210
+ valueType = getValueType();
211
+ }
196
212
  // The spec excludes descriptors.
197
213
  if ((0, types_1.isClassInstance)(valueType) && valueType.details.fields.get('__get__')) {
198
214
  isMemberOfEnumeration = false;
@@ -222,20 +238,58 @@ function getTypeOfEnumMember(evaluator, errorNode, classType, memberName, isInco
222
238
  return undefined;
223
239
  }
224
240
  const literalValue = classType.literalValue;
225
- if (!(literalValue instanceof types_1.EnumLiteral)) {
226
- return undefined;
227
- }
228
241
  if (memberName === 'name' || memberName === '_name_') {
229
242
  const strClass = evaluator.getBuiltInType(errorNode, 'str');
230
- if ((0, types_1.isInstantiableClass)(strClass)) {
243
+ if (!(0, types_1.isInstantiableClass)(strClass)) {
244
+ return undefined;
245
+ }
246
+ const makeNameType = (value) => {
247
+ return types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneWithLiteral(strClass, value.itemName));
248
+ };
249
+ if (literalValue) {
250
+ (0, debug_1.assert)(literalValue instanceof types_1.EnumLiteral);
251
+ return { type: makeNameType(literalValue), isIncomplete };
252
+ }
253
+ // The type wasn't associated with a particular enum literal, so return
254
+ // a union of all possible enum literals.
255
+ const literalValues = (0, typeGuards_1.enumerateLiteralsForType)(evaluator, classType);
256
+ if (literalValues) {
231
257
  return {
232
- type: types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneWithLiteral(strClass, literalValue.itemName)),
258
+ type: (0, types_1.combineTypes)(literalValues.map((literalClass) => {
259
+ const literalValue = literalClass.literalValue;
260
+ (0, debug_1.assert)(literalValue instanceof types_1.EnumLiteral);
261
+ return makeNameType(literalValue);
262
+ })),
233
263
  isIncomplete,
234
264
  };
235
265
  }
236
266
  }
237
267
  if (memberName === 'value' || memberName === '_value_') {
238
- return { type: literalValue.itemType, isIncomplete };
268
+ // If the enum class has a custom metaclass, it may implement some
269
+ // "magic" that computes different values for the "value" attribute.
270
+ // This occurs, for example, in the django TextChoices class. If we
271
+ // detect a custom metaclass, we'll assume the value is Any.
272
+ const metaclass = classType.details.effectiveMetaclass;
273
+ if (metaclass && (0, types_1.isClass)(metaclass) && !types_1.ClassType.isBuiltIn(metaclass)) {
274
+ return { type: types_1.AnyType.create(), isIncomplete };
275
+ }
276
+ if (literalValue) {
277
+ (0, debug_1.assert)(literalValue instanceof types_1.EnumLiteral);
278
+ return { type: literalValue.itemType, isIncomplete };
279
+ }
280
+ // The type wasn't associated with a particular enum literal, so return
281
+ // a union of all possible enum literals.
282
+ const literalValues = (0, typeGuards_1.enumerateLiteralsForType)(evaluator, classType);
283
+ if (literalValues) {
284
+ return {
285
+ type: (0, types_1.combineTypes)(literalValues.map((literalClass) => {
286
+ const literalValue = literalClass.literalValue;
287
+ (0, debug_1.assert)(literalValue instanceof types_1.EnumLiteral);
288
+ return literalValue.itemType;
289
+ })),
290
+ isIncomplete,
291
+ };
292
+ }
239
293
  }
240
294
  return undefined;
241
295
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/analyzer/enums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/analyzer/enums.ts"],"names":[],"mappings":"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"}