@zzzen/pyright-internal 1.2.0-dev.20240107 → 1.2.0-dev.20240121

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 (245) hide show
  1. package/dist/analyzer/binder.d.ts +1 -3
  2. package/dist/analyzer/binder.js +27 -37
  3. package/dist/analyzer/binder.js.map +1 -1
  4. package/dist/analyzer/checker.d.ts +2 -2
  5. package/dist/analyzer/checker.js +345 -351
  6. package/dist/analyzer/checker.js.map +1 -1
  7. package/dist/analyzer/codeFlowEngine.js +2 -2
  8. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  9. package/dist/analyzer/commentUtils.js +7 -7
  10. package/dist/analyzer/commentUtils.js.map +1 -1
  11. package/dist/analyzer/constraintSolver.js +29 -30
  12. package/dist/analyzer/constraintSolver.js.map +1 -1
  13. package/dist/analyzer/constructorTransform.js +10 -11
  14. package/dist/analyzer/constructorTransform.js.map +1 -1
  15. package/dist/analyzer/constructors.d.ts +3 -3
  16. package/dist/analyzer/constructors.js +12 -14
  17. package/dist/analyzer/constructors.js.map +1 -1
  18. package/dist/analyzer/dataClasses.js +17 -17
  19. package/dist/analyzer/dataClasses.js.map +1 -1
  20. package/dist/analyzer/decorators.d.ts +1 -2
  21. package/dist/analyzer/decorators.js +13 -10
  22. package/dist/analyzer/decorators.js.map +1 -1
  23. package/dist/analyzer/enums.d.ts +4 -2
  24. package/dist/analyzer/enums.js +109 -50
  25. package/dist/analyzer/enums.js.map +1 -1
  26. package/dist/analyzer/functionTransform.js +1 -2
  27. package/dist/analyzer/functionTransform.js.map +1 -1
  28. package/dist/analyzer/importResolver.d.ts +2 -2
  29. package/dist/analyzer/importResolver.js +96 -27
  30. package/dist/analyzer/importResolver.js.map +1 -1
  31. package/dist/analyzer/namedTuples.js +8 -7
  32. package/dist/analyzer/namedTuples.js.map +1 -1
  33. package/dist/analyzer/operations.js +19 -21
  34. package/dist/analyzer/operations.js.map +1 -1
  35. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  36. package/dist/analyzer/parseTreeUtils.js +37 -0
  37. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  38. package/dist/analyzer/patternMatching.js +26 -23
  39. package/dist/analyzer/patternMatching.js.map +1 -1
  40. package/dist/analyzer/program.js +18 -4
  41. package/dist/analyzer/program.js.map +1 -1
  42. package/dist/analyzer/properties.js +8 -8
  43. package/dist/analyzer/properties.js.map +1 -1
  44. package/dist/analyzer/protocols.js +37 -30
  45. package/dist/analyzer/protocols.js.map +1 -1
  46. package/dist/analyzer/service.d.ts +1 -1
  47. package/dist/analyzer/service.js +21 -20
  48. package/dist/analyzer/service.js.map +1 -1
  49. package/dist/analyzer/sourceFile.d.ts +2 -2
  50. package/dist/analyzer/sourceFile.js +17 -17
  51. package/dist/analyzer/sourceFile.js.map +1 -1
  52. package/dist/analyzer/sourceFileInfoUtils.js +1 -1
  53. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  54. package/dist/analyzer/typeEvaluator.js +1042 -875
  55. package/dist/analyzer/typeEvaluator.js.map +1 -1
  56. package/dist/analyzer/typeEvaluatorTypes.d.ts +12 -11
  57. package/dist/analyzer/typeEvaluatorTypes.js +2 -4
  58. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  59. package/dist/analyzer/typeGuards.js +16 -11
  60. package/dist/analyzer/typeGuards.js.map +1 -1
  61. package/dist/analyzer/typePrinter.js +3 -4
  62. package/dist/analyzer/typePrinter.js.map +1 -1
  63. package/dist/analyzer/typeUtils.d.ts +5 -2
  64. package/dist/analyzer/typeUtils.js +19 -0
  65. package/dist/analyzer/typeUtils.js.map +1 -1
  66. package/dist/analyzer/typedDicts.js +30 -34
  67. package/dist/analyzer/typedDicts.js.map +1 -1
  68. package/dist/analyzer/types.d.ts +12 -13
  69. package/dist/analyzer/types.js +49 -61
  70. package/dist/analyzer/types.js.map +1 -1
  71. package/dist/backgroundAnalysisBase.d.ts +12 -11
  72. package/dist/backgroundAnalysisBase.js +60 -64
  73. package/dist/backgroundAnalysisBase.js.map +1 -1
  74. package/dist/backgroundThreadBase.d.ts +6 -5
  75. package/dist/backgroundThreadBase.js +63 -60
  76. package/dist/backgroundThreadBase.js.map +1 -1
  77. package/dist/commands/quickActionCommand.js +1 -1
  78. package/dist/commands/quickActionCommand.js.map +1 -1
  79. package/dist/common/cancellationUtils.d.ts +6 -3
  80. package/dist/common/cancellationUtils.js +29 -5
  81. package/dist/common/cancellationUtils.js.map +1 -1
  82. package/dist/common/commandLineOptions.d.ts +1 -0
  83. package/dist/common/commandLineOptions.js.map +1 -1
  84. package/dist/common/commandUtils.d.ts +2 -0
  85. package/dist/common/commandUtils.js +24 -0
  86. package/dist/common/commandUtils.js.map +1 -0
  87. package/dist/common/configOptions.d.ts +1 -0
  88. package/dist/common/configOptions.js +13 -11
  89. package/dist/common/configOptions.js.map +1 -1
  90. package/dist/common/core.d.ts +1 -1
  91. package/dist/common/core.js.map +1 -1
  92. package/dist/common/extensibility.d.ts +7 -6
  93. package/dist/common/extensibility.js.map +1 -1
  94. package/dist/common/fileBasedCancellationUtils.js +19 -13
  95. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  96. package/dist/common/fullAccessHost.d.ts +1 -1
  97. package/dist/common/fullAccessHost.js +2 -2
  98. package/dist/common/fullAccessHost.js.map +1 -1
  99. package/dist/common/host.d.ts +2 -2
  100. package/dist/common/host.js.map +1 -1
  101. package/dist/common/realFileSystem.js +8 -8
  102. package/dist/common/realFileSystem.js.map +1 -1
  103. package/dist/common/serviceProvider.js +8 -1
  104. package/dist/common/serviceProvider.js.map +1 -1
  105. package/dist/common/uri/baseUri.d.ts +11 -3
  106. package/dist/common/uri/baseUri.js +54 -25
  107. package/dist/common/uri/baseUri.js.map +1 -1
  108. package/dist/common/uri/emptyUri.d.ts +9 -4
  109. package/dist/common/uri/emptyUri.js +22 -8
  110. package/dist/common/uri/emptyUri.js.map +1 -1
  111. package/dist/common/uri/fileUri.d.ts +14 -4
  112. package/dist/common/uri/fileUri.js +65 -9
  113. package/dist/common/uri/fileUri.js.map +1 -1
  114. package/dist/common/uri/memoization.js +1 -1
  115. package/dist/common/uri/memoization.js.map +1 -1
  116. package/dist/common/uri/uri.d.ts +9 -2
  117. package/dist/common/uri/uri.js +5 -2
  118. package/dist/common/uri/uri.js.map +1 -1
  119. package/dist/common/uri/uriUtils.d.ts +2 -0
  120. package/dist/common/uri/uriUtils.js +21 -4
  121. package/dist/common/uri/uriUtils.js.map +1 -1
  122. package/dist/common/uri/webUri.d.ts +8 -1
  123. package/dist/common/uri/webUri.js +59 -13
  124. package/dist/common/uri/webUri.js.map +1 -1
  125. package/dist/common/workspaceEditUtils.d.ts +6 -5
  126. package/dist/common/workspaceEditUtils.js +18 -17
  127. package/dist/common/workspaceEditUtils.js.map +1 -1
  128. package/dist/languageServerBase.d.ts +2 -0
  129. package/dist/languageServerBase.js +29 -25
  130. package/dist/languageServerBase.js.map +1 -1
  131. package/dist/languageService/analyzerServiceExecutor.d.ts +1 -2
  132. package/dist/languageService/analyzerServiceExecutor.js +8 -5
  133. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  134. package/dist/languageService/autoImporter.js +3 -3
  135. package/dist/languageService/autoImporter.js.map +1 -1
  136. package/dist/languageService/callHierarchyProvider.js +9 -7
  137. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  138. package/dist/languageService/codeActionProvider.js +3 -2
  139. package/dist/languageService/codeActionProvider.js.map +1 -1
  140. package/dist/languageService/completionProvider.d.ts +2 -4
  141. package/dist/languageService/completionProvider.js +14 -18
  142. package/dist/languageService/completionProvider.js.map +1 -1
  143. package/dist/languageService/documentSymbolProvider.js +5 -4
  144. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  145. package/dist/languageService/navigationUtils.js +2 -1
  146. package/dist/languageService/navigationUtils.js.map +1 -1
  147. package/dist/languageService/renameProvider.js +2 -2
  148. package/dist/languageService/renameProvider.js.map +1 -1
  149. package/dist/languageService/workspaceSymbolProvider.js +2 -1
  150. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  151. package/dist/localization/localize.d.ts +10 -9
  152. package/dist/localization/localize.js +9 -5
  153. package/dist/localization/localize.js.map +1 -1
  154. package/dist/localization/package.nls.cs.json +50 -9
  155. package/dist/localization/package.nls.de.json +51 -10
  156. package/dist/localization/package.nls.en-us.json +11 -9
  157. package/dist/localization/package.nls.es.json +51 -10
  158. package/dist/localization/package.nls.fr.json +50 -9
  159. package/dist/localization/package.nls.it.json +51 -10
  160. package/dist/localization/package.nls.ja.json +51 -10
  161. package/dist/localization/package.nls.ko.json +51 -10
  162. package/dist/localization/package.nls.pl.json +51 -10
  163. package/dist/localization/package.nls.pt-br.json +51 -10
  164. package/dist/localization/package.nls.qps-ploc.json +51 -10
  165. package/dist/localization/package.nls.ru.json +50 -9
  166. package/dist/localization/package.nls.tr.json +51 -10
  167. package/dist/localization/package.nls.zh-cn.json +51 -10
  168. package/dist/localization/package.nls.zh-tw.json +51 -10
  169. package/dist/parser/parser.d.ts +1 -4
  170. package/dist/parser/parser.js +201 -201
  171. package/dist/parser/parser.js.map +1 -1
  172. package/dist/parser/tokenizer.d.ts +2 -4
  173. package/dist/parser/tokenizer.js +5 -6
  174. package/dist/parser/tokenizer.js.map +1 -1
  175. package/dist/parser/tokenizerTypes.d.ts +2 -2
  176. package/dist/parser/tokenizerTypes.js.map +1 -1
  177. package/dist/pyright.js +11 -9
  178. package/dist/pyright.js.map +1 -1
  179. package/dist/pyrightFileSystem.js +2 -2
  180. package/dist/server.js +7 -5
  181. package/dist/server.js.map +1 -1
  182. package/dist/tests/chainedSourceFiles.test.js +8 -8
  183. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  184. package/dist/tests/completions.test.js +3 -3
  185. package/dist/tests/completions.test.js.map +1 -1
  186. package/dist/tests/config.test.js +14 -6
  187. package/dist/tests/config.test.js.map +1 -1
  188. package/dist/tests/filesystem.test.js +6 -6
  189. package/dist/tests/filesystem.test.js.map +1 -1
  190. package/dist/tests/fourSlashParser.test.js +23 -9
  191. package/dist/tests/fourSlashParser.test.js.map +1 -1
  192. package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
  193. package/dist/tests/harness/fourslash/fourSlashParser.js +4 -0
  194. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  195. package/dist/tests/harness/fourslash/fourSlashTypes.d.ts +3 -0
  196. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  197. package/dist/tests/harness/fourslash/testLanguageService.js +2 -0
  198. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  199. package/dist/tests/harness/fourslash/testState.d.ts +13 -0
  200. package/dist/tests/harness/fourslash/testState.js +14 -8
  201. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  202. package/dist/tests/harness/vfs/factory.d.ts +1 -1
  203. package/dist/tests/harness/vfs/factory.js +4 -4
  204. package/dist/tests/harness/vfs/factory.js.map +1 -1
  205. package/dist/tests/importStatementUtils.test.js +1 -1
  206. package/dist/tests/importStatementUtils.test.js.map +1 -1
  207. package/dist/tests/ipythonMode.test.js +21 -22
  208. package/dist/tests/ipythonMode.test.js.map +1 -1
  209. package/dist/tests/localizer.test.js +2 -2
  210. package/dist/tests/localizer.test.js.map +1 -1
  211. package/dist/tests/serialization.test.d.ts +2 -0
  212. package/dist/tests/serialization.test.js +88 -0
  213. package/dist/tests/serialization.test.js.map +1 -0
  214. package/dist/tests/service.test.js +1 -1
  215. package/dist/tests/service.test.js.map +1 -1
  216. package/dist/tests/signatureHelp.test.js +2 -3
  217. package/dist/tests/signatureHelp.test.js.map +1 -1
  218. package/dist/tests/sourceFile.test.js +3 -3
  219. package/dist/tests/sourceFile.test.js.map +1 -1
  220. package/dist/tests/sourceMapperUtils.test.js +2 -2
  221. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  222. package/dist/tests/testState.test.js +1 -1
  223. package/dist/tests/testState.test.js.map +1 -1
  224. package/dist/tests/testStateUtils.js +2 -2
  225. package/dist/tests/testStateUtils.js.map +1 -1
  226. package/dist/tests/textEditUtil.test.js +1 -2
  227. package/dist/tests/textEditUtil.test.js.map +1 -1
  228. package/dist/tests/typeEvaluator1.test.js +15 -3
  229. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  230. package/dist/tests/typeEvaluator2.test.js +12 -8
  231. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  232. package/dist/tests/typeEvaluator3.test.js +24 -6
  233. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  234. package/dist/tests/typeEvaluator4.test.js +5 -5
  235. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  236. package/dist/tests/typeEvaluator5.test.js +4 -0
  237. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  238. package/dist/tests/uri.test.js +95 -15
  239. package/dist/tests/uri.test.js.map +1 -1
  240. package/dist/tests/workspaceEditUtils.test.js +8 -8
  241. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  242. package/dist/workspaceFactory.d.ts +1 -0
  243. package/dist/workspaceFactory.js +2 -1
  244. package/dist/workspaceFactory.js.map +1 -1
  245. package/package.json +2 -1
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  import { DecoratorNode, FunctionNode } from '../parser/parseNodes';
2
2
  import { TypeEvaluator } from './typeEvaluatorTypes';
3
3
  import { ClassType, FunctionType, FunctionTypeFlags, Type } from './types';
4
- interface FunctionDecoratorInfo {
4
+ export interface FunctionDecoratorInfo {
5
5
  flags: FunctionTypeFlags;
6
6
  deprecationMessage: string | undefined;
7
7
  }
@@ -9,4 +9,3 @@ export declare function getFunctionInfoFromDecorators(evaluator: TypeEvaluator,
9
9
  export declare function applyFunctionDecorator(evaluator: TypeEvaluator, inputFunctionType: Type, undecoratedType: FunctionType, decoratorNode: DecoratorNode, functionNode: FunctionNode): Type;
10
10
  export declare function applyClassDecorator(evaluator: TypeEvaluator, inputClassType: Type, originalClassType: ClassType, decoratorNode: DecoratorNode): Type;
11
11
  export declare function addOverloadsToFunctionType(evaluator: TypeEvaluator, node: FunctionNode, type: FunctionType): Type;
12
- export {};
@@ -42,11 +42,11 @@ function getFunctionInfoFromDecorators(evaluator, node, isInClass) {
42
42
  // Some stub files (e.g. builtins.pyi) rely on forward declarations of decorators.
43
43
  let evaluatorFlags = fileInfo.isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
44
44
  if (decoratorNode.expression.nodeType !== 9 /* ParseNodeType.Call */) {
45
- evaluatorFlags |= 16777218 /* EvaluatorFlags.CallBaseDefaults */;
45
+ evaluatorFlags |= 2 /* EvaluatorFlags.CallBaseDefaults */;
46
46
  }
47
47
  else {
48
48
  if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
49
- const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 16777218 /* EvaluatorFlags.CallBaseDefaults */).type;
49
+ const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 2 /* EvaluatorFlags.CallBaseDefaults */).type;
50
50
  if ((0, typeUtils_1.isBuiltInDeprecatedType)(decoratorCallType)) {
51
51
  deprecationMessage = getCustomDeprecationMessage(decoratorNode);
52
52
  }
@@ -69,6 +69,9 @@ function getFunctionInfoFromDecorators(evaluator, node, isInClass) {
69
69
  else if (decoratorType.details.builtInName === 'type_check_only') {
70
70
  flags |= 128 /* FunctionTypeFlags.TypeCheckOnly */;
71
71
  }
72
+ else if (decoratorType.details.builtInName === 'no_type_check') {
73
+ flags |= 524288 /* FunctionTypeFlags.NoTypeCheck */;
74
+ }
72
75
  else if (decoratorType.details.builtInName === 'overload') {
73
76
  flags |= 256 /* FunctionTypeFlags.Overloaded */;
74
77
  }
@@ -99,7 +102,7 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
99
102
  // Some stub files (e.g. builtins.pyi) rely on forward declarations of decorators.
100
103
  let evaluatorFlags = fileInfo.isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
101
104
  if (decoratorNode.expression.nodeType !== 9 /* ParseNodeType.Call */) {
102
- evaluatorFlags |= 16777218 /* EvaluatorFlags.CallBaseDefaults */;
105
+ evaluatorFlags |= 2 /* EvaluatorFlags.CallBaseDefaults */;
103
106
  }
104
107
  const decoratorTypeResult = evaluator.getTypeOfExpression(decoratorNode.expression, evaluatorFlags);
105
108
  const decoratorType = decoratorTypeResult.type;
@@ -114,7 +117,7 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
114
117
  }
115
118
  }
116
119
  if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
117
- const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 16777218 /* EvaluatorFlags.CallBaseDefaults */).type;
120
+ const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 2 /* EvaluatorFlags.CallBaseDefaults */).type;
118
121
  if ((0, types_1.isFunction)(decoratorCallType)) {
119
122
  if (decoratorCallType.details.name === '__dataclass_transform__' ||
120
123
  decoratorCallType.details.builtInName === 'dataclass_transform') {
@@ -138,7 +141,7 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
138
141
  }
139
142
  // Handle property setters and deleters.
140
143
  if (decoratorNode.expression.nodeType === 35 /* ParseNodeType.MemberAccess */) {
141
- const baseType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 16777218 /* EvaluatorFlags.MemberAccessBaseDefaults */).type;
144
+ const baseType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 2 /* EvaluatorFlags.MemberAccessBaseDefaults */).type;
142
145
  if ((0, typeUtils_1.isProperty)(baseType)) {
143
146
  const memberName = decoratorNode.expression.memberName.value;
144
147
  if (memberName === 'setter') {
@@ -222,11 +225,11 @@ function applyClassDecorator(evaluator, inputClassType, originalClassType, decor
222
225
  const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(decoratorNode);
223
226
  let flags = fileInfo.isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
224
227
  if (decoratorNode.expression.nodeType !== 9 /* ParseNodeType.Call */) {
225
- flags |= 16777218 /* EvaluatorFlags.CallBaseDefaults */;
228
+ flags |= 2 /* EvaluatorFlags.CallBaseDefaults */;
226
229
  }
227
230
  const decoratorType = evaluator.getTypeOfExpression(decoratorNode.expression, flags).type;
228
231
  if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
229
- const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, flags | 16777218 /* EvaluatorFlags.CallBaseDefaults */).type;
232
+ const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, flags | 2 /* EvaluatorFlags.CallBaseDefaults */).type;
230
233
  if ((0, types_1.isFunction)(decoratorCallType)) {
231
234
  if (decoratorCallType.details.name === '__dataclass_transform__' ||
232
235
  decoratorCallType.details.builtInName === 'dataclass_transform') {
@@ -270,7 +273,7 @@ function applyClassDecorator(evaluator, inputClassType, originalClassType, decor
270
273
  let callNode;
271
274
  if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
272
275
  callNode = decoratorNode.expression;
273
- const decoratorCallType = evaluator.getTypeOfExpression(callNode.leftExpression, flags | 16777218 /* EvaluatorFlags.CallBaseDefaults */).type;
276
+ const decoratorCallType = evaluator.getTypeOfExpression(callNode.leftExpression, flags | 2 /* EvaluatorFlags.CallBaseDefaults */).type;
274
277
  dataclassBehaviors = (0, dataClasses_1.getDataclassDecoratorBehaviors)(decoratorCallType);
275
278
  }
276
279
  else {
@@ -290,7 +293,7 @@ function getTypeOfDecorator(evaluator, node, functionOrClassType) {
290
293
  // Evaluate the type of the decorator expression.
291
294
  let flags = (0, analyzerNodeInfo_1.getFileInfo)(node).isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
292
295
  if (node.expression.nodeType !== 9 /* ParseNodeType.Call */) {
293
- flags |= 16777218 /* EvaluatorFlags.CallBaseDefaults */;
296
+ flags |= 2 /* EvaluatorFlags.CallBaseDefaults */;
294
297
  }
295
298
  const decoratorTypeResult = evaluator.getTypeOfExpression(node.expression, flags);
296
299
  // Special-case the combination of a classmethod decorator applied
@@ -424,7 +427,7 @@ function addOverloadsToFunctionType(evaluator, node, type) {
424
427
  const isPrevOverloadAbstract = types_1.FunctionType.isAbstractMethod(prevOverload);
425
428
  const isCurrentOverloadAbstract = types_1.FunctionType.isAbstractMethod(type);
426
429
  if (isPrevOverloadAbstract !== isCurrentOverloadAbstract) {
427
- evaluator.addDiagnostic((0, analyzerNodeInfo_1.getFileInfo)(node).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.overloadAbstractMismatch().format({ name: node.name.value }), node.name);
430
+ evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.overloadAbstractMismatch().format({ name: node.name.value }), node.name);
428
431
  }
429
432
  return newOverload;
430
433
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/analyzer/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/analyzer/decorators.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,11 @@ import { ExpressionNode, NameNode, ParseNode } from '../parser/parseNodes';
2
2
  import { VariableDeclaration } from './declaration';
3
3
  import { FunctionArgument, TypeEvaluator, TypeResult } from './typeEvaluatorTypes';
4
4
  import { ClassType, Type } from './types';
5
- export declare function isKnownEnumType(className: string): boolean;
5
+ export declare function isEnumMetaclass(classType: ClassType): boolean;
6
+ export declare function isEnumClassWithMembers(evaluator: TypeEvaluator, classType: ClassType): boolean;
6
7
  export declare function createEnumType(evaluator: TypeEvaluator, errorNode: ExpressionNode, enumClass: ClassType, argList: FunctionArgument[]): ClassType | undefined;
7
- export declare function transformTypeForPossibleEnumClass(evaluator: TypeEvaluator, node: NameNode, getValueType: () => Type): Type | undefined;
8
+ export declare function transformTypeForPossibleEnumClass(evaluator: TypeEvaluator, statementNode: ParseNode, nameNode: NameNode, getValueType: () => Type): Type | undefined;
8
9
  export declare function isDeclInEnumClass(evaluator: TypeEvaluator, decl: VariableDeclaration): boolean;
10
+ export declare function getEnumDeclaredValueType(evaluator: TypeEvaluator, classType: ClassType, declaredTypesOnly?: boolean): Type | undefined;
9
11
  export declare function getTypeOfEnumMember(evaluator: TypeEvaluator, errorNode: ParseNode, classType: ClassType, memberName: string, isIncomplete: boolean): TypeResult | undefined;
10
12
  export declare function getEnumAutoValueType(evaluator: TypeEvaluator, node: ExpressionNode): Type;
@@ -8,8 +8,10 @@
8
8
  * Provides special-case logic for the Enum class.
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.getEnumAutoValueType = exports.getTypeOfEnumMember = exports.isDeclInEnumClass = exports.transformTypeForPossibleEnumClass = exports.createEnumType = exports.isKnownEnumType = void 0;
11
+ exports.getEnumAutoValueType = exports.getTypeOfEnumMember = exports.getEnumDeclaredValueType = exports.isDeclInEnumClass = exports.transformTypeForPossibleEnumClass = exports.createEnumType = exports.isEnumClassWithMembers = exports.isEnumMetaclass = void 0;
12
12
  const debug_1 = require("../common/debug");
13
+ const diagnosticRules_1 = require("../common/diagnosticRules");
14
+ const localize_1 = require("../localization/localize");
13
15
  const analyzerNodeInfo_1 = require("./analyzerNodeInfo");
14
16
  const parseTreeUtils_1 = require("./parseTreeUtils");
15
17
  const symbol_1 = require("./symbol");
@@ -17,13 +19,31 @@ const symbolNameUtils_1 = require("./symbolNameUtils");
17
19
  const typeGuards_1 = require("./typeGuards");
18
20
  const typeUtils_1 = require("./typeUtils");
19
21
  const types_1 = require("./types");
20
- function isKnownEnumType(className) {
21
- const knownEnumTypes = ['Enum', 'IntEnum', 'StrEnum', 'Flag', 'IntFlag'];
22
- return knownEnumTypes.some((c) => c === className);
22
+ // Determines whether the class is an Enum metaclass or a subclass thereof.
23
+ function isEnumMetaclass(classType) {
24
+ return classType.details.mro.some((mroClass) => (0, types_1.isClass)(mroClass) && types_1.ClassType.isBuiltIn(mroClass, ['EnumMeta', 'EnumType']));
23
25
  }
24
- exports.isKnownEnumType = isKnownEnumType;
26
+ exports.isEnumMetaclass = isEnumMetaclass;
27
+ // Determines whether this is an enum class that has at least one enum
28
+ // member defined.
29
+ function isEnumClassWithMembers(evaluator, classType) {
30
+ if (!(0, types_1.isClass)(classType) || !types_1.ClassType.isEnumClass(classType)) {
31
+ return false;
32
+ }
33
+ // Determine whether the enum class defines a member.
34
+ let definesValue = false;
35
+ classType.details.fields.forEach((symbol) => {
36
+ const symbolType = evaluator.getEffectiveTypeOfSymbol(symbol);
37
+ if ((0, types_1.isClassInstance)(symbolType) && types_1.ClassType.isSameGenericClass(symbolType, classType)) {
38
+ definesValue = true;
39
+ }
40
+ });
41
+ return definesValue;
42
+ }
43
+ exports.isEnumClassWithMembers = isEnumClassWithMembers;
25
44
  // Creates a new custom enum class with named values.
26
45
  function createEnumType(evaluator, errorNode, enumClass, argList) {
46
+ var _a;
27
47
  const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(errorNode);
28
48
  if (argList.length === 0) {
29
49
  return undefined;
@@ -55,6 +75,13 @@ function createEnumType(evaluator, errorNode, enumClass, argList) {
55
75
  return undefined;
56
76
  }
57
77
  const classInstanceType = types_1.ClassType.cloneAsInstance(classType);
78
+ // Check for name consistency if the enum class is assigned to a variable.
79
+ if (((_a = errorNode.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* ParseNodeType.Assignment */ &&
80
+ errorNode.parent.leftExpression.nodeType === 38 /* ParseNodeType.Name */ &&
81
+ errorNode.parent.leftExpression.value !== className) {
82
+ evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.enumNameMismatch(), errorNode.parent.leftExpression);
83
+ return undefined;
84
+ }
58
85
  // The Enum functional form supports various forms of arguments:
59
86
  // Enum('name', 'a b c')
60
87
  // Enum('name', 'a,b,c')
@@ -62,7 +89,7 @@ function createEnumType(evaluator, errorNode, enumClass, argList) {
62
89
  // Enum('name', ('a', 'b', 'c'))
63
90
  // Enum('name', (('a', 1), ('b', 2), ('c', 3)))
64
91
  // Enum('name', [('a', 1), ('b', 2), ('c', 3))]
65
- // Enum('name', {'a': 1, 'b': 2, 'c': 3}
92
+ // Enum('name', {'a': 1, 'b': 2, 'c': 3})
66
93
  if (initArg.valueExpression.nodeType === 48 /* ParseNodeType.StringList */) {
67
94
  // Don't allow format strings in the init arg.
68
95
  if (!initArg.valueExpression.strings.every((str) => str.nodeType === 49 /* ParseNodeType.String */)) {
@@ -159,11 +186,11 @@ function createEnumType(evaluator, errorNode, enumClass, argList) {
159
186
  return classType;
160
187
  }
161
188
  exports.createEnumType = createEnumType;
162
- function transformTypeForPossibleEnumClass(evaluator, node, getValueType) {
189
+ function transformTypeForPossibleEnumClass(evaluator, statementNode, nameNode, getValueType) {
163
190
  var _a, _b, _c;
164
191
  // If the node is within a class that derives from the metaclass
165
192
  // "EnumMeta", we need to treat assignments differently.
166
- const enclosingClassNode = (0, parseTreeUtils_1.getEnclosingClass)(node, /* stopAtFunction */ true);
193
+ const enclosingClassNode = (0, parseTreeUtils_1.getEnclosingClass)(statementNode, /* stopAtFunction */ true);
167
194
  if (!enclosingClassNode) {
168
195
  return undefined;
169
196
  }
@@ -180,64 +207,66 @@ function transformTypeForPossibleEnumClass(evaluator, node, getValueType) {
180
207
  // it, we're stuck with this limitation.
181
208
  let isMemberOfEnumeration = false;
182
209
  let isUnpackedTuple = false;
183
- const assignmentNode = (0, parseTreeUtils_1.getParentNodeOfType)(node, 3 /* ParseNodeType.Assignment */);
184
- if (assignmentNode && (0, parseTreeUtils_1.isNodeContainedWithin)(node, assignmentNode.leftExpression)) {
210
+ if (statementNode.nodeType === 3 /* ParseNodeType.Assignment */ &&
211
+ (0, parseTreeUtils_1.isNodeContainedWithin)(nameNode, statementNode.leftExpression)) {
185
212
  isMemberOfEnumeration = true;
186
- if ((0, parseTreeUtils_1.getParentNodeOfType)(node, 52 /* ParseNodeType.Tuple */)) {
213
+ if ((0, parseTreeUtils_1.getParentNodeOfType)(nameNode, 52 /* ParseNodeType.Tuple */)) {
187
214
  isUnpackedTuple = true;
188
215
  }
189
216
  }
190
- else if ((0, analyzerNodeInfo_1.getFileInfo)(node).isStubFile &&
191
- ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 54 /* ParseNodeType.TypeAnnotation */ &&
192
- node.parent.valueExpression === node) {
217
+ else if ((0, analyzerNodeInfo_1.getFileInfo)(nameNode).isStubFile &&
218
+ ((_a = nameNode.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 54 /* ParseNodeType.TypeAnnotation */ &&
219
+ nameNode.parent.valueExpression === nameNode) {
193
220
  isMemberOfEnumeration = true;
194
221
  }
195
222
  // The spec specifically excludes names that start and end with a single underscore.
196
223
  // This also includes dunder names.
197
- if ((0, symbolNameUtils_1.isSingleDunderName)(node.value)) {
198
- isMemberOfEnumeration = false;
224
+ if ((0, symbolNameUtils_1.isSingleDunderName)(nameNode.value)) {
225
+ return undefined;
199
226
  }
200
227
  // Specifically exclude "value" and "name". These are reserved by the enum metaclass.
201
- if (node.value === 'name' || node.value === 'value') {
202
- isMemberOfEnumeration = false;
228
+ if (nameNode.value === 'name' || nameNode.value === 'value') {
229
+ return undefined;
203
230
  }
204
231
  let valueType;
205
- // If the class includes a __new__ method, we cannot assume that
206
- // the value of each enum element is simply the value assigned to it.
207
- // The __new__ method can transform the value in ways that we cannot
208
- // determine statically.
209
- const newMember = (0, typeUtils_1.lookUpClassMember)(enumClassInfo.classType, '__new__', 2 /* MemberAccessFlags.SkipBaseClasses */);
210
- if (newMember) {
211
- // We may want to change this to UnknownType in the future, but
212
- // for now, we'll leave it as Any which is consistent with the
213
- // type specified in the Enum class definition in enum.pyi.
214
- valueType = types_1.AnyType.create();
215
- }
216
- else {
217
- valueType = getValueType();
218
- // If the LHS is an unpacked tuple, we need to handle this as
219
- // a special case.
220
- if (isUnpackedTuple) {
221
- valueType =
222
- (_c = (_b = evaluator.getTypeOfIterator({ type: valueType },
223
- /* isAsync */ false, node,
224
- /* emitNotIterableError */ false)) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : types_1.UnknownType.create();
225
- }
232
+ valueType = getValueType();
233
+ // If the LHS is an unpacked tuple, we need to handle this as
234
+ // a special case.
235
+ if (isUnpackedTuple) {
236
+ valueType =
237
+ (_c = (_b = evaluator.getTypeOfIterator({ type: valueType },
238
+ /* isAsync */ false, nameNode,
239
+ /* emitNotIterableError */ false)) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : types_1.UnknownType.create();
226
240
  }
227
241
  // The spec excludes descriptors.
228
242
  if ((0, types_1.isClassInstance)(valueType) && valueType.details.fields.get('__get__')) {
229
- isMemberOfEnumeration = false;
243
+ return undefined;
230
244
  }
231
245
  // The enum spec doesn't explicitly specify this, but it
232
246
  // appears that callables are excluded.
233
247
  if (!(0, types_1.findSubtype)(valueType, (subtype) => !(0, types_1.isFunction)(subtype) && !(0, types_1.isOverloadedFunction)(subtype))) {
234
- isMemberOfEnumeration = false;
248
+ return undefined;
235
249
  }
236
- if (isMemberOfEnumeration) {
237
- const enumLiteral = new types_1.EnumLiteral(enumClassInfo.classType.details.fullName, enumClassInfo.classType.details.name, node.value, valueType);
238
- return types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneWithLiteral(enumClassInfo.classType, enumLiteral));
250
+ // Handle the Python 3.11 "enum.member()" and "enum.nonmember()" features.
251
+ if ((0, types_1.isClassInstance)(valueType) && types_1.ClassType.isBuiltIn(valueType)) {
252
+ if (valueType.details.fullName === 'enum.nonmember') {
253
+ return valueType.typeArguments && valueType.typeArguments.length > 0
254
+ ? valueType.typeArguments[0]
255
+ : types_1.UnknownType.create();
256
+ }
257
+ if (valueType.details.fullName === 'enum.member') {
258
+ valueType =
259
+ valueType.typeArguments && valueType.typeArguments.length > 0
260
+ ? valueType.typeArguments[0]
261
+ : types_1.UnknownType.create();
262
+ isMemberOfEnumeration = true;
263
+ }
239
264
  }
240
- return undefined;
265
+ if (!isMemberOfEnumeration) {
266
+ return undefined;
267
+ }
268
+ const enumLiteral = new types_1.EnumLiteral(enumClassInfo.classType.details.fullName, enumClassInfo.classType.details.name, nameNode.value, valueType);
269
+ return types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneWithLiteral(enumClassInfo.classType, enumLiteral));
241
270
  }
242
271
  exports.transformTypeForPossibleEnumClass = transformTypeForPossibleEnumClass;
243
272
  function isDeclInEnumClass(evaluator, decl) {
@@ -252,6 +281,21 @@ function isDeclInEnumClass(evaluator, decl) {
252
281
  return types_1.ClassType.isEnumClass(classInfo.classType);
253
282
  }
254
283
  exports.isDeclInEnumClass = isDeclInEnumClass;
284
+ function getEnumDeclaredValueType(evaluator, classType, declaredTypesOnly = false) {
285
+ // See if there is a declared type for "_value_".
286
+ let valueType;
287
+ const declaredValueMember = (0, typeUtils_1.lookUpClassMember)(classType, '_value_', declaredTypesOnly ? 64 /* MemberAccessFlags.DeclaredTypesOnly */ : 0 /* MemberAccessFlags.Default */);
288
+ // If the declared type comes from the 'Enum' base class, ignore it
289
+ // because it will be "Any", which isn't useful to us here.
290
+ if (declaredValueMember &&
291
+ declaredValueMember.classType &&
292
+ (0, types_1.isClass)(declaredValueMember.classType) &&
293
+ !types_1.ClassType.isBuiltIn(declaredValueMember.classType, 'Enum')) {
294
+ valueType = evaluator.getTypeOfMember(declaredValueMember);
295
+ }
296
+ return valueType;
297
+ }
298
+ exports.getEnumDeclaredValueType = getEnumDeclaredValueType;
255
299
  function getTypeOfEnumMember(evaluator, errorNode, classType, memberName, isIncomplete) {
256
300
  // Handle the special case of 'name' and 'value' members within an enum.
257
301
  if (!(0, types_1.isClassInstance)(classType) || !types_1.ClassType.isEnumClass(classType)) {
@@ -284,23 +328,38 @@ function getTypeOfEnumMember(evaluator, errorNode, classType, memberName, isInco
284
328
  };
285
329
  }
286
330
  }
331
+ // See if there is a declared type for "_value_".
332
+ const valueType = getEnumDeclaredValueType(evaluator, classType);
287
333
  if (memberName === 'value' || memberName === '_value_') {
288
334
  // If the enum class has a custom metaclass, it may implement some
289
- // "magic" that computes different values for the "value" attribute.
335
+ // "magic" that computes different values for the "_value_" attribute.
290
336
  // This occurs, for example, in the django TextChoices class. If we
291
- // detect a custom metaclass, we'll assume the value is Any.
337
+ // detect a custom metaclass, we'll use the declared type of _value_
338
+ // if it is declared.
292
339
  const metaclass = classType.details.effectiveMetaclass;
293
340
  if (metaclass && (0, types_1.isClass)(metaclass) && !types_1.ClassType.isBuiltIn(metaclass)) {
294
- return { type: types_1.AnyType.create(), isIncomplete };
341
+ return { type: valueType !== null && valueType !== void 0 ? valueType : types_1.AnyType.create(), isIncomplete };
342
+ }
343
+ // If the enum class has a custom __new__ or __init__ method,
344
+ // it may implement some magic that computes different values for
345
+ // the "_value_" attribute. If we see a customer __new__ or __init__,
346
+ // we'll assume the value type is what we computed above, or Any.
347
+ const newMember = (0, typeUtils_1.lookUpClassMember)(classType, '__new__', 2 /* MemberAccessFlags.SkipBaseClasses */);
348
+ const initMember = (0, typeUtils_1.lookUpClassMember)(classType, '__init__', 2 /* MemberAccessFlags.SkipBaseClasses */);
349
+ if (newMember || initMember) {
350
+ return { type: valueType !== null && valueType !== void 0 ? valueType : types_1.AnyType.create(), isIncomplete };
295
351
  }
352
+ // There were no explicit assignments to the "_value_" attribute, so we can
353
+ // assume that the values are assigned directly to the "_value_" by
354
+ // the EnumMeta metaclass.
296
355
  if (literalValue) {
297
356
  (0, debug_1.assert)(literalValue instanceof types_1.EnumLiteral);
298
357
  // If there is no known value type for this literal value,
299
358
  // return undefined. This will cause the caller to fall back
300
- // on the definition of `value` within the class definition
359
+ // on the definition of "_value_" within the class definition
301
360
  // (if present).
302
361
  if ((0, types_1.isAny)(literalValue.itemType)) {
303
- return undefined;
362
+ return valueType ? { type: valueType, isIncomplete } : undefined;
304
363
  }
305
364
  return { type: literalValue.itemType, isIncomplete };
306
365
  }