@zzzen/pyright-internal 1.2.0-dev.20240128 → 1.2.0-dev.20240225

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 (593) hide show
  1. package/dist/analyzer/analysis.js +4 -1
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  4. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  5. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  6. package/dist/analyzer/binder.js +1 -0
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/cacheManager.js.map +1 -1
  9. package/dist/analyzer/checker.d.ts +1 -2
  10. package/dist/analyzer/checker.js +251 -121
  11. package/dist/analyzer/checker.js.map +1 -1
  12. package/dist/analyzer/circularDependency.js.map +1 -1
  13. package/dist/analyzer/codeFlowEngine.js +29 -3
  14. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  15. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  16. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  17. package/dist/analyzer/commentUtils.js.map +1 -1
  18. package/dist/analyzer/constraintSolver.d.ts +2 -2
  19. package/dist/analyzer/constraintSolver.js +28 -6
  20. package/dist/analyzer/constraintSolver.js.map +1 -1
  21. package/dist/analyzer/constructorTransform.js.map +1 -1
  22. package/dist/analyzer/constructors.js.map +1 -1
  23. package/dist/analyzer/dataClasses.js +6 -6
  24. package/dist/analyzer/dataClasses.js.map +1 -1
  25. package/dist/analyzer/declaration.js.map +1 -1
  26. package/dist/analyzer/declarationUtils.js.map +1 -1
  27. package/dist/analyzer/decorators.js +6 -6
  28. package/dist/analyzer/decorators.js.map +1 -1
  29. package/dist/analyzer/deprecatedSymbols.js.map +1 -1
  30. package/dist/analyzer/docStringConversion.js.map +1 -1
  31. package/dist/analyzer/docStringUtils.js.map +1 -1
  32. package/dist/analyzer/enums.d.ts +4 -1
  33. package/dist/analyzer/enums.js +30 -16
  34. package/dist/analyzer/enums.js.map +1 -1
  35. package/dist/analyzer/functionTransform.js.map +1 -1
  36. package/dist/analyzer/importResolver.js +12 -4
  37. package/dist/analyzer/importResolver.js.map +1 -1
  38. package/dist/analyzer/importResult.js.map +1 -1
  39. package/dist/analyzer/importStatementUtils.js +2 -0
  40. package/dist/analyzer/importStatementUtils.js.map +1 -1
  41. package/dist/analyzer/namedTuples.js +1 -1
  42. package/dist/analyzer/namedTuples.js.map +1 -1
  43. package/dist/analyzer/operations.js +6 -0
  44. package/dist/analyzer/operations.js.map +1 -1
  45. package/dist/analyzer/packageTypeReport.js.map +1 -1
  46. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  47. package/dist/analyzer/parameterUtils.d.ts +1 -0
  48. package/dist/analyzer/parameterUtils.js +16 -2
  49. package/dist/analyzer/parameterUtils.js.map +1 -1
  50. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  51. package/dist/analyzer/parseTreeCleaner.js.map +1 -1
  52. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  53. package/dist/analyzer/parseTreeUtils.js +4 -3
  54. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  55. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  56. package/dist/analyzer/patternMatching.js +90 -61
  57. package/dist/analyzer/patternMatching.js.map +1 -1
  58. package/dist/analyzer/program.d.ts +1 -1
  59. package/dist/analyzer/program.js +2 -2
  60. package/dist/analyzer/program.js.map +1 -1
  61. package/dist/analyzer/properties.js +2 -2
  62. package/dist/analyzer/properties.js.map +1 -1
  63. package/dist/analyzer/protocols.js.map +1 -1
  64. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  65. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  66. package/dist/analyzer/scope.js.map +1 -1
  67. package/dist/analyzer/scopeUtils.js.map +1 -1
  68. package/dist/analyzer/service.js.map +1 -1
  69. package/dist/analyzer/sourceFile.js +4 -4
  70. package/dist/analyzer/sourceFile.js.map +1 -1
  71. package/dist/analyzer/sourceFileInfo.js +1 -1
  72. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  73. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  74. package/dist/analyzer/sourceMapper.js.map +1 -1
  75. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  76. package/dist/analyzer/staticExpressions.js.map +1 -1
  77. package/dist/analyzer/symbol.js.map +1 -1
  78. package/dist/analyzer/symbolNameUtils.js.map +1 -1
  79. package/dist/analyzer/symbolUtils.js.map +1 -1
  80. package/dist/analyzer/testWalker.js.map +1 -1
  81. package/dist/analyzer/tracePrinter.js.map +1 -1
  82. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  83. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  84. package/dist/analyzer/typeEvaluator.js +433 -334
  85. package/dist/analyzer/typeEvaluator.js.map +1 -1
  86. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
  87. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  88. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  89. package/dist/analyzer/typeGuards.js +10 -5
  90. package/dist/analyzer/typeGuards.js.map +1 -1
  91. package/dist/analyzer/typePrinter.js +1 -1
  92. package/dist/analyzer/typePrinter.js.map +1 -1
  93. package/dist/analyzer/typeStubWriter.js.map +1 -1
  94. package/dist/analyzer/typeUtils.d.ts +0 -1
  95. package/dist/analyzer/typeUtils.js +22 -8
  96. package/dist/analyzer/typeUtils.js.map +1 -1
  97. package/dist/analyzer/typeVarContext.d.ts +2 -2
  98. package/dist/analyzer/typeVarContext.js +10 -4
  99. package/dist/analyzer/typeVarContext.js.map +1 -1
  100. package/dist/analyzer/typeWalker.js.map +1 -1
  101. package/dist/analyzer/typedDicts.d.ts +6 -3
  102. package/dist/analyzer/typedDicts.js +292 -65
  103. package/dist/analyzer/typedDicts.js.map +1 -1
  104. package/dist/analyzer/types.d.ts +38 -26
  105. package/dist/analyzer/types.js +99 -72
  106. package/dist/analyzer/types.js.map +1 -1
  107. package/dist/backgroundAnalysis.js.map +1 -1
  108. package/dist/backgroundAnalysisBase.js.map +1 -1
  109. package/dist/backgroundThreadBase.js.map +1 -1
  110. package/dist/commands/commandController.js.map +1 -1
  111. package/dist/commands/commandResult.js.map +1 -1
  112. package/dist/commands/commands.js.map +1 -1
  113. package/dist/commands/createTypeStub.js.map +1 -1
  114. package/dist/commands/dumpFileDebugInfoCommand.js +18 -18
  115. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  116. package/dist/commands/quickActionCommand.js.map +1 -1
  117. package/dist/commands/restartServer.js.map +1 -1
  118. package/dist/common/cancellationUtils.d.ts +6 -1
  119. package/dist/common/cancellationUtils.js +18 -4
  120. package/dist/common/cancellationUtils.js.map +1 -1
  121. package/dist/common/charCodes.js.map +1 -1
  122. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  123. package/dist/common/collectionUtils.js.map +1 -1
  124. package/dist/common/commandLineOptions.js.map +1 -1
  125. package/dist/common/commandUtils.js.map +1 -1
  126. package/dist/common/configOptions.js.map +1 -1
  127. package/dist/common/console.js.map +1 -1
  128. package/dist/common/core.js.map +1 -1
  129. package/dist/common/crypto.js.map +1 -1
  130. package/dist/common/debug.js.map +1 -1
  131. package/dist/common/deferred.js.map +1 -1
  132. package/dist/common/diagnostic.js.map +1 -1
  133. package/dist/common/diagnosticRules.js.map +1 -1
  134. package/dist/common/diagnosticSink.js.map +1 -1
  135. package/dist/common/editAction.js.map +1 -1
  136. package/dist/common/envVarUtils.d.ts +2 -1
  137. package/dist/common/envVarUtils.js +5 -1
  138. package/dist/common/envVarUtils.js.map +1 -1
  139. package/dist/common/extensibility.js.map +1 -1
  140. package/dist/common/extensions.js.map +1 -1
  141. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  142. package/dist/common/fileSystem.js.map +1 -1
  143. package/dist/common/fileWatcher.js.map +1 -1
  144. package/dist/common/fullAccessHost.js +1 -1
  145. package/dist/common/fullAccessHost.js.map +1 -1
  146. package/dist/common/host.js.map +1 -1
  147. package/dist/common/logTracker.js.map +1 -1
  148. package/dist/common/lspUtils.js.map +1 -1
  149. package/dist/common/memUtils.js.map +1 -1
  150. package/dist/common/pathConsts.js.map +1 -1
  151. package/dist/common/pathUtils.js.map +1 -1
  152. package/dist/common/positionUtils.js.map +1 -1
  153. package/dist/common/progressReporter.js.map +1 -1
  154. package/dist/common/pythonVersion.js.map +1 -1
  155. package/dist/common/realFileSystem.js +1 -1
  156. package/dist/common/realFileSystem.js.map +1 -1
  157. package/dist/common/serviceProvider.js.map +1 -1
  158. package/dist/common/serviceProviderExtensions.js.map +1 -1
  159. package/dist/common/stringUtils.js.map +1 -1
  160. package/dist/common/textEditTracker.js.map +1 -1
  161. package/dist/common/textRange.js.map +1 -1
  162. package/dist/common/textRangeCollection.js.map +1 -1
  163. package/dist/common/timing.js.map +1 -1
  164. package/dist/common/uri/baseUri.d.ts +2 -0
  165. package/dist/common/uri/baseUri.js +7 -7
  166. package/dist/common/uri/baseUri.js.map +1 -1
  167. package/dist/common/uri/emptyUri.d.ts +2 -0
  168. package/dist/common/uri/emptyUri.js +6 -0
  169. package/dist/common/uri/emptyUri.js.map +1 -1
  170. package/dist/common/uri/fileUri.d.ts +6 -4
  171. package/dist/common/uri/fileUri.js +18 -9
  172. package/dist/common/uri/fileUri.js.map +1 -1
  173. package/dist/common/uri/memoization.js.map +1 -1
  174. package/dist/common/uri/uri.d.ts +8 -0
  175. package/dist/common/uri/uri.js +16 -7
  176. package/dist/common/uri/uri.js.map +1 -1
  177. package/dist/common/uri/uriUtils.js.map +1 -1
  178. package/dist/common/uri/webUri.d.ts +3 -1
  179. package/dist/common/uri/webUri.js +21 -8
  180. package/dist/common/uri/webUri.js.map +1 -1
  181. package/dist/common/workspaceEditUtils.js.map +1 -1
  182. package/dist/languageServerBase.js.map +1 -1
  183. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  184. package/dist/languageService/autoImporter.d.ts +1 -0
  185. package/dist/languageService/autoImporter.js +3 -1
  186. package/dist/languageService/autoImporter.js.map +1 -1
  187. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  188. package/dist/languageService/codeActionProvider.js.map +1 -1
  189. package/dist/languageService/completionProvider.js +11 -3
  190. package/dist/languageService/completionProvider.js.map +1 -1
  191. package/dist/languageService/completionProviderUtils.js.map +1 -1
  192. package/dist/languageService/definitionProvider.js.map +1 -1
  193. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  194. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  195. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  196. package/dist/languageService/hoverProvider.js +1 -1
  197. package/dist/languageService/hoverProvider.js.map +1 -1
  198. package/dist/languageService/importSorter.js.map +1 -1
  199. package/dist/languageService/navigationUtils.js.map +1 -1
  200. package/dist/languageService/quickActions.js.map +1 -1
  201. package/dist/languageService/referencesProvider.js +11 -1
  202. package/dist/languageService/referencesProvider.js.map +1 -1
  203. package/dist/languageService/renameProvider.js.map +1 -1
  204. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  205. package/dist/languageService/symbolIndexer.js.map +1 -1
  206. package/dist/languageService/tooltipUtils.js.map +1 -1
  207. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  208. package/dist/localization/localize.d.ts +45 -3
  209. package/dist/localization/localize.js +16 -3
  210. package/dist/localization/localize.js.map +1 -1
  211. package/dist/localization/package.nls.cs.json +15 -9
  212. package/dist/localization/package.nls.de.json +17 -11
  213. package/dist/localization/package.nls.en-us.json +25 -12
  214. package/dist/localization/package.nls.es.json +16 -10
  215. package/dist/localization/package.nls.fr.json +16 -10
  216. package/dist/localization/package.nls.it.json +16 -10
  217. package/dist/localization/package.nls.ja.json +17 -11
  218. package/dist/localization/package.nls.ko.json +14 -8
  219. package/dist/localization/package.nls.pl.json +14 -8
  220. package/dist/localization/package.nls.pt-br.json +17 -11
  221. package/dist/localization/package.nls.qps-ploc.json +12 -6
  222. package/dist/localization/package.nls.ru.json +17 -11
  223. package/dist/localization/package.nls.tr.json +16 -10
  224. package/dist/localization/package.nls.zh-cn.json +17 -11
  225. package/dist/localization/package.nls.zh-tw.json +17 -11
  226. package/dist/nodeMain.js.map +1 -1
  227. package/dist/nodeServer.js.map +1 -1
  228. package/dist/parser/characterStream.js.map +1 -1
  229. package/dist/parser/characters.js.map +1 -1
  230. package/dist/parser/parseNodes.js.map +1 -1
  231. package/dist/parser/parser.js.map +1 -1
  232. package/dist/parser/stringTokenUtils.js.map +1 -1
  233. package/dist/parser/tokenizer.js.map +1 -1
  234. package/dist/parser/tokenizerTypes.js.map +1 -1
  235. package/dist/parser/unicode.js.map +1 -1
  236. package/dist/pprof/profiler.js.map +1 -1
  237. package/dist/pyright.js.map +1 -1
  238. package/dist/pyrightFileSystem.js.map +1 -1
  239. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  240. package/dist/server.d.ts +2 -1
  241. package/dist/server.js +9 -7
  242. package/dist/server.js.map +1 -1
  243. package/dist/tests/cacheManager.test.js.map +1 -1
  244. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  245. package/dist/tests/checker.test.js +0 -4
  246. package/dist/tests/checker.test.js.map +1 -1
  247. package/dist/tests/classDeclaration.test.js.map +1 -1
  248. package/dist/tests/collectionUtils.test.js.map +1 -1
  249. package/dist/tests/common.test.js.map +1 -1
  250. package/dist/tests/completions.test.js +23 -0
  251. package/dist/tests/completions.test.js.map +1 -1
  252. package/dist/tests/config.test.js +1 -2
  253. package/dist/tests/config.test.js.map +1 -1
  254. package/dist/tests/debug.test.js.map +1 -1
  255. package/dist/tests/deferred.test.js.map +1 -1
  256. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  257. package/dist/tests/diagnostics.test.js.map +1 -1
  258. package/dist/tests/docStringConversion.test.js.map +1 -1
  259. package/dist/tests/docStringUtils.test.js.map +1 -1
  260. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  261. package/dist/tests/envVarUtils.test.d.ts +1 -0
  262. package/dist/tests/envVarUtils.test.js +130 -0
  263. package/dist/tests/envVarUtils.test.js.map +1 -0
  264. package/dist/tests/filesystem.test.js.map +1 -1
  265. package/dist/tests/fourSlashParser.test.js.map +1 -1
  266. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  267. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.js.map +1 -1
  268. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.js.map +1 -1
  269. package/dist/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.js.map +1 -1
  270. package/dist/tests/fourslash/completions.autoimport.disabled.fourslash.js.map +1 -1
  271. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.js.map +1 -1
  272. package/dist/tests/fourslash/completions.autoimport.fourslash.js.map +1 -1
  273. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.js.map +1 -1
  274. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -1
  275. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.js.map +1 -1
  276. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  277. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.js.map +1 -1
  278. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.js.map +1 -1
  279. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  280. package/dist/tests/fourslash/completions.builtinOverride.fourslash.js.map +1 -1
  281. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.js.map +1 -1
  282. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
  283. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
  284. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
  285. package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
  286. package/dist/tests/fourslash/completions.comment.fourslash.js.map +1 -1
  287. package/dist/tests/fourslash/completions.declNames.class.fourslash.js.map +1 -1
  288. package/dist/tests/fourslash/completions.declNames.exception.fourslash.js.map +1 -1
  289. package/dist/tests/fourslash/completions.declNames.for.fourslash.js.map +1 -1
  290. package/dist/tests/fourslash/completions.declNames.importAlias.fourslash.js.map +1 -1
  291. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.js.map +1 -1
  292. package/dist/tests/fourslash/completions.declNames.method.fourslash.js.map +1 -1
  293. package/dist/tests/fourslash/completions.declNames.overload.fourslash.js.map +1 -1
  294. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.js.map +1 -1
  295. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.js.map +1 -1
  296. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js.map +1 -1
  297. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
  298. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.js.map +1 -1
  299. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js.map +1 -1
  300. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.js.map +1 -1
  301. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js.map +1 -1
  302. package/dist/tests/fourslash/completions.dunderNew.fourslash.js.map +1 -1
  303. package/dist/tests/fourslash/completions.enums.members.fourslash.js.map +1 -1
  304. package/dist/tests/fourslash/completions.errorNodes.fourslash.js.map +1 -1
  305. package/dist/tests/fourslash/completions.excluded.fourslash.js.map +1 -1
  306. package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
  307. package/dist/tests/fourslash/completions.fstring.fourslash.js.map +1 -1
  308. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
  309. package/dist/tests/fourslash/completions.fuzzyMatching.fourslash.js.map +1 -1
  310. package/dist/tests/fourslash/completions.importDunderNames.fourslash.js.map +1 -1
  311. package/dist/tests/fourslash/completions.importInterimFile.fourslash.disabled.js.map +1 -1
  312. package/dist/tests/fourslash/completions.importPrivateNoPytyped.fourslash.js.map +1 -1
  313. package/dist/tests/fourslash/completions.importPytyped.fourslash.js.map +1 -1
  314. package/dist/tests/fourslash/completions.importPytypedLocal.fourslash.js.map +1 -1
  315. package/dist/tests/fourslash/completions.importSubmodule.fourslash.js.map +1 -1
  316. package/dist/tests/fourslash/completions.importsDuplicates.fourslash.js.map +1 -1
  317. package/dist/tests/fourslash/completions.inList.fourslash.js.map +1 -1
  318. package/dist/tests/fourslash/completions.included.fourslash.js.map +1 -1
  319. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js.map +1 -1
  320. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
  321. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.js.map +1 -1
  322. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.js.map +1 -1
  323. package/dist/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.js.map +1 -1
  324. package/dist/tests/fourslash/completions.inherited.property.docFromStub.fourslash.js.map +1 -1
  325. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
  326. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
  327. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
  328. package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
  329. package/dist/tests/fourslash/completions.literals.fourslash.js.map +1 -1
  330. package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
  331. package/dist/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.js.map +1 -1
  332. package/dist/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.js.map +1 -1
  333. package/dist/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.js.map +1 -1
  334. package/dist/tests/fourslash/completions.overloads.fourslash.js.map +1 -1
  335. package/dist/tests/fourslash/completions.override.default.fourslash.js.map +1 -1
  336. package/dist/tests/fourslash/completions.override.default.importStub.js.map +1 -1
  337. package/dist/tests/fourslash/completions.override.default.imported.fourslash.js.map +1 -1
  338. package/dist/tests/fourslash/completions.override.default.stub.fourslash.js.map +1 -1
  339. package/dist/tests/fourslash/completions.override.fourslash.js.map +1 -1
  340. package/dist/tests/fourslash/completions.override.property.fourslash.js.map +1 -1
  341. package/dist/tests/fourslash/completions.override.property.stub.fourslash.js.map +1 -1
  342. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.js.map +1 -1
  343. package/dist/tests/fourslash/completions.override.stub.fourslash.js.map +1 -1
  344. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  345. package/dist/tests/fourslash/completions.parameters.fourslash.js.map +1 -1
  346. package/dist/tests/fourslash/completions.params.fourslash.js.map +1 -1
  347. package/dist/tests/fourslash/completions.parentFolder.fourslash.js.map +1 -1
  348. package/dist/tests/fourslash/completions.parentFolders.fourslash.js.map +1 -1
  349. package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
  350. package/dist/tests/fourslash/completions.private.fourslash.js.map +1 -1
  351. package/dist/tests/fourslash/completions.property.fourslash.js.map +1 -1
  352. package/dist/tests/fourslash/completions.propertyDocStrings.fourslash.js.map +1 -1
  353. package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
  354. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.js.map +1 -1
  355. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
  356. package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -1
  357. package/dist/tests/fourslash/completions.typeAlias.fourslash.js.map +1 -1
  358. package/dist/tests/fourslash/completions.typeshed.fourslash.js.map +1 -1
  359. package/dist/tests/fourslash/completions.vardecls.fourslash.js.map +1 -1
  360. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js.map +1 -1
  361. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
  362. package/dist/tests/fourslash/completions.with.fourslash.js.map +1 -1
  363. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.js.map +1 -1
  364. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
  365. package/dist/tests/fourslash/findDefinitions.classes.fourslash.js.map +1 -1
  366. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
  367. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.js.map +1 -1
  368. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.js.map +1 -1
  369. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.js.map +1 -1
  370. package/dist/tests/fourslash/findDefinitions.fields.fourslash.js.map +1 -1
  371. package/dist/tests/fourslash/findDefinitions.functions.fourslash.js.map +1 -1
  372. package/dist/tests/fourslash/findDefinitions.methods.fourslash.js.map +1 -1
  373. package/dist/tests/fourslash/findDefinitions.modules.fourslash.js.map +1 -1
  374. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
  375. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -1
  376. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.js.map +1 -1
  377. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js.map +1 -1
  378. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.js.map +1 -1
  379. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.js.map +1 -1
  380. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.js.map +1 -1
  381. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.js.map +1 -1
  382. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.js.map +1 -1
  383. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.js.map +1 -1
  384. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.js.map +1 -1
  385. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.js.map +1 -1
  386. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.js.map +1 -1
  387. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.js.map +1 -1
  388. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.js.map +1 -1
  389. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.js.map +1 -1
  390. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.js.map +1 -1
  391. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.js.map +1 -1
  392. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js.map +1 -1
  393. package/dist/tests/fourslash/findDefinitions.variables.fourslash.js.map +1 -1
  394. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js.map +1 -1
  395. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.js.map +1 -1
  396. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js.map +1 -1
  397. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.js.map +1 -1
  398. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.js.map +1 -1
  399. package/dist/tests/fourslash/findallreferences.fourslash.js.map +1 -1
  400. package/dist/tests/fourslash/findallreferences.importalias.fourslash.js.map +1 -1
  401. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.js.map +1 -1
  402. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.js.map +1 -1
  403. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.js.map +1 -1
  404. package/dist/tests/fourslash/findallreferences.modules.fourslash.js.map +1 -1
  405. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.js.map +1 -1
  406. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.js.map +1 -1
  407. package/dist/tests/fourslash/findallreferences.parameter.fourslash.js.map +1 -1
  408. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.js.map +1 -1
  409. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.js.map +1 -1
  410. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.js.map +1 -1
  411. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.js.map +1 -1
  412. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.js.map +1 -1
  413. package/dist/tests/fourslash/findallreferences.variable.fourslash.js.map +1 -1
  414. package/dist/tests/fourslash/fourslash.js.map +1 -1
  415. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.js.map +1 -1
  416. package/dist/tests/fourslash/hover.async.fourslash.js.map +1 -1
  417. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
  418. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -1
  419. package/dist/tests/fourslash/hover.classNoInit.fourslash.js.map +1 -1
  420. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
  421. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js.map +1 -1
  422. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js.map +1 -1
  423. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js.map +1 -1
  424. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js.map +1 -1
  425. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js.map +1 -1
  426. package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.js.map +1 -1
  427. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
  428. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js.map +1 -1
  429. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
  430. package/dist/tests/fourslash/hover.docstring.links.fourslash.js.map +1 -1
  431. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js.map +1 -1
  432. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.js.map +1 -1
  433. package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
  434. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js.map +1 -1
  435. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js.map +1 -1
  436. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js.map +1 -1
  437. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js.map +1 -1
  438. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js.map +1 -1
  439. package/dist/tests/fourslash/hover.formatted.fourslash.js.map +1 -1
  440. package/dist/tests/fourslash/hover.fourslash.js.map +1 -1
  441. package/dist/tests/fourslash/hover.import.django.view.fourslash.js.map +1 -1
  442. package/dist/tests/fourslash/hover.import.fourslash.js.map +1 -1
  443. package/dist/tests/fourslash/hover.inferred.fourslash.js.map +1 -1
  444. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  445. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js.map +1 -1
  446. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  447. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.js.map +1 -1
  448. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.js.map +1 -1
  449. package/dist/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.js.map +1 -1
  450. package/dist/tests/fourslash/hover.inherited.property.docFromStub.fourslash.js.map +1 -1
  451. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  452. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js.map +1 -1
  453. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js.map +1 -1
  454. package/dist/tests/fourslash/hover.libStub.fourslash.js.map +1 -1
  455. package/dist/tests/fourslash/hover.optionalAliasParameter.fourslash.js.map +1 -1
  456. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js.map +1 -1
  457. package/dist/tests/fourslash/hover.plainText.fourslash.js.map +1 -1
  458. package/dist/tests/fourslash/hover.slots.fourslash.js.map +1 -1
  459. package/dist/tests/fourslash/hover.typedDict.key.fourslash.js.map +1 -1
  460. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.js.map +1 -1
  461. package/dist/tests/fourslash/hover.variable.docString.fourslash.js.map +1 -1
  462. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
  463. package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -1
  464. package/dist/tests/fourslash/import.publicSymbols.fourslash.js.map +1 -1
  465. package/dist/tests/fourslash/import.pytyped.dunderAll.fourslash.js.map +1 -1
  466. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js.map +1 -1
  467. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js.map +1 -1
  468. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js.map +1 -1
  469. package/dist/tests/fourslash/import.wildcard.fourslash.js.map +1 -1
  470. package/dist/tests/fourslash/importnotresolved.fourslash.js.map +1 -1
  471. package/dist/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.js.map +1 -1
  472. package/dist/tests/fourslash/missingModuleSource.fourslash.js.map +1 -1
  473. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
  474. package/dist/tests/fourslash/missingTypeStub.command.multipart.fourslash.js.map +1 -1
  475. package/dist/tests/fourslash/missingTypeStub.command.singlefile.fourslash.js.map +1 -1
  476. package/dist/tests/fourslash/missingTypeStub.command.singlepart.fourslash.js.map +1 -1
  477. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js.map +1 -1
  478. package/dist/tests/fourslash/missingTypeStub.fourslash.js.map +1 -1
  479. package/dist/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.js.map +1 -1
  480. package/dist/tests/fourslash/noerrors.fourslash.js.map +1 -1
  481. package/dist/tests/fourslash/orderImports1.command.fourslash.js.map +1 -1
  482. package/dist/tests/fourslash/orderImports2.command.fourslash.js.map +1 -1
  483. package/dist/tests/fourslash/rename.externallyHidden.fourslash.js.map +1 -1
  484. package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.js.map +1 -1
  485. package/dist/tests/fourslash/rename.fourslash.js.map +1 -1
  486. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.js.map +1 -1
  487. package/dist/tests/fourslash/rename.init.fourslash.js.map +1 -1
  488. package/dist/tests/fourslash/rename.library.fourslash.js.map +1 -1
  489. package/dist/tests/fourslash/rename.library.sourceAndStub.fourslash.js.map +1 -1
  490. package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
  491. package/dist/tests/fourslash/rename.multipleDecl.fourslash.js.map +1 -1
  492. package/dist/tests/fourslash/rename.parens.fourslash.js.map +1 -1
  493. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.js.map +1 -1
  494. package/dist/tests/fourslash/rename.string.excluded.fourslash.js.map +1 -1
  495. package/dist/tests/fourslash/rename.string.fourslash.js.map +1 -1
  496. package/dist/tests/fourslash/shadowedImports.fourslash.js.map +1 -1
  497. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  498. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.js.map +1 -1
  499. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  500. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.js.map +1 -1
  501. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.js.map +1 -1
  502. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.js.map +1 -1
  503. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  504. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  505. package/dist/tests/fourslash/signature.cornercases.fourslash.js.map +1 -1
  506. package/dist/tests/fourslash/signature.docstrings.fourslash.js.map +1 -1
  507. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
  508. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js.map +1 -1
  509. package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -1
  510. package/dist/tests/fourslash/signature.overload.fourslash.js.map +1 -1
  511. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  512. package/dist/tests/fourslash/typeVerifier.fourslash.js.map +1 -1
  513. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  514. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  515. package/dist/tests/harness/fourslash/runner.js +1 -1
  516. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  517. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  518. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  519. package/dist/tests/harness/fourslash/testState.d.ts +0 -13
  520. package/dist/tests/harness/fourslash/testState.js +11 -0
  521. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  522. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  523. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  524. package/dist/tests/harness/testAccessHost.js.map +1 -1
  525. package/dist/tests/harness/testHost.js.map +1 -1
  526. package/dist/tests/harness/utils.js.map +1 -1
  527. package/dist/tests/harness/vfs/factory.js.map +1 -1
  528. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  529. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  530. package/dist/tests/hoverProvider.test.js.map +1 -1
  531. package/dist/tests/importResolver.test.js.map +1 -1
  532. package/dist/tests/importStatementUtils.test.js +8 -0
  533. package/dist/tests/importStatementUtils.test.js.map +1 -1
  534. package/dist/tests/ipythonMode.test.js.map +1 -1
  535. package/dist/tests/languageServer.test.d.ts +1 -0
  536. package/dist/tests/languageServer.test.js +137 -0
  537. package/dist/tests/languageServer.test.js.map +1 -0
  538. package/dist/tests/localizer.test.js.map +1 -1
  539. package/dist/tests/logger.test.js.map +1 -1
  540. package/dist/tests/lsp/customLsp.d.ts +112 -0
  541. package/dist/tests/lsp/customLsp.js +67 -0
  542. package/dist/tests/lsp/customLsp.js.map +1 -0
  543. package/dist/tests/lsp/languageServer.d.ts +1 -0
  544. package/dist/tests/lsp/languageServer.js +326 -0
  545. package/dist/tests/lsp/languageServer.js.map +1 -0
  546. package/dist/tests/lsp/languageServerTestUtils.d.ts +100 -0
  547. package/dist/tests/lsp/languageServerTestUtils.js +803 -0
  548. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -0
  549. package/dist/tests/lsp/main.d.ts +1 -0
  550. package/dist/tests/lsp/main.js +12 -0
  551. package/dist/tests/lsp/main.js.map +1 -0
  552. package/dist/tests/lsp/webpack.testserver.config.d.ts +4 -0
  553. package/dist/tests/lsp/webpack.testserver.config.js +64 -0
  554. package/dist/tests/lsp/webpack.testserver.config.js.map +1 -0
  555. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  556. package/dist/tests/parser.test.js.map +1 -1
  557. package/dist/tests/pathUtils.test.js.map +1 -1
  558. package/dist/tests/positionUtils.test.js.map +1 -1
  559. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  560. package/dist/tests/serialization.test.js.map +1 -1
  561. package/dist/tests/service.test.js.map +1 -1
  562. package/dist/tests/signatureHelp.test.js.map +1 -1
  563. package/dist/tests/sourceFile.test.js.map +1 -1
  564. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  565. package/dist/tests/stringUtils.test.js.map +1 -1
  566. package/dist/tests/symbolNameUtils.test.js.map +1 -1
  567. package/dist/tests/testState.test.js.map +1 -1
  568. package/dist/tests/testStateUtils.js.map +1 -1
  569. package/dist/tests/testUtils.js.map +1 -1
  570. package/dist/tests/textEditUtil.test.js.map +1 -1
  571. package/dist/tests/textRange.test.js.map +1 -1
  572. package/dist/tests/tokenizer.test.js.map +1 -1
  573. package/dist/tests/typeEvaluator1.test.js +21 -5
  574. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  575. package/dist/tests/typeEvaluator2.test.js +8 -4
  576. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  577. package/dist/tests/typeEvaluator3.test.js +5 -9
  578. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  579. package/dist/tests/typeEvaluator4.test.js +1 -1
  580. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  581. package/dist/tests/typeEvaluator5.test.js +43 -1
  582. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  583. package/dist/tests/typePrinter.test.js.map +1 -1
  584. package/dist/tests/uri.test.js +74 -26
  585. package/dist/tests/uri.test.js.map +1 -1
  586. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  587. package/dist/tests/zipfs.test.js.map +1 -1
  588. package/dist/workspaceFactory.js +2 -1
  589. package/dist/workspaceFactory.js.map +1 -1
  590. package/package.json +23 -15
  591. package/dist/analyzer/regions.d.ts +0 -11
  592. package/dist/analyzer/regions.js +0 -62
  593. package/dist/analyzer/regions.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cacheManager.js","sourceRoot":"","sources":["../../../src/analyzer/cacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cacheManager.js","sourceRoot":"","sources":["../../../../../src/analyzer/cacheManager.ts"],"names":[],"mappings":"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"}
@@ -134,6 +134,7 @@ export declare class Checker extends ParseTreeWalker {
134
134
  private _validateMultipleInheritanceCompatibility;
135
135
  private _validateMultipleInheritanceOverride;
136
136
  private _validateOverloadDecoratorConsistency;
137
+ private _validateTypedDictOverrides;
137
138
  private _validateBaseClassOverrides;
138
139
  private _validateOverrideDecoratorPresent;
139
140
  private _isMethodExemptFromLsp;
@@ -145,6 +146,4 @@ export declare class Checker extends ParseTreeWalker {
145
146
  private _validateYieldType;
146
147
  private _reportUnusedExceptStatements;
147
148
  private _reportDuplicateImports;
148
- private _checkRegions;
149
- private _addDiagnosticForRegionComment;
150
149
  }
@@ -62,7 +62,6 @@ const ParseTreeUtils = __importStar(require("./parseTreeUtils"));
62
62
  const parseTreeWalker_1 = require("./parseTreeWalker");
63
63
  const patternMatching_1 = require("./patternMatching");
64
64
  const protocols_1 = require("./protocols");
65
- const regions_1 = require("./regions");
66
65
  const scopeUtils_1 = require("./scopeUtils");
67
66
  const sourceFile_1 = require("./sourceFile");
68
67
  const sourceMapper_1 = require("./sourceMapper");
@@ -73,6 +72,7 @@ const typeEvaluator_1 = require("./typeEvaluator");
73
72
  const typeGuards_1 = require("./typeGuards");
74
73
  const typeUtils_1 = require("./typeUtils");
75
74
  const typeVarContext_1 = require("./typeVarContext");
75
+ const typedDicts_1 = require("./typedDicts");
76
76
  const types_1 = require("./types");
77
77
  // When enabled, this debug flag causes the code complexity of
78
78
  // functions to be emitted.
@@ -116,7 +116,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
116
116
  // defined in this module for things like unaccessed variables.
117
117
  this._validateSymbolTables();
118
118
  this._reportDuplicateImports();
119
- this._checkRegions();
120
119
  }
121
120
  walk(node) {
122
121
  if (!AnalyzerNodeInfo.isCodeUnreachable(node)) {
@@ -181,6 +180,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
181
180
  this._validateSlotsClassVarConflict(classTypeResult.classType);
182
181
  }
183
182
  this._validateBaseClassOverrides(classTypeResult.classType);
183
+ this._validateTypedDictOverrides(classTypeResult.classType);
184
184
  this._validateOverloadDecoratorConsistency(classTypeResult.classType);
185
185
  this._validateMultipleInheritanceBaseClasses(classTypeResult.classType, node.name);
186
186
  this._validateMultipleInheritanceCompatibility(classTypeResult.classType, node.name);
@@ -288,7 +288,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
288
288
  const kwargsType = types_1.FunctionType.getEffectiveParameterType(functionTypeResult.functionType, kwargsIndex);
289
289
  if ((0, types_1.isClass)(kwargsType) && kwargsType.details.typedDictEntries) {
290
290
  const overlappingEntries = new Set();
291
- kwargsType.details.typedDictEntries.forEach((_, name) => {
291
+ kwargsType.details.typedDictEntries.knownItems.forEach((_, name) => {
292
292
  if (keywordNames.has(name)) {
293
293
  overlappingEntries.add(name);
294
294
  }
@@ -383,7 +383,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
383
383
  }
384
384
  // Verify common dunder signatures.
385
385
  this._validateDunderSignatures(node, functionTypeResult.functionType, containingClassNode !== undefined);
386
- // Verify TypeGuard functions.
386
+ // Verify TypeGuard and TypeIs functions.
387
387
  this._validateTypeGuardFunction(node, functionTypeResult.functionType, containingClassNode !== undefined);
388
388
  this._validateFunctionTypeVarUsage(node, functionTypeResult);
389
389
  this._validateGeneratorReturnType(node, functionTypeResult.functionType);
@@ -767,11 +767,12 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
767
767
  const baseType = this._evaluator.getType(node.baseExpression);
768
768
  if (baseType) {
769
769
  (0, typeUtils_1.doForEachSubtype)(baseType, (subtype) => {
770
+ const tupleType = (0, typeUtils_1.getSpecializedTupleType)(subtype);
770
771
  if ((0, types_1.isClassInstance)(subtype) &&
771
- subtype.tupleTypeArguments &&
772
- !(0, typeUtils_1.isUnboundedTupleClass)(subtype) &&
773
- !this._evaluator.isTypeSubsumedByOtherType(subtype, baseType, /* allowAnyToSubsume */ false)) {
774
- const tupleLength = subtype.tupleTypeArguments.length;
772
+ (tupleType === null || tupleType === void 0 ? void 0 : tupleType.tupleTypeArguments) &&
773
+ !(0, typeUtils_1.isUnboundedTupleClass)(tupleType) &&
774
+ !this._evaluator.isTypeSubsumedByOtherType(tupleType, baseType, /* allowAnyToSubsume */ false)) {
775
+ const tupleLength = tupleType.tupleTypeArguments.length;
775
776
  if (node.items.length === 1 &&
776
777
  !node.trailingComma &&
777
778
  node.items[0].argumentCategory === 0 /* ArgumentCategory.Simple */ &&
@@ -2053,14 +2054,21 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2053
2054
  // verify that there is an implementation.
2054
2055
  if (!this._fileInfo.isStubFile && overloadedFunctions.length > 0) {
2055
2056
  let implementationFunction;
2056
- if ((0, types_1.isOverloadedFunction)(type) && types_1.OverloadedFunctionType.getImplementation(type)) {
2057
+ let exemptMissingImplementation = false;
2058
+ if ((0, types_1.isOverloadedFunction)(type)) {
2057
2059
  implementationFunction = types_1.OverloadedFunctionType.getImplementation(type);
2060
+ // If the implementation has no name, it was synthesized probably by a
2061
+ // decorator that used a callable with a ParamSpec that captured the
2062
+ // overloaded signature. We'll exempt it from this check.
2063
+ const overloads = types_1.OverloadedFunctionType.getOverloads(type);
2064
+ if (overloads.length > 0 && overloads[0].details.name === '') {
2065
+ exemptMissingImplementation = true;
2066
+ }
2058
2067
  }
2059
2068
  else if ((0, types_1.isFunction)(type) && !types_1.FunctionType.isOverloaded(type)) {
2060
2069
  implementationFunction = type;
2061
2070
  }
2062
2071
  if (!implementationFunction) {
2063
- let exemptMissingImplementation = false;
2064
2072
  const containingClassNode = ParseTreeUtils.getEnclosingClassOrFunction(primaryDecl.node);
2065
2073
  if (containingClassNode && containingClassNode.nodeType === 10 /* ParseNodeType.Class */) {
2066
2074
  const classType = this._evaluator.getTypeOfClass(containingClassNode);
@@ -2782,7 +2790,15 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2782
2790
  case 0 /* TypeCategory.Unbound */:
2783
2791
  break;
2784
2792
  case 6 /* TypeCategory.Class */:
2785
- if ((0, typeUtils_1.isNoneInstance)(subtype)) {
2793
+ if (types_1.ClassType.isBuiltIn(subtype, 'TypedDict')) {
2794
+ diag.addMessage(localize_1.LocAddendum.typedDictNotAllowed());
2795
+ isSupported = false;
2796
+ }
2797
+ else if (types_1.ClassType.isBuiltIn(subtype, 'NamedTuple')) {
2798
+ diag.addMessage(localize_1.LocAddendum.namedTupleNotAllowed());
2799
+ isSupported = false;
2800
+ }
2801
+ else if ((0, typeUtils_1.isNoneInstance)(subtype)) {
2786
2802
  diag.addMessage(localize_1.LocAddendum.noneNotAllowed());
2787
2803
  isSupported = false;
2788
2804
  }
@@ -2809,6 +2825,12 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2809
2825
  diag.addMessage(localize_1.LocAddendum.newTypeClassNotAllowed());
2810
2826
  isSupported = false;
2811
2827
  }
2828
+ else if (subtype.specialForm &&
2829
+ (0, types_1.isInstantiableClass)(subtype.specialForm) &&
2830
+ types_1.ClassType.isBuiltIn(subtype.specialForm, 'Annotated')) {
2831
+ diag.addMessage(localize_1.LocAddendum.annotatedNotAllowed());
2832
+ isSupported = false;
2833
+ }
2812
2834
  break;
2813
2835
  case 4 /* TypeCategory.Function */:
2814
2836
  if (!types_1.TypeBase.isInstantiable(subtype) || subtype.isCallableWithTypeArgs) {
@@ -3027,7 +3049,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3027
3049
  const type = this._evaluator.getType(node);
3028
3050
  if (type) {
3029
3051
  if ((0, types_1.isUnbound)(type)) {
3030
- this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportUnboundVariable, localize_1.LocMessage.symbolIsUnbound().format({ name: node.value }), node);
3052
+ if (this._evaluator.isNodeReachable(node)) {
3053
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportUnboundVariable, localize_1.LocMessage.symbolIsUnbound().format({ name: node.value }), node);
3054
+ }
3031
3055
  }
3032
3056
  else if ((0, types_1.isPossiblyUnbound)(type)) {
3033
3057
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportPossiblyUnboundVariable, localize_1.LocMessage.symbolIsPossiblyUnbound().format({ name: node.value }), node);
@@ -3248,6 +3272,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3248
3272
  });
3249
3273
  }
3250
3274
  _validateTypeGuardFunction(node, functionType, isMethod) {
3275
+ var _a;
3251
3276
  const returnType = functionType.details.declaredReturnType;
3252
3277
  if (!returnType) {
3253
3278
  return;
@@ -3255,7 +3280,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3255
3280
  if (!(0, types_1.isClassInstance)(returnType) || !returnType.typeArguments || returnType.typeArguments.length < 1) {
3256
3281
  return;
3257
3282
  }
3258
- if (!types_1.ClassType.isBuiltIn(returnType, 'TypeGuard')) {
3283
+ const isTypeGuard = types_1.ClassType.isBuiltIn(returnType, 'TypeGuard');
3284
+ const isTypeIs = types_1.ClassType.isBuiltIn(returnType, 'TypeIs');
3285
+ if (!isTypeGuard && !isTypeIs) {
3259
3286
  return;
3260
3287
  }
3261
3288
  // Make sure there's at least one input parameter provided.
@@ -3270,6 +3297,25 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3270
3297
  if (paramCount < 1) {
3271
3298
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typeGuardParamCount(), node.name);
3272
3299
  }
3300
+ if (isTypeIs) {
3301
+ const typeGuardType = returnType.typeArguments[0];
3302
+ // Determine the type of the first parameter.
3303
+ const paramIndex = isMethod && !types_1.FunctionType.isStaticMethod(functionType) ? 1 : 0;
3304
+ if (paramIndex >= functionType.details.parameters.length) {
3305
+ return;
3306
+ }
3307
+ const paramType = types_1.FunctionType.getEffectiveParameterType(functionType, paramIndex);
3308
+ // Verify that the typeGuardType is a narrower type than the paramType.
3309
+ if (!this._evaluator.assignType(paramType, typeGuardType)) {
3310
+ const returnAnnotation = node.returnTypeAnnotation || ((_a = node.functionAnnotationComment) === null || _a === void 0 ? void 0 : _a.returnTypeAnnotation);
3311
+ if (returnAnnotation) {
3312
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typeIsReturnType().format({
3313
+ type: this._evaluator.printType(paramType),
3314
+ returnType: this._evaluator.printType(typeGuardType),
3315
+ }), returnAnnotation);
3316
+ }
3317
+ }
3318
+ }
3273
3319
  }
3274
3320
  _validateDunderSignatures(node, functionType, isMethod) {
3275
3321
  var _a;
@@ -3379,15 +3425,27 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3379
3425
  _validateFinalMemberOverrides(classType) {
3380
3426
  classType.details.fields.forEach((localSymbol, name) => {
3381
3427
  const parentSymbol = (0, typeUtils_1.lookUpClassMember)(classType, name, 1 /* MemberAccessFlags.SkipOriginalClass */);
3382
- if (parentSymbol &&
3383
- (0, types_1.isInstantiableClass)(parentSymbol.classType) &&
3384
- this._evaluator.isFinalVariable(parentSymbol.symbol) &&
3385
- !SymbolNameUtils.isPrivateName(name)) {
3386
- const decl = localSymbol.getDeclarations()[0];
3387
- this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.finalRedeclarationBySubclass().format({
3388
- name,
3389
- className: parentSymbol.classType.details.name,
3390
- }), decl.node);
3428
+ if (parentSymbol && (0, types_1.isInstantiableClass)(parentSymbol.classType) && !SymbolNameUtils.isPrivateName(name)) {
3429
+ // Did the parent class explicitly declare the variable as final?
3430
+ if (this._evaluator.isFinalVariable(parentSymbol.symbol)) {
3431
+ const decl = localSymbol.getDeclarations()[0];
3432
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.finalRedeclarationBySubclass().format({
3433
+ name,
3434
+ className: parentSymbol.classType.details.name,
3435
+ }), decl.node);
3436
+ }
3437
+ else if (types_1.ClassType.isReadOnlyInstanceVariables(parentSymbol.classType) &&
3438
+ !SymbolNameUtils.isDunderName(name)) {
3439
+ // If the parent class is a named tuple, all instance variables
3440
+ // (other than dundered ones) are implicitly final.
3441
+ const decl = localSymbol.getDeclarations()[0];
3442
+ if (decl.type === 1 /* DeclarationType.Variable */) {
3443
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.namedTupleEntryRedeclared().format({
3444
+ name,
3445
+ className: parentSymbol.classType.details.name,
3446
+ }), decl.node);
3447
+ }
3448
+ }
3391
3449
  }
3392
3450
  });
3393
3451
  }
@@ -3401,8 +3459,20 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3401
3459
  const declaredValueType = (0, enums_1.getEnumDeclaredValueType)(this._evaluator, classType, /* declaredTypesOnly */ true);
3402
3460
  // Is there a custom "__new__" and/or "__init__" method? If so, we'll
3403
3461
  // verify that the signature of these calls is compatible with the values.
3404
- const newMemberTypeResult = (0, constructors_1.getBoundNewMethod)(this._evaluator, node.name, classType, 2 /* MemberAccessFlags.SkipBaseClasses */);
3405
- const initMemberTypeResult = (0, constructors_1.getBoundInitMethod)(this._evaluator, node.name, types_1.ClassType.cloneAsInstance(classType), 2 /* MemberAccessFlags.SkipBaseClasses */);
3462
+ let newMemberTypeResult = (0, constructors_1.getBoundNewMethod)(this._evaluator, node.name, classType, 4 /* MemberAccessFlags.SkipObjectBaseClass */);
3463
+ // If this __new__ comes from a built-in class like Enum, we'll ignore it.
3464
+ if (newMemberTypeResult === null || newMemberTypeResult === void 0 ? void 0 : newMemberTypeResult.classType) {
3465
+ if ((0, types_1.isClass)(newMemberTypeResult.classType) && types_1.ClassType.isBuiltIn(newMemberTypeResult.classType)) {
3466
+ newMemberTypeResult = undefined;
3467
+ }
3468
+ }
3469
+ let initMemberTypeResult = (0, constructors_1.getBoundInitMethod)(this._evaluator, node.name, types_1.ClassType.cloneAsInstance(classType), 4 /* MemberAccessFlags.SkipObjectBaseClass */);
3470
+ // If this __init__ comes from a built-in class like Enum, we'll ignore it.
3471
+ if (initMemberTypeResult === null || initMemberTypeResult === void 0 ? void 0 : initMemberTypeResult.classType) {
3472
+ if ((0, types_1.isClass)(initMemberTypeResult.classType) && types_1.ClassType.isBuiltIn(initMemberTypeResult.classType)) {
3473
+ initMemberTypeResult = undefined;
3474
+ }
3475
+ }
3406
3476
  classType.details.fields.forEach((symbol, name) => {
3407
3477
  var _a;
3408
3478
  // Enum members don't have type annotations.
@@ -3591,7 +3661,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3591
3661
  // variables. We need to make sure these are initialized.
3592
3662
  const abstractSymbols = new Map();
3593
3663
  if (types_1.ClassType.isFinal(classType)) {
3594
- (0, typeUtils_1.getProtocolSymbolsRecursive)(classType, abstractSymbols, 1024 /* ClassTypeFlags.SupportsAbstractMethods */);
3664
+ (0, typeUtils_1.getProtocolSymbolsRecursive)(classType, abstractSymbols, 2048 /* ClassTypeFlags.SupportsAbstractMethods */);
3595
3665
  }
3596
3666
  classType.details.fields.forEach((localSymbol, name) => {
3597
3667
  abstractSymbols.delete(name);
@@ -3994,6 +4064,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3994
4064
  }
3995
4065
  }
3996
4066
  _validateMultipleInheritanceOverride(overriddenClassAndSymbol, overrideClassAndSymbol, childClassType, memberName, errorNode) {
4067
+ var _a, _b, _c, _d;
3997
4068
  if (!(0, types_1.isClass)(overriddenClassAndSymbol.classType) || !(0, types_1.isClass)(overrideClassAndSymbol.classType)) {
3998
4069
  return;
3999
4070
  }
@@ -4061,67 +4132,62 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4061
4132
  // This check can be expensive, so don't perform it if the corresponding
4062
4133
  // rule is disabled.
4063
4134
  if (this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride !== 'none') {
4064
- if (!(0, types_1.isAnyOrUnknown)(overriddenType) && !(0, types_1.isAnyOrUnknown)(overrideType)) {
4065
- // If the child class overrides this symbol with its own type, make sure
4066
- // the override is compatible with the overridden symbol. Otherwise use the
4067
- // override type.
4068
- // Verify that the override type is assignable to (same or narrower than)
4069
- // the declared type of the base symbol.
4070
- const primaryDecl = (0, symbolUtils_1.getLastTypedDeclaredForSymbol)(overriddenClassAndSymbol.symbol);
4071
- let isInvariant = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.type) === 1 /* DeclarationType.Variable */ && !primaryDecl.isFinal;
4072
- // If the entry is a member of a frozen dataclass, it is immutable,
4073
- // so it does not need to be invariant.
4074
- if (types_1.ClassType.isFrozenDataClass(overriddenClassAndSymbol.classType) &&
4075
- overriddenClassAndSymbol.classType.details.dataClassEntries) {
4076
- const dataclassEntry = overriddenClassAndSymbol.classType.details.dataClassEntries.find((entry) => entry.name === memberName);
4077
- if (dataclassEntry) {
4078
- isInvariant = false;
4079
- }
4135
+ const primaryDecl = (0, symbolUtils_1.getLastTypedDeclaredForSymbol)(overriddenClassAndSymbol.symbol);
4136
+ let isInvariant = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.type) === 1 /* DeclarationType.Variable */ && !primaryDecl.isFinal;
4137
+ // If the entry is a member of a frozen dataclass, it is immutable,
4138
+ // so it does not need to be invariant.
4139
+ if (types_1.ClassType.isFrozenDataClass(overriddenClassAndSymbol.classType) &&
4140
+ overriddenClassAndSymbol.classType.details.dataClassEntries) {
4141
+ const dataclassEntry = overriddenClassAndSymbol.classType.details.dataClassEntries.find((entry) => entry.name === memberName);
4142
+ if (dataclassEntry) {
4143
+ isInvariant = false;
4080
4144
  }
4081
- let overriddenTDEntry;
4082
- if (overriddenClassAndSymbol.classType.details.typedDictEntries) {
4083
- overriddenTDEntry = overriddenClassAndSymbol.classType.details.typedDictEntries.get(memberName);
4084
- if (overriddenTDEntry === null || overriddenTDEntry === void 0 ? void 0 : overriddenTDEntry.isReadOnly) {
4085
- isInvariant = false;
4086
- }
4145
+ }
4146
+ let overriddenTDEntry;
4147
+ if (overriddenClassAndSymbol.classType.details.typedDictEntries) {
4148
+ overriddenTDEntry =
4149
+ (_b = (_a = overriddenClassAndSymbol.classType.details.typedDictEntries.knownItems.get(memberName)) !== null && _a !== void 0 ? _a : overriddenClassAndSymbol.classType.details.typedDictEntries.extraItems) !== null && _b !== void 0 ? _b : (0, typedDicts_1.getEffectiveExtraItemsEntryType)(this._evaluator, overriddenClassAndSymbol.classType);
4150
+ if (overriddenTDEntry === null || overriddenTDEntry === void 0 ? void 0 : overriddenTDEntry.isReadOnly) {
4151
+ isInvariant = false;
4087
4152
  }
4088
- let overrideTDEntry;
4089
- if (overrideClassAndSymbol.classType.details.typedDictEntries) {
4090
- overrideTDEntry = overrideClassAndSymbol.classType.details.typedDictEntries.get(memberName);
4153
+ }
4154
+ let overrideTDEntry;
4155
+ if (overrideClassAndSymbol.classType.details.typedDictEntries) {
4156
+ overrideTDEntry =
4157
+ (_d = (_c = overrideClassAndSymbol.classType.details.typedDictEntries.knownItems.get(memberName)) !== null && _c !== void 0 ? _c : overrideClassAndSymbol.classType.details.typedDictEntries.extraItems) !== null && _d !== void 0 ? _d : (0, typedDicts_1.getEffectiveExtraItemsEntryType)(this._evaluator, overrideClassAndSymbol.classType);
4158
+ }
4159
+ if (!this._evaluator.assignType(overriddenType, childOverrideType !== null && childOverrideType !== void 0 ? childOverrideType : overrideType,
4160
+ /* diag */ undefined,
4161
+ /* destTypeVarContext */ undefined,
4162
+ /* srcTypeVarContext */ undefined, isInvariant ? 1 /* AssignTypeFlags.EnforceInvariance */ : 0 /* AssignTypeFlags.Default */)) {
4163
+ diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.baseClassVariableTypeIncompatible().format({
4164
+ classType: childClassType.details.name,
4165
+ name: memberName,
4166
+ }), errorNode);
4167
+ }
4168
+ else if (overriddenTDEntry && overrideTDEntry) {
4169
+ let isRequiredCompatible;
4170
+ let isReadOnlyCompatible = true;
4171
+ // If both classes are TypedDicts and they both define this field,
4172
+ // make sure the attributes are compatible.
4173
+ if (overriddenTDEntry.isReadOnly) {
4174
+ isRequiredCompatible = overrideTDEntry.isRequired || !overriddenTDEntry.isRequired;
4091
4175
  }
4092
- if (!this._evaluator.assignType(overriddenType, childOverrideType !== null && childOverrideType !== void 0 ? childOverrideType : overrideType,
4093
- /* diag */ undefined,
4094
- /* destTypeVarContext */ undefined,
4095
- /* srcTypeVarContext */ undefined, isInvariant ? 1 /* AssignTypeFlags.EnforceInvariance */ : 0 /* AssignTypeFlags.Default */)) {
4096
- diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.baseClassVariableTypeIncompatible().format({
4097
- classType: childClassType.details.name,
4176
+ else {
4177
+ isReadOnlyCompatible = !overrideTDEntry.isReadOnly;
4178
+ isRequiredCompatible = overrideTDEntry.isRequired === overriddenTDEntry.isRequired;
4179
+ }
4180
+ if (!isRequiredCompatible) {
4181
+ const message = overrideTDEntry.isRequired
4182
+ ? localize_1.LocMessage.typedDictFieldRequiredRedefinition
4183
+ : localize_1.LocMessage.typedDictFieldNotRequiredRedefinition;
4184
+ diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, message().format({ name: memberName }), errorNode);
4185
+ }
4186
+ else if (!isReadOnlyCompatible) {
4187
+ diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.typedDictFieldReadOnlyRedefinition().format({
4098
4188
  name: memberName,
4099
4189
  }), errorNode);
4100
4190
  }
4101
- else if (overriddenTDEntry && overrideTDEntry) {
4102
- let isRequiredCompatible;
4103
- let isReadOnlyCompatible = true;
4104
- // If both classes are TypedDicts and they both define this field,
4105
- // make sure the attributes are compatible.
4106
- if (overriddenTDEntry.isReadOnly) {
4107
- isRequiredCompatible = overrideTDEntry.isRequired || !overriddenTDEntry.isRequired;
4108
- }
4109
- else {
4110
- isReadOnlyCompatible = !overrideTDEntry.isReadOnly;
4111
- isRequiredCompatible = overrideTDEntry.isRequired === overriddenTDEntry.isRequired;
4112
- }
4113
- if (!isRequiredCompatible) {
4114
- const message = overrideTDEntry.isRequired
4115
- ? localize_1.LocMessage.typedDictFieldRequiredRedefinition
4116
- : localize_1.LocMessage.typedDictFieldNotRequiredRedefinition;
4117
- diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, message().format({ name: memberName }), errorNode);
4118
- }
4119
- else if (!isReadOnlyCompatible) {
4120
- diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.typedDictFieldReadOnlyRedefinition().format({
4121
- name: memberName,
4122
- }), errorNode);
4123
- }
4124
- }
4125
4191
  }
4126
4192
  }
4127
4193
  }
@@ -4181,6 +4247,84 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4181
4247
  }
4182
4248
  });
4183
4249
  }
4250
+ // For a TypedDict class that derives from another TypedDict class
4251
+ // that is closed, verify that any new keys are compatible with the
4252
+ // base class.
4253
+ _validateTypedDictOverrides(classType) {
4254
+ if (!types_1.ClassType.isTypedDictClass(classType)) {
4255
+ return;
4256
+ }
4257
+ const typedDictEntries = (0, typedDicts_1.getTypedDictMembersForClass)(this._evaluator, classType, /* allowNarrowed */ false);
4258
+ for (const baseClass of classType.details.baseClasses) {
4259
+ const diag = new diagnostic_1.DiagnosticAddendum();
4260
+ if (!(0, types_1.isClass)(baseClass) ||
4261
+ !types_1.ClassType.isTypedDictClass(baseClass) ||
4262
+ !types_1.ClassType.isTypedDictEffectivelyClosed(baseClass)) {
4263
+ continue;
4264
+ }
4265
+ const baseTypedDictEntries = (0, typedDicts_1.getTypedDictMembersForClass)(this._evaluator, baseClass,
4266
+ /* allowNarrowed */ false);
4267
+ const typeVarContext = (0, typeUtils_1.buildTypeVarContextFromSpecializedClass)(baseClass);
4268
+ const baseExtraItemsType = baseTypedDictEntries.extraItems
4269
+ ? (0, typeUtils_1.applySolvedTypeVars)(baseTypedDictEntries.extraItems.valueType, typeVarContext)
4270
+ : types_1.UnknownType.create();
4271
+ for (const [name, entry] of typedDictEntries.knownItems) {
4272
+ const baseEntry = baseTypedDictEntries.knownItems.get(name);
4273
+ if (!baseEntry) {
4274
+ if (!baseTypedDictEntries.extraItems || (0, types_1.isNever)(baseTypedDictEntries.extraItems.valueType)) {
4275
+ diag.addMessage(localize_1.LocAddendum.typedDictClosedExtraNotAllowed().format({
4276
+ name,
4277
+ }));
4278
+ }
4279
+ else if (!this._evaluator.assignType(baseExtraItemsType, entry.valueType,
4280
+ /* diag */ undefined,
4281
+ /* destTypeVarContext */ undefined,
4282
+ /* srcTypeVarContext */ undefined, !baseTypedDictEntries.extraItems.isReadOnly
4283
+ ? 1 /* AssignTypeFlags.EnforceInvariance */
4284
+ : 0 /* AssignTypeFlags.Default */)) {
4285
+ diag.addMessage(localize_1.LocAddendum.typedDictClosedExtraTypeMismatch().format({
4286
+ name,
4287
+ type: this._evaluator.printType(entry.valueType),
4288
+ }));
4289
+ }
4290
+ else if (!baseTypedDictEntries.extraItems.isReadOnly && entry.isRequired) {
4291
+ diag.addMessage(localize_1.LocAddendum.typedDictClosedFieldNotRequired().format({
4292
+ name,
4293
+ }));
4294
+ }
4295
+ }
4296
+ }
4297
+ if (typedDictEntries.extraItems && baseTypedDictEntries.extraItems) {
4298
+ if (!this._evaluator.assignType(baseExtraItemsType, typedDictEntries.extraItems.valueType,
4299
+ /* diag */ undefined,
4300
+ /* destTypeVarContext */ undefined,
4301
+ /* srcTypeVarContext */ undefined, !baseTypedDictEntries.extraItems.isReadOnly
4302
+ ? 1 /* AssignTypeFlags.EnforceInvariance */
4303
+ : 0 /* AssignTypeFlags.Default */)) {
4304
+ diag.addMessage(localize_1.LocAddendum.typedDictClosedExtraTypeMismatch().format({
4305
+ name: '__extra_items__',
4306
+ type: this._evaluator.printType(typedDictEntries.extraItems.valueType),
4307
+ }));
4308
+ }
4309
+ }
4310
+ if (!diag.isEmpty() && classType.details.declaration) {
4311
+ const declNode = (0, declarationUtils_1.getNameNodeForDeclaration)(classType.details.declaration);
4312
+ if (declNode) {
4313
+ if (baseTypedDictEntries.extraItems) {
4314
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.typedDictClosedExtras().format({
4315
+ name: baseClass.details.name,
4316
+ type: this._evaluator.printType(baseExtraItemsType),
4317
+ }) + diag.getString(), declNode);
4318
+ }
4319
+ else {
4320
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.typedDictClosedNoExtras().format({
4321
+ name: baseClass.details.name,
4322
+ }) + diag.getString(), declNode);
4323
+ }
4324
+ }
4325
+ }
4326
+ }
4327
+ }
4184
4328
  // Validates that any overridden methods or variables contain the same
4185
4329
  // types as the original method. Also marks the class as abstract if one
4186
4330
  // or more abstract methods are not overridden.
@@ -4300,7 +4444,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4300
4444
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.overriddenMethodNotFound().format({ name: funcNode.name.value }), funcNode.name);
4301
4445
  }
4302
4446
  _validateBaseClassOverride(baseClassAndSymbol, overrideSymbol, overrideType, childClassType, memberName) {
4303
- var _a, _b, _c, _d, _e, _f, _g, _h;
4447
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
4304
4448
  if (!(0, types_1.isInstantiableClass)(baseClassAndSymbol.classType)) {
4305
4449
  return;
4306
4450
  }
@@ -4492,15 +4636,28 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4492
4636
  }
4493
4637
  }
4494
4638
  let overriddenTDEntry;
4495
- if (baseClass.details.typedDictEntries) {
4496
- overriddenTDEntry = baseClass.details.typedDictEntries.get(memberName);
4497
- if (overriddenTDEntry === null || overriddenTDEntry === void 0 ? void 0 : overriddenTDEntry.isReadOnly) {
4498
- isInvariant = false;
4499
- }
4500
- }
4501
4639
  let overrideTDEntry;
4502
- if (childClassType.details.typedDictEntries) {
4503
- overrideTDEntry = childClassType.details.typedDictEntries.get(memberName);
4640
+ if (!overrideSymbol.isIgnoredForProtocolMatch()) {
4641
+ if (baseClass.details.typedDictEntries) {
4642
+ overriddenTDEntry =
4643
+ (_e = (_d = baseClass.details.typedDictEntries.knownItems.get(memberName)) !== null && _d !== void 0 ? _d : baseClass.details.typedDictEntries.extraItems) !== null && _e !== void 0 ? _e : (0, typedDicts_1.getEffectiveExtraItemsEntryType)(this._evaluator, baseClass);
4644
+ if (overriddenTDEntry === null || overriddenTDEntry === void 0 ? void 0 : overriddenTDEntry.isReadOnly) {
4645
+ isInvariant = false;
4646
+ }
4647
+ }
4648
+ if (childClassType.details.typedDictEntries) {
4649
+ // Exempt __extra_items__ here. We'll check this separately
4650
+ // in _validateTypedDictOverrides. If we don't skip it here,
4651
+ // redundant errors will be produced.
4652
+ if (types_1.ClassType.isTypedDictMarkedClosed(childClassType) && memberName === '__extra_items__') {
4653
+ overrideTDEntry = overriddenTDEntry;
4654
+ overrideType = baseType;
4655
+ }
4656
+ else {
4657
+ overrideTDEntry =
4658
+ (_g = (_f = childClassType.details.typedDictEntries.knownItems.get(memberName)) !== null && _f !== void 0 ? _f : childClassType.details.typedDictEntries.extraItems) !== null && _g !== void 0 ? _g : (0, typedDicts_1.getEffectiveExtraItemsEntryType)(this._evaluator, childClassType);
4659
+ }
4660
+ }
4504
4661
  }
4505
4662
  let diagAddendum = new diagnostic_1.DiagnosticAddendum();
4506
4663
  if (!this._evaluator.assignType(baseType, overrideType, diagAddendum,
@@ -4517,7 +4674,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4517
4674
  const diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.symbolOverridden().format({
4518
4675
  name: memberName,
4519
4676
  className: baseClass.details.name,
4520
- }) + diagAddendum.getString(), (_d = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _d !== void 0 ? _d : lastDecl.node);
4677
+ }) + diagAddendum.getString(), (_h = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _h !== void 0 ? _h : lastDecl.node);
4521
4678
  const origDecl = (0, symbolUtils_1.getLastTypedDeclaredForSymbol)(baseClassAndSymbol.symbol);
4522
4679
  if (diag && origDecl) {
4523
4680
  diag.addRelatedInfo(localize_1.LocAddendum.overriddenSymbol(), origDecl.uri, origDecl.range);
@@ -4538,14 +4695,14 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4538
4695
  const message = overrideTDEntry.isRequired
4539
4696
  ? localize_1.LocMessage.typedDictFieldRequiredRedefinition
4540
4697
  : localize_1.LocMessage.typedDictFieldNotRequiredRedefinition;
4541
- this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, message().format({ name: memberName }), (_e = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _e !== void 0 ? _e : lastDecl.node);
4698
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, message().format({ name: memberName }), (_j = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _j !== void 0 ? _j : lastDecl.node);
4542
4699
  }
4543
4700
  // Make sure that the derived class isn't marking a previously writable
4544
4701
  // entry as read-only.
4545
4702
  if (!overriddenTDEntry.isReadOnly && overrideTDEntry.isReadOnly) {
4546
4703
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typedDictFieldReadOnlyRedefinition().format({
4547
4704
  name: memberName,
4548
- }), (_f = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _f !== void 0 ? _f : lastDecl.node);
4705
+ }), (_k = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _k !== void 0 ? _k : lastDecl.node);
4549
4706
  }
4550
4707
  }
4551
4708
  // Verify that there is not a Final mismatch.
@@ -4555,7 +4712,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4555
4712
  const diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.variableFinalOverride().format({
4556
4713
  name: memberName,
4557
4714
  className: baseClass.details.name,
4558
- }), (_g = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _g !== void 0 ? _g : lastDecl.node);
4715
+ }), (_l = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _l !== void 0 ? _l : lastDecl.node);
4559
4716
  if (diag) {
4560
4717
  diag.addRelatedInfo(localize_1.LocAddendum.overriddenSymbol(), overrideFinalVarDecl.uri, overrideFinalVarDecl.range);
4561
4718
  }
@@ -4584,7 +4741,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4584
4741
  const diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, unformattedMessage.format({
4585
4742
  name: memberName,
4586
4743
  className: baseClass.details.name,
4587
- }), (_h = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _h !== void 0 ? _h : lastDecl.node);
4744
+ }), (_m = (0, declarationUtils_1.getNameNodeForDeclaration)(lastDecl)) !== null && _m !== void 0 ? _m : lastDecl.node);
4588
4745
  const origDecl = (0, symbolUtils_1.getLastTypedDeclaredForSymbol)(baseClassAndSymbol.symbol);
4589
4746
  if (diag && origDecl) {
4590
4747
  diag.addRelatedInfo(localize_1.LocAddendum.overriddenSymbol(), origDecl.uri, origDecl.range);
@@ -4958,33 +5115,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4958
5115
  }
4959
5116
  });
4960
5117
  }
4961
- _checkRegions() {
4962
- const regionComments = (0, regions_1.getRegionComments)(this._parseResults);
4963
- const regionStack = [];
4964
- regionComments.forEach((regionComment) => {
4965
- if (regionComment.type === 0 /* RegionCommentType.Region */) {
4966
- regionStack.push(regionComment);
4967
- }
4968
- else {
4969
- if (regionStack.length > 0) {
4970
- regionStack.pop();
4971
- }
4972
- else {
4973
- this._addDiagnosticForRegionComment(regionComment, localize_1.LocMessage.unmatchedEndregionComment());
4974
- }
4975
- }
4976
- });
4977
- regionStack.forEach((regionComment) => {
4978
- this._addDiagnosticForRegionComment(regionComment, localize_1.LocMessage.unmatchedRegionComment());
4979
- });
4980
- }
4981
- _addDiagnosticForRegionComment(regionComment, message) {
4982
- return this._evaluator.addDiagnosticForTextRange(this._fileInfo, 'error', '', message, {
4983
- // extend range to include # character
4984
- start: regionComment.comment.start - 1,
4985
- length: regionComment.comment.length + 1,
4986
- });
4987
- }
4988
5118
  }
4989
5119
  exports.Checker = Checker;
4990
5120
  //# sourceMappingURL=checker.js.map