@zzzen/pyright-internal 1.2.0-dev.20240811 → 1.2.0-dev.20240825

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 (890) hide show
  1. package/dist/analyzer/analyzerFileInfo.d.ts +1 -0
  2. package/dist/analyzer/analyzerFileInfo.js +1 -1
  3. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  4. package/dist/analyzer/checker.js +4 -4
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/codeFlowEngine.js +16 -1
  7. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  8. package/dist/analyzer/constraintSolution.d.ts +1 -2
  9. package/dist/analyzer/constraintSolution.js +1 -4
  10. package/dist/analyzer/constraintSolution.js.map +1 -1
  11. package/dist/analyzer/constraintSolver.js +3 -3
  12. package/dist/analyzer/constraintSolver.js.map +1 -1
  13. package/dist/analyzer/constraintTracker.js.map +1 -1
  14. package/dist/analyzer/constructorTransform.d.ts +1 -1
  15. package/dist/analyzer/constructorTransform.js +8 -8
  16. package/dist/analyzer/constructorTransform.js.map +1 -1
  17. package/dist/analyzer/constructors.js +9 -7
  18. package/dist/analyzer/constructors.js.map +1 -1
  19. package/dist/analyzer/dataClasses.js +10 -2
  20. package/dist/analyzer/dataClasses.js.map +1 -1
  21. package/dist/analyzer/declarationUtils.d.ts +1 -1
  22. package/dist/analyzer/declarationUtils.js +9 -2
  23. package/dist/analyzer/declarationUtils.js.map +1 -1
  24. package/dist/analyzer/enums.js +1 -1
  25. package/dist/analyzer/enums.js.map +1 -1
  26. package/dist/analyzer/importResolver.d.ts +1 -1
  27. package/dist/analyzer/importResolver.js +3 -3
  28. package/dist/analyzer/importResolver.js.map +1 -1
  29. package/dist/analyzer/operations.js +136 -117
  30. package/dist/analyzer/operations.js.map +1 -1
  31. package/dist/analyzer/parseTreeUtils.js +1 -1
  32. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  33. package/dist/analyzer/parseTreeWalker.d.ts +2 -2
  34. package/dist/analyzer/parseTreeWalker.js +5 -5
  35. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  36. package/dist/analyzer/protocols.js +29 -20
  37. package/dist/analyzer/protocols.js.map +1 -1
  38. package/dist/analyzer/pythonPathUtils.js +2 -1
  39. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  40. package/dist/analyzer/service.d.ts +1 -1
  41. package/dist/analyzer/service.js +41 -42
  42. package/dist/analyzer/service.js.map +1 -1
  43. package/dist/analyzer/sourceFile.d.ts +2 -0
  44. package/dist/analyzer/sourceFile.js +21 -0
  45. package/dist/analyzer/sourceFile.js.map +1 -1
  46. package/dist/analyzer/staticExpressions.js +9 -9
  47. package/dist/analyzer/staticExpressions.js.map +1 -1
  48. package/dist/analyzer/tuples.js +3 -3
  49. package/dist/analyzer/tuples.js.map +1 -1
  50. package/dist/analyzer/typeEvaluator.js +149 -145
  51. package/dist/analyzer/typeEvaluator.js.map +1 -1
  52. package/dist/analyzer/typeEvaluatorTypes.js +1 -1
  53. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  54. package/dist/analyzer/typePrinter.js +7 -38
  55. package/dist/analyzer/typePrinter.js.map +1 -1
  56. package/dist/analyzer/typePrinterUtils.d.ts +2 -0
  57. package/dist/analyzer/typePrinterUtils.js +49 -0
  58. package/dist/analyzer/typePrinterUtils.js.map +1 -0
  59. package/dist/analyzer/typeUtils.d.ts +4 -3
  60. package/dist/analyzer/typeUtils.js +25 -10
  61. package/dist/analyzer/typeUtils.js.map +1 -1
  62. package/dist/analyzer/types.d.ts +4 -2
  63. package/dist/analyzer/types.js +6 -3
  64. package/dist/analyzer/types.js.map +1 -1
  65. package/dist/backgroundThreadBase.js +0 -7
  66. package/dist/backgroundThreadBase.js.map +1 -1
  67. package/dist/common/commandLineOptions.d.ts +4 -0
  68. package/dist/common/commandLineOptions.js.map +1 -1
  69. package/dist/common/configOptions.d.ts +5 -2
  70. package/dist/common/configOptions.js +37 -30
  71. package/dist/common/configOptions.js.map +1 -1
  72. package/dist/common/extensions.d.ts +1 -3
  73. package/dist/common/extensions.js +1 -0
  74. package/dist/common/extensions.js.map +1 -1
  75. package/dist/common/fileBasedCancellationUtils.js +3 -0
  76. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  77. package/dist/common/fullAccessHost.d.ts +8 -0
  78. package/dist/common/fullAccessHost.js +31 -8
  79. package/dist/common/fullAccessHost.js.map +1 -1
  80. package/dist/common/languageServerInterface.d.ts +2 -1
  81. package/dist/common/languageServerInterface.js.map +1 -1
  82. package/dist/common/lspUtils.d.ts +2 -1
  83. package/dist/common/lspUtils.js +8 -0
  84. package/dist/common/lspUtils.js.map +1 -1
  85. package/dist/common/pythonVersion.d.ts +18 -20
  86. package/dist/common/pythonVersion.js +96 -84
  87. package/dist/common/pythonVersion.js.map +1 -1
  88. package/dist/languageServerBase.d.ts +3 -52
  89. package/dist/languageServerBase.js +5 -92
  90. package/dist/languageServerBase.js.map +1 -1
  91. package/dist/languageService/analyzerServiceExecutor.js +1 -0
  92. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  93. package/dist/languageService/completionProvider.js +5 -2
  94. package/dist/languageService/completionProvider.js.map +1 -1
  95. package/dist/languageService/documentSymbolCollector.js +1 -1
  96. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  97. package/dist/languageService/fileWatcherDynamicFeature.d.ts +2 -2
  98. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  99. package/dist/localization/localize.d.ts +12 -8
  100. package/dist/localization/localize.js +4 -4
  101. package/dist/localization/localize.js.map +1 -1
  102. package/dist/localization/package.nls.cs.json +8 -3
  103. package/dist/localization/package.nls.de.json +8 -3
  104. package/dist/localization/package.nls.en-us.json +144 -132
  105. package/dist/localization/package.nls.es.json +9 -4
  106. package/dist/localization/package.nls.fr.json +10 -5
  107. package/dist/localization/package.nls.it.json +9 -4
  108. package/dist/localization/package.nls.ja.json +14 -9
  109. package/dist/localization/package.nls.ko.json +8 -3
  110. package/dist/localization/package.nls.pl.json +8 -3
  111. package/dist/localization/package.nls.pt-br.json +8 -3
  112. package/dist/localization/package.nls.qps-ploc.json +12 -7
  113. package/dist/localization/package.nls.ru.json +9 -4
  114. package/dist/localization/package.nls.tr.json +8 -3
  115. package/dist/localization/package.nls.zh-cn.json +8 -3
  116. package/dist/localization/package.nls.zh-tw.json +8 -3
  117. package/dist/parser/parser.d.ts +7 -6
  118. package/dist/parser/parser.js +35 -28
  119. package/dist/parser/parser.js.map +1 -1
  120. package/dist/parser/tokenizer.js +3 -1
  121. package/dist/parser/tokenizer.js.map +1 -1
  122. package/dist/tests/completions.test.js +18 -0
  123. package/dist/tests/completions.test.js.map +1 -1
  124. package/dist/tests/config.test.js +7 -16
  125. package/dist/tests/config.test.js.map +1 -1
  126. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.d.ts +1 -0
  127. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.js +2 -1
  128. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.js.map +1 -1
  129. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.d.ts +1 -0
  130. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.js +2 -1
  131. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.js.map +1 -1
  132. package/dist/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.d.ts +1 -0
  133. package/dist/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.js +2 -1
  134. package/dist/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.js.map +1 -1
  135. package/dist/tests/fourslash/completions.autoimport.disabled.fourslash.d.ts +1 -0
  136. package/dist/tests/fourslash/completions.autoimport.disabled.fourslash.js +2 -1
  137. package/dist/tests/fourslash/completions.autoimport.disabled.fourslash.js.map +1 -1
  138. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.d.ts +1 -0
  139. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.js +2 -1
  140. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.js.map +1 -1
  141. package/dist/tests/fourslash/completions.autoimport.fourslash.d.ts +1 -0
  142. package/dist/tests/fourslash/completions.autoimport.fourslash.js +2 -1
  143. package/dist/tests/fourslash/completions.autoimport.fourslash.js.map +1 -1
  144. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.d.ts +1 -0
  145. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.js +2 -1
  146. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.js.map +1 -1
  147. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.d.ts +1 -0
  148. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js +2 -1
  149. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -1
  150. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.d.ts +1 -0
  151. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.js +2 -1
  152. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.js.map +1 -1
  153. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.d.ts +1 -0
  154. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js +2 -1
  155. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  156. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.d.ts +1 -0
  157. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.js +2 -1
  158. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.js.map +1 -1
  159. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.d.ts +1 -0
  160. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.js +2 -1
  161. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.js.map +1 -1
  162. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.d.ts +1 -0
  163. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js +2 -1
  164. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  165. package/dist/tests/fourslash/completions.builtinOverride.fourslash.d.ts +1 -0
  166. package/dist/tests/fourslash/completions.builtinOverride.fourslash.js +2 -1
  167. package/dist/tests/fourslash/completions.builtinOverride.fourslash.js.map +1 -1
  168. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.d.ts +1 -0
  169. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.js +2 -1
  170. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.js.map +1 -1
  171. package/dist/tests/fourslash/completions.call.typedDict.fourslash.d.ts +1 -0
  172. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js +2 -1
  173. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
  174. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.d.ts +1 -0
  175. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js +2 -1
  176. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
  177. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.d.ts +1 -0
  178. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js +2 -1
  179. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
  180. package/dist/tests/fourslash/completions.classVariable.fourslash.d.ts +1 -0
  181. package/dist/tests/fourslash/completions.classVariable.fourslash.js +2 -1
  182. package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
  183. package/dist/tests/fourslash/completions.comment.fourslash.d.ts +1 -0
  184. package/dist/tests/fourslash/completions.comment.fourslash.js +2 -1
  185. package/dist/tests/fourslash/completions.comment.fourslash.js.map +1 -1
  186. package/dist/tests/fourslash/completions.declNames.class.fourslash.d.ts +1 -0
  187. package/dist/tests/fourslash/completions.declNames.class.fourslash.js +2 -1
  188. package/dist/tests/fourslash/completions.declNames.class.fourslash.js.map +1 -1
  189. package/dist/tests/fourslash/completions.declNames.exception.fourslash.d.ts +1 -0
  190. package/dist/tests/fourslash/completions.declNames.exception.fourslash.js +2 -1
  191. package/dist/tests/fourslash/completions.declNames.exception.fourslash.js.map +1 -1
  192. package/dist/tests/fourslash/completions.declNames.for.fourslash.d.ts +1 -0
  193. package/dist/tests/fourslash/completions.declNames.for.fourslash.js +2 -1
  194. package/dist/tests/fourslash/completions.declNames.for.fourslash.js.map +1 -1
  195. package/dist/tests/fourslash/completions.declNames.importAlias.fourslash.d.ts +1 -0
  196. package/dist/tests/fourslash/completions.declNames.importAlias.fourslash.js +2 -1
  197. package/dist/tests/fourslash/completions.declNames.importAlias.fourslash.js.map +1 -1
  198. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.d.ts +1 -0
  199. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.js +2 -1
  200. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.js.map +1 -1
  201. package/dist/tests/fourslash/completions.declNames.method.fourslash.d.ts +1 -0
  202. package/dist/tests/fourslash/completions.declNames.method.fourslash.js +2 -1
  203. package/dist/tests/fourslash/completions.declNames.method.fourslash.js.map +1 -1
  204. package/dist/tests/fourslash/completions.declNames.overload.fourslash.d.ts +1 -0
  205. package/dist/tests/fourslash/completions.declNames.overload.fourslash.js +2 -1
  206. package/dist/tests/fourslash/completions.declNames.overload.fourslash.js.map +1 -1
  207. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.d.ts +1 -0
  208. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.js +2 -1
  209. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.js.map +1 -1
  210. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.d.ts +1 -0
  211. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.js +2 -1
  212. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.js.map +1 -1
  213. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.d.ts +1 -0
  214. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js +2 -1
  215. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js.map +1 -1
  216. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.d.ts +1 -0
  217. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js +2 -1
  218. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
  219. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.d.ts +1 -0
  220. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.js +2 -1
  221. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.js.map +1 -1
  222. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.d.ts +1 -0
  223. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js +2 -1
  224. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js.map +1 -1
  225. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.d.ts +1 -0
  226. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.js +2 -1
  227. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.js.map +1 -1
  228. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.d.ts +1 -0
  229. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js +2 -1
  230. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js.map +1 -1
  231. package/dist/tests/fourslash/completions.dunderNew.fourslash.d.ts +1 -0
  232. package/dist/tests/fourslash/completions.dunderNew.fourslash.js +2 -1
  233. package/dist/tests/fourslash/completions.dunderNew.fourslash.js.map +1 -1
  234. package/dist/tests/fourslash/completions.enums.members.fourslash.d.ts +1 -0
  235. package/dist/tests/fourslash/completions.enums.members.fourslash.js +2 -1
  236. package/dist/tests/fourslash/completions.enums.members.fourslash.js.map +1 -1
  237. package/dist/tests/fourslash/completions.errorNodes.fourslash.d.ts +1 -0
  238. package/dist/tests/fourslash/completions.errorNodes.fourslash.js +2 -1
  239. package/dist/tests/fourslash/completions.errorNodes.fourslash.js.map +1 -1
  240. package/dist/tests/fourslash/completions.excluded.fourslash.d.ts +1 -0
  241. package/dist/tests/fourslash/completions.excluded.fourslash.js +2 -1
  242. package/dist/tests/fourslash/completions.excluded.fourslash.js.map +1 -1
  243. package/dist/tests/fourslash/completions.fourslash.d.ts +1 -0
  244. package/dist/tests/fourslash/completions.fourslash.js +2 -1
  245. package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
  246. package/dist/tests/fourslash/completions.fstring.fourslash.d.ts +1 -0
  247. package/dist/tests/fourslash/completions.fstring.fourslash.js +2 -1
  248. package/dist/tests/fourslash/completions.fstring.fourslash.js.map +1 -1
  249. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.d.ts +1 -0
  250. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js +2 -1
  251. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
  252. package/dist/tests/fourslash/completions.fuzzyMatching.fourslash.d.ts +1 -0
  253. package/dist/tests/fourslash/completions.fuzzyMatching.fourslash.js +2 -1
  254. package/dist/tests/fourslash/completions.fuzzyMatching.fourslash.js.map +1 -1
  255. package/dist/tests/fourslash/completions.import.dunderNames.fourslash.d.ts +1 -0
  256. package/dist/tests/fourslash/completions.import.dunderNames.fourslash.js +2 -1
  257. package/dist/tests/fourslash/completions.import.dunderNames.fourslash.js.map +1 -1
  258. package/dist/tests/fourslash/completions.import.duplicates.fourslash.d.ts +1 -0
  259. package/dist/tests/fourslash/completions.import.duplicates.fourslash.js +1 -0
  260. package/dist/tests/fourslash/completions.import.duplicates.fourslash.js.map +1 -1
  261. package/dist/tests/fourslash/completions.import.exactMatch.fourslash.d.ts +1 -0
  262. package/dist/tests/fourslash/completions.import.exactMatch.fourslash.js +2 -1
  263. package/dist/tests/fourslash/completions.import.exactMatch.fourslash.js.map +1 -1
  264. package/dist/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.d.ts +1 -0
  265. package/dist/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.js +2 -1
  266. package/dist/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.js.map +1 -1
  267. package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.d.ts +1 -0
  268. package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.js +2 -1
  269. package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.js.map +1 -1
  270. package/dist/tests/fourslash/completions.import.privateNoPytyped.fourslash.d.ts +1 -0
  271. package/dist/tests/fourslash/completions.import.privateNoPytyped.fourslash.js +1 -0
  272. package/dist/tests/fourslash/completions.import.privateNoPytyped.fourslash.js.map +1 -1
  273. package/dist/tests/fourslash/completions.import.pytyped.fourslash.d.ts +1 -0
  274. package/dist/tests/fourslash/completions.import.pytyped.fourslash.js +1 -0
  275. package/dist/tests/fourslash/completions.import.pytyped.fourslash.js.map +1 -1
  276. package/dist/tests/fourslash/completions.import.pytypedLocal.fourslash.d.ts +1 -0
  277. package/dist/tests/fourslash/completions.import.pytypedLocal.fourslash.js +1 -0
  278. package/dist/tests/fourslash/completions.import.pytypedLocal.fourslash.js.map +1 -1
  279. package/dist/tests/fourslash/completions.import.submodule.fourslash.d.ts +1 -0
  280. package/dist/tests/fourslash/completions.import.submodule.fourslash.js +2 -1
  281. package/dist/tests/fourslash/completions.import.submodule.fourslash.js.map +1 -1
  282. package/dist/tests/fourslash/completions.inList.fourslash.d.ts +1 -0
  283. package/dist/tests/fourslash/completions.inList.fourslash.js +2 -1
  284. package/dist/tests/fourslash/completions.inList.fourslash.js.map +1 -1
  285. package/dist/tests/fourslash/completions.included.fourslash.d.ts +1 -0
  286. package/dist/tests/fourslash/completions.included.fourslash.js +2 -1
  287. package/dist/tests/fourslash/completions.included.fourslash.js.map +1 -1
  288. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.d.ts +1 -0
  289. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js +2 -1
  290. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js.map +1 -1
  291. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.d.ts +1 -0
  292. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js +2 -1
  293. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
  294. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.d.ts +1 -0
  295. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.js +2 -1
  296. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.js.map +1 -1
  297. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.d.ts +1 -0
  298. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.js +2 -1
  299. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.js.map +1 -1
  300. package/dist/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.d.ts +1 -0
  301. package/dist/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.js +2 -1
  302. package/dist/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.js.map +1 -1
  303. package/dist/tests/fourslash/completions.inherited.property.docFromStub.fourslash.d.ts +1 -0
  304. package/dist/tests/fourslash/completions.inherited.property.docFromStub.fourslash.js +2 -1
  305. package/dist/tests/fourslash/completions.inherited.property.docFromStub.fourslash.js.map +1 -1
  306. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.d.ts +1 -0
  307. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js +2 -1
  308. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
  309. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.d.ts +1 -0
  310. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js +2 -1
  311. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
  312. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.d.ts +1 -0
  313. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js +2 -1
  314. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
  315. package/dist/tests/fourslash/completions.libStub.fourslash.d.ts +1 -0
  316. package/dist/tests/fourslash/completions.libStub.fourslash.js +2 -1
  317. package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
  318. package/dist/tests/fourslash/completions.literals.fourslash.d.ts +1 -0
  319. package/dist/tests/fourslash/completions.literals.fourslash.js +2 -1
  320. package/dist/tests/fourslash/completions.literals.fourslash.js.map +1 -1
  321. package/dist/tests/fourslash/completions.localCode.fourslash.d.ts +1 -0
  322. package/dist/tests/fourslash/completions.localCode.fourslash.js +2 -1
  323. package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
  324. package/dist/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.d.ts +1 -0
  325. package/dist/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.js +2 -1
  326. package/dist/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.js.map +1 -1
  327. package/dist/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.d.ts +1 -0
  328. package/dist/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.js +2 -1
  329. package/dist/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.js.map +1 -1
  330. package/dist/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.d.ts +1 -0
  331. package/dist/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.js +2 -1
  332. package/dist/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.js.map +1 -1
  333. package/dist/tests/fourslash/completions.overloads.fourslash.d.ts +1 -0
  334. package/dist/tests/fourslash/completions.overloads.fourslash.js +2 -1
  335. package/dist/tests/fourslash/completions.overloads.fourslash.js.map +1 -1
  336. package/dist/tests/fourslash/completions.override.default.fourslash.d.ts +1 -0
  337. package/dist/tests/fourslash/completions.override.default.fourslash.js +2 -1
  338. package/dist/tests/fourslash/completions.override.default.fourslash.js.map +1 -1
  339. package/dist/tests/fourslash/completions.override.default.importStub.d.ts +1 -0
  340. package/dist/tests/fourslash/completions.override.default.importStub.js +2 -1
  341. package/dist/tests/fourslash/completions.override.default.importStub.js.map +1 -1
  342. package/dist/tests/fourslash/completions.override.default.imported.fourslash.d.ts +1 -0
  343. package/dist/tests/fourslash/completions.override.default.imported.fourslash.js +2 -1
  344. package/dist/tests/fourslash/completions.override.default.imported.fourslash.js.map +1 -1
  345. package/dist/tests/fourslash/completions.override.default.stub.fourslash.d.ts +1 -0
  346. package/dist/tests/fourslash/completions.override.default.stub.fourslash.js +2 -1
  347. package/dist/tests/fourslash/completions.override.default.stub.fourslash.js.map +1 -1
  348. package/dist/tests/fourslash/completions.override.fourslash.d.ts +1 -0
  349. package/dist/tests/fourslash/completions.override.fourslash.js +2 -1
  350. package/dist/tests/fourslash/completions.override.fourslash.js.map +1 -1
  351. package/dist/tests/fourslash/completions.override.property.fourslash.d.ts +1 -0
  352. package/dist/tests/fourslash/completions.override.property.fourslash.js +2 -1
  353. package/dist/tests/fourslash/completions.override.property.fourslash.js.map +1 -1
  354. package/dist/tests/fourslash/completions.override.property.stub.fourslash.d.ts +1 -0
  355. package/dist/tests/fourslash/completions.override.property.stub.fourslash.js +2 -1
  356. package/dist/tests/fourslash/completions.override.property.stub.fourslash.js.map +1 -1
  357. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.d.ts +1 -0
  358. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.js +2 -1
  359. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.js.map +1 -1
  360. package/dist/tests/fourslash/completions.override.stub.fourslash.d.ts +1 -0
  361. package/dist/tests/fourslash/completions.override.stub.fourslash.js +2 -1
  362. package/dist/tests/fourslash/completions.override.stub.fourslash.js.map +1 -1
  363. package/dist/tests/fourslash/completions.override2.fourslash.d.ts +1 -0
  364. package/dist/tests/fourslash/completions.override2.fourslash.js +2 -1
  365. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  366. package/dist/tests/fourslash/completions.parameters.fourslash.d.ts +1 -0
  367. package/dist/tests/fourslash/completions.parameters.fourslash.js +2 -1
  368. package/dist/tests/fourslash/completions.parameters.fourslash.js.map +1 -1
  369. package/dist/tests/fourslash/completions.params.fourslash.d.ts +1 -0
  370. package/dist/tests/fourslash/completions.params.fourslash.js +2 -1
  371. package/dist/tests/fourslash/completions.params.fourslash.js.map +1 -1
  372. package/dist/tests/fourslash/completions.parentFolder.fourslash.d.ts +1 -0
  373. package/dist/tests/fourslash/completions.parentFolder.fourslash.js +2 -1
  374. package/dist/tests/fourslash/completions.parentFolder.fourslash.js.map +1 -1
  375. package/dist/tests/fourslash/completions.parentFolders.fourslash.d.ts +1 -0
  376. package/dist/tests/fourslash/completions.parentFolders.fourslash.js +2 -1
  377. package/dist/tests/fourslash/completions.parentFolders.fourslash.js.map +1 -1
  378. package/dist/tests/fourslash/completions.plainText.fourslash.d.ts +1 -0
  379. package/dist/tests/fourslash/completions.plainText.fourslash.js +2 -1
  380. package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
  381. package/dist/tests/fourslash/completions.private.fourslash.d.ts +1 -0
  382. package/dist/tests/fourslash/completions.private.fourslash.js +2 -1
  383. package/dist/tests/fourslash/completions.private.fourslash.js.map +1 -1
  384. package/dist/tests/fourslash/completions.property.fourslash.d.ts +1 -0
  385. package/dist/tests/fourslash/completions.property.fourslash.js +2 -1
  386. package/dist/tests/fourslash/completions.property.fourslash.js.map +1 -1
  387. package/dist/tests/fourslash/completions.propertyDocStrings.fourslash.d.ts +1 -0
  388. package/dist/tests/fourslash/completions.propertyDocStrings.fourslash.js +2 -1
  389. package/dist/tests/fourslash/completions.propertyDocStrings.fourslash.js.map +1 -1
  390. package/dist/tests/fourslash/completions.self.fourslash.d.ts +1 -0
  391. package/dist/tests/fourslash/completions.self.fourslash.js +2 -1
  392. package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
  393. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.d.ts +1 -0
  394. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.js +2 -1
  395. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.js.map +1 -1
  396. package/dist/tests/fourslash/completions.stringLiteral.fourslash.d.ts +1 -0
  397. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js +2 -1
  398. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
  399. package/dist/tests/fourslash/completions.triggers.fourslash.d.ts +1 -0
  400. package/dist/tests/fourslash/completions.triggers.fourslash.js +2 -1
  401. package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -1
  402. package/dist/tests/fourslash/completions.typeAlias.fourslash.d.ts +1 -0
  403. package/dist/tests/fourslash/completions.typeAlias.fourslash.js +2 -1
  404. package/dist/tests/fourslash/completions.typeAlias.fourslash.js.map +1 -1
  405. package/dist/tests/fourslash/completions.typeshed.fourslash.d.ts +1 -0
  406. package/dist/tests/fourslash/completions.typeshed.fourslash.js +2 -1
  407. package/dist/tests/fourslash/completions.typeshed.fourslash.js.map +1 -1
  408. package/dist/tests/fourslash/completions.vardecls.fourslash.d.ts +1 -0
  409. package/dist/tests/fourslash/completions.vardecls.fourslash.js +2 -1
  410. package/dist/tests/fourslash/completions.vardecls.fourslash.js.map +1 -1
  411. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.d.ts +1 -0
  412. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js +2 -1
  413. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js.map +1 -1
  414. package/dist/tests/fourslash/completions.wildcardimports.fourslash.d.ts +1 -0
  415. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js +2 -1
  416. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
  417. package/dist/tests/fourslash/completions.with.fourslash.d.ts +1 -0
  418. package/dist/tests/fourslash/completions.with.fourslash.js +2 -1
  419. package/dist/tests/fourslash/completions.with.fourslash.js.map +1 -1
  420. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.d.ts +1 -0
  421. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.js +2 -1
  422. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.js.map +1 -1
  423. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.d.ts +1 -0
  424. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js +2 -1
  425. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
  426. package/dist/tests/fourslash/findDefinitions.classes.fourslash.d.ts +1 -0
  427. package/dist/tests/fourslash/findDefinitions.classes.fourslash.js +2 -1
  428. package/dist/tests/fourslash/findDefinitions.classes.fourslash.js.map +1 -1
  429. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.d.ts +1 -0
  430. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js +2 -1
  431. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
  432. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.d.ts +1 -0
  433. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.js +2 -1
  434. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.js.map +1 -1
  435. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.d.ts +1 -0
  436. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.js +2 -1
  437. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.js.map +1 -1
  438. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.d.ts +1 -0
  439. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.js +2 -1
  440. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.js.map +1 -1
  441. package/dist/tests/fourslash/findDefinitions.fields.fourslash.d.ts +1 -0
  442. package/dist/tests/fourslash/findDefinitions.fields.fourslash.js +2 -1
  443. package/dist/tests/fourslash/findDefinitions.fields.fourslash.js.map +1 -1
  444. package/dist/tests/fourslash/findDefinitions.functions.fourslash.d.ts +1 -0
  445. package/dist/tests/fourslash/findDefinitions.functions.fourslash.js +2 -1
  446. package/dist/tests/fourslash/findDefinitions.functions.fourslash.js.map +1 -1
  447. package/dist/tests/fourslash/findDefinitions.methods.fourslash.d.ts +1 -0
  448. package/dist/tests/fourslash/findDefinitions.methods.fourslash.js +2 -1
  449. package/dist/tests/fourslash/findDefinitions.methods.fourslash.js.map +1 -1
  450. package/dist/tests/fourslash/findDefinitions.modules.fourslash.d.ts +1 -0
  451. package/dist/tests/fourslash/findDefinitions.modules.fourslash.js +2 -1
  452. package/dist/tests/fourslash/findDefinitions.modules.fourslash.js.map +1 -1
  453. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.d.ts +1 -0
  454. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js +2 -1
  455. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
  456. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.d.ts +1 -0
  457. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js +2 -1
  458. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -1
  459. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.d.ts +1 -0
  460. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.js +2 -1
  461. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.js.map +1 -1
  462. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.d.ts +1 -0
  463. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js +2 -1
  464. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js.map +1 -1
  465. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.d.ts +1 -0
  466. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.js +2 -1
  467. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.js.map +1 -1
  468. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.d.ts +1 -0
  469. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.js +2 -1
  470. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.js.map +1 -1
  471. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.d.ts +1 -0
  472. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.js +2 -1
  473. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.js.map +1 -1
  474. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.d.ts +1 -0
  475. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.js +2 -1
  476. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.js.map +1 -1
  477. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.d.ts +1 -0
  478. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.js +2 -1
  479. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.js.map +1 -1
  480. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.d.ts +1 -0
  481. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.js +2 -1
  482. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.js.map +1 -1
  483. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.d.ts +1 -0
  484. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.js +2 -1
  485. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.js.map +1 -1
  486. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.d.ts +1 -0
  487. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.js +2 -1
  488. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.js.map +1 -1
  489. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.d.ts +1 -0
  490. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.js +2 -1
  491. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.js.map +1 -1
  492. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.d.ts +1 -0
  493. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.js +2 -1
  494. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.js.map +1 -1
  495. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.d.ts +1 -0
  496. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.js +2 -1
  497. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.js.map +1 -1
  498. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.d.ts +1 -0
  499. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.js +2 -1
  500. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.js.map +1 -1
  501. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.d.ts +1 -0
  502. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.js +2 -1
  503. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.js.map +1 -1
  504. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.d.ts +1 -0
  505. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.js +2 -1
  506. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.js.map +1 -1
  507. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.d.ts +1 -0
  508. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js +2 -1
  509. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js.map +1 -1
  510. package/dist/tests/fourslash/findDefinitions.variables.fourslash.d.ts +1 -0
  511. package/dist/tests/fourslash/findDefinitions.variables.fourslash.js +2 -1
  512. package/dist/tests/fourslash/findDefinitions.variables.fourslash.js.map +1 -1
  513. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.d.ts +1 -0
  514. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js +2 -1
  515. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js.map +1 -1
  516. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.d.ts +1 -0
  517. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.js +2 -1
  518. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.js.map +1 -1
  519. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.d.ts +1 -0
  520. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js +2 -1
  521. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js.map +1 -1
  522. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.d.ts +1 -0
  523. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.js +2 -1
  524. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.js.map +1 -1
  525. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.d.ts +1 -0
  526. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.js +2 -1
  527. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.js.map +1 -1
  528. package/dist/tests/fourslash/findallreferences.fourslash.d.ts +1 -0
  529. package/dist/tests/fourslash/findallreferences.fourslash.js +2 -1
  530. package/dist/tests/fourslash/findallreferences.fourslash.js.map +1 -1
  531. package/dist/tests/fourslash/findallreferences.importalias.fourslash.d.ts +1 -0
  532. package/dist/tests/fourslash/findallreferences.importalias.fourslash.js +2 -1
  533. package/dist/tests/fourslash/findallreferences.importalias.fourslash.js.map +1 -1
  534. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.d.ts +1 -0
  535. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.js +2 -1
  536. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.js.map +1 -1
  537. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.d.ts +1 -0
  538. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.js +2 -1
  539. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.js.map +1 -1
  540. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.d.ts +1 -0
  541. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.js +2 -1
  542. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.js.map +1 -1
  543. package/dist/tests/fourslash/findallreferences.modules.fourslash.d.ts +1 -0
  544. package/dist/tests/fourslash/findallreferences.modules.fourslash.js +2 -1
  545. package/dist/tests/fourslash/findallreferences.modules.fourslash.js.map +1 -1
  546. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.d.ts +1 -0
  547. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.js +2 -1
  548. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.js.map +1 -1
  549. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.d.ts +1 -0
  550. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.js +2 -1
  551. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.js.map +1 -1
  552. package/dist/tests/fourslash/findallreferences.parameter.fourslash.d.ts +1 -0
  553. package/dist/tests/fourslash/findallreferences.parameter.fourslash.js +2 -1
  554. package/dist/tests/fourslash/findallreferences.parameter.fourslash.js.map +1 -1
  555. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.d.ts +1 -0
  556. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.js +2 -1
  557. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.js.map +1 -1
  558. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.d.ts +1 -0
  559. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.js +2 -1
  560. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.js.map +1 -1
  561. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.d.ts +1 -0
  562. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.js +2 -1
  563. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.js.map +1 -1
  564. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.d.ts +1 -0
  565. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.js +2 -1
  566. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.js.map +1 -1
  567. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.d.ts +1 -0
  568. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.js +2 -1
  569. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.js.map +1 -1
  570. package/dist/tests/fourslash/findallreferences.variable.fourslash.d.ts +1 -0
  571. package/dist/tests/fourslash/findallreferences.variable.fourslash.js +2 -1
  572. package/dist/tests/fourslash/findallreferences.variable.fourslash.js.map +1 -1
  573. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.d.ts +1 -0
  574. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.js +2 -1
  575. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.js.map +1 -1
  576. package/dist/tests/fourslash/hover.async.fourslash.d.ts +1 -0
  577. package/dist/tests/fourslash/hover.async.fourslash.js +2 -1
  578. package/dist/tests/fourslash/hover.async.fourslash.js.map +1 -1
  579. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.d.ts +1 -0
  580. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.js +2 -1
  581. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.js.map +1 -1
  582. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.d.ts +1 -0
  583. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.js +2 -1
  584. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.js.map +1 -1
  585. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.d.ts +1 -0
  586. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js +2 -1
  587. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
  588. package/dist/tests/fourslash/hover.class.docString.fourslash.d.ts +1 -0
  589. package/dist/tests/fourslash/hover.class.docString.fourslash.js +2 -1
  590. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -1
  591. package/dist/tests/fourslash/hover.classNoInit.fourslash.d.ts +1 -0
  592. package/dist/tests/fourslash/hover.classNoInit.fourslash.js +2 -1
  593. package/dist/tests/fourslash/hover.classNoInit.fourslash.js.map +1 -1
  594. package/dist/tests/fourslash/hover.docFromSrc.fourslash.d.ts +1 -0
  595. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js +2 -1
  596. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
  597. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.d.ts +1 -0
  598. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js +2 -1
  599. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js.map +1 -1
  600. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.d.ts +1 -0
  601. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js +2 -1
  602. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js.map +1 -1
  603. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.d.ts +1 -0
  604. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js +2 -1
  605. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js.map +1 -1
  606. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.d.ts +1 -0
  607. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js +2 -1
  608. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js.map +1 -1
  609. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.d.ts +1 -0
  610. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js +2 -1
  611. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js.map +1 -1
  612. package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.d.ts +1 -0
  613. package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.js +2 -1
  614. package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.js.map +1 -1
  615. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.d.ts +1 -0
  616. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js +2 -1
  617. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
  618. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.d.ts +1 -0
  619. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js +2 -1
  620. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js.map +1 -1
  621. package/dist/tests/fourslash/hover.docstring.alias.fourslash.d.ts +1 -0
  622. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +2 -1
  623. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
  624. package/dist/tests/fourslash/hover.docstring.links.fourslash.d.ts +1 -0
  625. package/dist/tests/fourslash/hover.docstring.links.fourslash.js +2 -1
  626. package/dist/tests/fourslash/hover.docstring.links.fourslash.js.map +1 -1
  627. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.d.ts +1 -0
  628. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js +2 -1
  629. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js.map +1 -1
  630. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.d.ts +1 -0
  631. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.js +2 -1
  632. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.js.map +1 -1
  633. package/dist/tests/fourslash/hover.docstring.split.fourslash.d.ts +1 -0
  634. package/dist/tests/fourslash/hover.docstring.split.fourslash.js +2 -1
  635. package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
  636. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.d.ts +1 -0
  637. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js +2 -1
  638. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js.map +1 -1
  639. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.d.ts +1 -0
  640. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js +2 -1
  641. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js.map +1 -1
  642. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.d.ts +1 -0
  643. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js +2 -1
  644. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js.map +1 -1
  645. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.d.ts +1 -0
  646. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js +2 -1
  647. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js.map +1 -1
  648. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.d.ts +1 -0
  649. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js +2 -1
  650. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js.map +1 -1
  651. package/dist/tests/fourslash/hover.formatted.fourslash.d.ts +1 -0
  652. package/dist/tests/fourslash/hover.formatted.fourslash.js +2 -1
  653. package/dist/tests/fourslash/hover.formatted.fourslash.js.map +1 -1
  654. package/dist/tests/fourslash/hover.fourslash.d.ts +1 -0
  655. package/dist/tests/fourslash/hover.fourslash.js +2 -1
  656. package/dist/tests/fourslash/hover.fourslash.js.map +1 -1
  657. package/dist/tests/fourslash/hover.import.django.view.fourslash.d.ts +1 -0
  658. package/dist/tests/fourslash/hover.import.django.view.fourslash.js +2 -1
  659. package/dist/tests/fourslash/hover.import.django.view.fourslash.js.map +1 -1
  660. package/dist/tests/fourslash/hover.import.fourslash.d.ts +1 -0
  661. package/dist/tests/fourslash/hover.import.fourslash.js +2 -1
  662. package/dist/tests/fourslash/hover.import.fourslash.js.map +1 -1
  663. package/dist/tests/fourslash/hover.inferred.fourslash.d.ts +1 -0
  664. package/dist/tests/fourslash/hover.inferred.fourslash.js +2 -1
  665. package/dist/tests/fourslash/hover.inferred.fourslash.js.map +1 -1
  666. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.d.ts +1 -0
  667. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js +2 -1
  668. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  669. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.d.ts +1 -0
  670. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js +2 -1
  671. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js.map +1 -1
  672. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.d.ts +1 -0
  673. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js +2 -1
  674. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  675. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.d.ts +1 -0
  676. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.js +2 -1
  677. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.js.map +1 -1
  678. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.d.ts +1 -0
  679. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.js +2 -1
  680. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.js.map +1 -1
  681. package/dist/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.d.ts +1 -0
  682. package/dist/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.js +2 -1
  683. package/dist/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.js.map +1 -1
  684. package/dist/tests/fourslash/hover.inherited.property.docFromStub.fourslash.d.ts +1 -0
  685. package/dist/tests/fourslash/hover.inherited.property.docFromStub.fourslash.js +2 -1
  686. package/dist/tests/fourslash/hover.inherited.property.docFromStub.fourslash.js.map +1 -1
  687. package/dist/tests/fourslash/hover.init.fourslash.d.ts +1 -0
  688. package/dist/tests/fourslash/hover.init.fourslash.js +2 -1
  689. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  690. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.d.ts +1 -0
  691. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js +2 -1
  692. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js.map +1 -1
  693. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.d.ts +1 -0
  694. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js +2 -1
  695. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js.map +1 -1
  696. package/dist/tests/fourslash/hover.libStub.fourslash.d.ts +1 -0
  697. package/dist/tests/fourslash/hover.libStub.fourslash.js +2 -1
  698. package/dist/tests/fourslash/hover.libStub.fourslash.js.map +1 -1
  699. package/dist/tests/fourslash/hover.optionalAliasParameter.fourslash.d.ts +1 -0
  700. package/dist/tests/fourslash/hover.optionalAliasParameter.fourslash.js +2 -1
  701. package/dist/tests/fourslash/hover.optionalAliasParameter.fourslash.js.map +1 -1
  702. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.d.ts +1 -0
  703. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js +2 -1
  704. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js.map +1 -1
  705. package/dist/tests/fourslash/hover.plainText.fourslash.d.ts +1 -0
  706. package/dist/tests/fourslash/hover.plainText.fourslash.js +2 -1
  707. package/dist/tests/fourslash/hover.plainText.fourslash.js.map +1 -1
  708. package/dist/tests/fourslash/hover.slots.fourslash.d.ts +1 -0
  709. package/dist/tests/fourslash/hover.slots.fourslash.js +2 -1
  710. package/dist/tests/fourslash/hover.slots.fourslash.js.map +1 -1
  711. package/dist/tests/fourslash/hover.typedDict.key.fourslash.d.ts +1 -0
  712. package/dist/tests/fourslash/hover.typedDict.key.fourslash.js +2 -1
  713. package/dist/tests/fourslash/hover.typedDict.key.fourslash.js.map +1 -1
  714. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.d.ts +1 -0
  715. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.js +2 -1
  716. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.js.map +1 -1
  717. package/dist/tests/fourslash/hover.variable.docString.fourslash.d.ts +1 -0
  718. package/dist/tests/fourslash/hover.variable.docString.fourslash.js +2 -1
  719. package/dist/tests/fourslash/hover.variable.docString.fourslash.js.map +1 -1
  720. package/dist/tests/fourslash/hover.wildcardimports.fourslash.d.ts +1 -0
  721. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js +2 -1
  722. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
  723. package/dist/tests/fourslash/import.multipart.fourslash.d.ts +1 -0
  724. package/dist/tests/fourslash/import.multipart.fourslash.js +2 -1
  725. package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -1
  726. package/dist/tests/fourslash/import.nameconflict.fourslash.d.ts +1 -0
  727. package/dist/tests/fourslash/import.nameconflict.fourslash.js +2 -1
  728. package/dist/tests/fourslash/import.nameconflict.fourslash.js.map +1 -1
  729. package/dist/tests/fourslash/import.publicSymbols.fourslash.d.ts +1 -0
  730. package/dist/tests/fourslash/import.publicSymbols.fourslash.js +2 -1
  731. package/dist/tests/fourslash/import.publicSymbols.fourslash.js.map +1 -1
  732. package/dist/tests/fourslash/import.pytyped.dunderAll.fourslash.d.ts +1 -0
  733. package/dist/tests/fourslash/import.pytyped.dunderAll.fourslash.js +2 -1
  734. package/dist/tests/fourslash/import.pytyped.dunderAll.fourslash.js.map +1 -1
  735. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.d.ts +1 -0
  736. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js +2 -1
  737. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js.map +1 -1
  738. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.d.ts +1 -0
  739. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js +2 -1
  740. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js.map +1 -1
  741. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.d.ts +1 -0
  742. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js +2 -1
  743. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js.map +1 -1
  744. package/dist/tests/fourslash/import.wildcard.fourslash.d.ts +1 -0
  745. package/dist/tests/fourslash/import.wildcard.fourslash.js +2 -1
  746. package/dist/tests/fourslash/import.wildcard.fourslash.js.map +1 -1
  747. package/dist/tests/fourslash/importnotresolved.fourslash.d.ts +1 -0
  748. package/dist/tests/fourslash/importnotresolved.fourslash.js +2 -1
  749. package/dist/tests/fourslash/importnotresolved.fourslash.js.map +1 -1
  750. package/dist/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.d.ts +1 -0
  751. package/dist/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.js +2 -1
  752. package/dist/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.js.map +1 -1
  753. package/dist/tests/fourslash/missingModuleSource.fourslash.d.ts +1 -0
  754. package/dist/tests/fourslash/missingModuleSource.fourslash.js +2 -1
  755. package/dist/tests/fourslash/missingModuleSource.fourslash.js.map +1 -1
  756. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.d.ts +1 -0
  757. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js +2 -1
  758. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
  759. package/dist/tests/fourslash/missingTypeStub.command.multipart.fourslash.d.ts +1 -6
  760. package/dist/tests/fourslash/missingTypeStub.command.multipart.fourslash.js +2 -1
  761. package/dist/tests/fourslash/missingTypeStub.command.multipart.fourslash.js.map +1 -1
  762. package/dist/tests/fourslash/missingTypeStub.command.singlefile.fourslash.d.ts +1 -6
  763. package/dist/tests/fourslash/missingTypeStub.command.singlefile.fourslash.js +2 -1
  764. package/dist/tests/fourslash/missingTypeStub.command.singlefile.fourslash.js.map +1 -1
  765. package/dist/tests/fourslash/missingTypeStub.command.singlepart.fourslash.d.ts +1 -6
  766. package/dist/tests/fourslash/missingTypeStub.command.singlepart.fourslash.js +2 -1
  767. package/dist/tests/fourslash/missingTypeStub.command.singlepart.fourslash.js.map +1 -1
  768. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.d.ts +1 -6
  769. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js +2 -1
  770. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js.map +1 -1
  771. package/dist/tests/fourslash/missingTypeStub.fourslash.d.ts +1 -0
  772. package/dist/tests/fourslash/missingTypeStub.fourslash.js +2 -1
  773. package/dist/tests/fourslash/missingTypeStub.fourslash.js.map +1 -1
  774. package/dist/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.d.ts +1 -0
  775. package/dist/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.js +2 -1
  776. package/dist/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.js.map +1 -1
  777. package/dist/tests/fourslash/noerrors.fourslash.d.ts +1 -0
  778. package/dist/tests/fourslash/noerrors.fourslash.js +2 -1
  779. package/dist/tests/fourslash/noerrors.fourslash.js.map +1 -1
  780. package/dist/tests/fourslash/orderImports1.command.fourslash.d.ts +1 -0
  781. package/dist/tests/fourslash/orderImports1.command.fourslash.js +2 -1
  782. package/dist/tests/fourslash/orderImports1.command.fourslash.js.map +1 -1
  783. package/dist/tests/fourslash/orderImports2.command.fourslash.d.ts +1 -0
  784. package/dist/tests/fourslash/orderImports2.command.fourslash.js +2 -1
  785. package/dist/tests/fourslash/orderImports2.command.fourslash.js.map +1 -1
  786. package/dist/tests/fourslash/rename.args.fourslash.d.ts +1 -0
  787. package/dist/tests/fourslash/rename.args.fourslash.js +2 -1
  788. package/dist/tests/fourslash/rename.args.fourslash.js.map +1 -1
  789. package/dist/tests/fourslash/rename.externallyHidden.fourslash.d.ts +1 -0
  790. package/dist/tests/fourslash/rename.externallyHidden.fourslash.js +2 -1
  791. package/dist/tests/fourslash/rename.externallyHidden.fourslash.js.map +1 -1
  792. package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.d.ts +1 -0
  793. package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.js +2 -1
  794. package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.js.map +1 -1
  795. package/dist/tests/fourslash/rename.fourslash.d.ts +1 -0
  796. package/dist/tests/fourslash/rename.fourslash.js +2 -1
  797. package/dist/tests/fourslash/rename.fourslash.js.map +1 -1
  798. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.d.ts +1 -0
  799. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.js +2 -1
  800. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.js.map +1 -1
  801. package/dist/tests/fourslash/rename.init.fourslash.d.ts +1 -0
  802. package/dist/tests/fourslash/rename.init.fourslash.js +2 -1
  803. package/dist/tests/fourslash/rename.init.fourslash.js.map +1 -1
  804. package/dist/tests/fourslash/rename.library.fourslash.d.ts +1 -0
  805. package/dist/tests/fourslash/rename.library.fourslash.js +2 -1
  806. package/dist/tests/fourslash/rename.library.fourslash.js.map +1 -1
  807. package/dist/tests/fourslash/rename.library.sourceAndStub.fourslash.d.ts +1 -0
  808. package/dist/tests/fourslash/rename.library.sourceAndStub.fourslash.js +2 -1
  809. package/dist/tests/fourslash/rename.library.sourceAndStub.fourslash.js.map +1 -1
  810. package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
  811. package/dist/tests/fourslash/rename.multipleDecl.fourslash.js +2 -1
  812. package/dist/tests/fourslash/rename.multipleDecl.fourslash.js.map +1 -1
  813. package/dist/tests/fourslash/rename.parens.fourslash.d.ts +1 -0
  814. package/dist/tests/fourslash/rename.parens.fourslash.js +2 -1
  815. package/dist/tests/fourslash/rename.parens.fourslash.js.map +1 -1
  816. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.d.ts +1 -0
  817. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.js +2 -1
  818. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.js.map +1 -1
  819. package/dist/tests/fourslash/rename.string.excluded.fourslash.d.ts +1 -0
  820. package/dist/tests/fourslash/rename.string.excluded.fourslash.js +2 -1
  821. package/dist/tests/fourslash/rename.string.excluded.fourslash.js.map +1 -1
  822. package/dist/tests/fourslash/rename.string.fourslash.d.ts +1 -0
  823. package/dist/tests/fourslash/rename.string.fourslash.js +2 -1
  824. package/dist/tests/fourslash/rename.string.fourslash.js.map +1 -1
  825. package/dist/tests/fourslash/shadowedImports.fourslash.d.ts +1 -0
  826. package/dist/tests/fourslash/shadowedImports.fourslash.js +2 -1
  827. package/dist/tests/fourslash/shadowedImports.fourslash.js.map +1 -1
  828. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.d.ts +1 -0
  829. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js +2 -1
  830. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  831. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.d.ts +1 -0
  832. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.js +2 -1
  833. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.js.map +1 -1
  834. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.d.ts +1 -0
  835. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js +2 -1
  836. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  837. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.d.ts +1 -0
  838. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.js +2 -1
  839. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.js.map +1 -1
  840. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.d.ts +1 -0
  841. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.js +2 -1
  842. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.js.map +1 -1
  843. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.d.ts +1 -0
  844. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.js +2 -1
  845. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.js.map +1 -1
  846. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.d.ts +1 -0
  847. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js +2 -1
  848. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  849. package/dist/tests/fourslash/signature.complicated.fourslash.d.ts +1 -0
  850. package/dist/tests/fourslash/signature.complicated.fourslash.js +2 -1
  851. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  852. package/dist/tests/fourslash/signature.cornercases.fourslash.d.ts +1 -0
  853. package/dist/tests/fourslash/signature.cornercases.fourslash.js +2 -1
  854. package/dist/tests/fourslash/signature.cornercases.fourslash.js.map +1 -1
  855. package/dist/tests/fourslash/signature.docstrings.fourslash.d.ts +1 -0
  856. package/dist/tests/fourslash/signature.docstrings.fourslash.js +2 -1
  857. package/dist/tests/fourslash/signature.docstrings.fourslash.js.map +1 -1
  858. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.d.ts +1 -0
  859. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js +2 -1
  860. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
  861. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.d.ts +1 -0
  862. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js +2 -1
  863. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js.map +1 -1
  864. package/dist/tests/fourslash/signature.dunderNew.fourslash.d.ts +1 -0
  865. package/dist/tests/fourslash/signature.dunderNew.fourslash.js +2 -1
  866. package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -1
  867. package/dist/tests/fourslash/signature.overload.fourslash.d.ts +1 -0
  868. package/dist/tests/fourslash/signature.overload.fourslash.js +2 -1
  869. package/dist/tests/fourslash/signature.overload.fourslash.js.map +1 -1
  870. package/dist/tests/fourslash/signature.simple.fourslash.d.ts +1 -0
  871. package/dist/tests/fourslash/signature.simple.fourslash.js +2 -1
  872. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  873. package/dist/tests/fourslash/typeVerifier.fourslash.d.ts +1 -0
  874. package/dist/tests/fourslash/typeVerifier.fourslash.js +2 -1
  875. package/dist/tests/fourslash/typeVerifier.fourslash.js.map +1 -1
  876. package/dist/tests/harness/fourslash/testState.js +11 -9
  877. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  878. package/dist/tests/lsp/languageServerTestUtils.js +1 -1
  879. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  880. package/dist/tests/testState.test.js +3 -3
  881. package/dist/tests/typeEvaluator4.test.js +4 -0
  882. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  883. package/dist/tests/typeEvaluator7.test.js +2 -2
  884. package/dist/workspaceFactory.d.ts +12 -12
  885. package/dist/workspaceFactory.js +21 -141
  886. package/dist/workspaceFactory.js.map +1 -1
  887. package/package.json +5 -4
  888. package/dist/tests/fourslash/fourslash.d.ts +0 -338
  889. package/dist/tests/fourslash/fourslash.js +0 -25
  890. package/dist/tests/fourslash/fourslash.js.map +0 -1
@@ -56,6 +56,7 @@ const analyzerFileInfo_1 = require("./analyzerFileInfo");
56
56
  const AnalyzerNodeInfo = __importStar(require("./analyzerNodeInfo"));
57
57
  const codeFlowEngine_1 = require("./codeFlowEngine");
58
58
  const codeFlowTypes_1 = require("./codeFlowTypes");
59
+ const constraintSolution_1 = require("./constraintSolution");
59
60
  const constraintSolver_1 = require("./constraintSolver");
60
61
  const constraintTracker_1 = require("./constraintTracker");
61
62
  const constructors_1 = require("./constructors");
@@ -616,13 +617,12 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
616
617
  break;
617
618
  }
618
619
  case 48 /* ParseNodeType.StringList */: {
619
- const isExpectingType = (flags & 8 /* EvalFlags.StrLiteralAsType */) !== 0 && !isAnnotationLiteralValue(node);
620
- if (isExpectingType) {
620
+ if ((flags & 8 /* EvalFlags.StrLiteralAsType */) !== 0) {
621
621
  // Don't report expecting type errors again. We will have already
622
622
  // reported them when analyzing the contents of the string.
623
623
  expectingInstantiable = false;
624
624
  }
625
- typeResult = getTypeOfStringList(node, flags, isExpectingType);
625
+ typeResult = getTypeOfStringList(node, flags);
626
626
  break;
627
627
  }
628
628
  case 40 /* ParseNodeType.Number */: {
@@ -888,9 +888,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
888
888
  }
889
889
  return typeResult;
890
890
  }
891
- function getTypeOfStringList(node, flags, isExpectingType) {
891
+ function getTypeOfStringList(node, flags) {
892
892
  let typeResult;
893
- if (isExpectingType) {
893
+ if ((flags & 8 /* EvalFlags.StrLiteralAsType */) !== 0) {
894
894
  let updatedFlags = flags | 4 /* EvalFlags.ForwardRefs */ | 128 /* EvalFlags.InstantiableType */;
895
895
  // In most cases, annotations within a string are not parsed by the interpreter.
896
896
  // There are a few exceptions (e.g. the "bound" value for a TypeVar constructor).
@@ -900,7 +900,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
900
900
  if (node.d.annotation) {
901
901
  typeResult = getTypeOfExpression(node.d.annotation, updatedFlags);
902
902
  }
903
- else if (!node.d.annotation && node.d.strings.length === 1) {
903
+ else if (node.d.strings.length === 1) {
904
904
  const tokenFlags = node.d.strings[0].d.token.flags;
905
905
  if (tokenFlags & 32 /* StringTokenFlags.Bytes */) {
906
906
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.annotationBytesString(), node);
@@ -2093,20 +2093,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
2093
2093
  return (codeFlowEngine.getFlowNodeReachability(sinkFlowNode, sourceFlowNode, /* ignoreNoReturn */ true) ===
2094
2094
  typeEvaluatorTypes_1.Reachability.Reachable);
2095
2095
  }
2096
- // Determines whether the specified string literal is part
2097
- // of a Literal['xxx'] statement. If so, we will not treat
2098
- // the string as a normal forward-declared type annotation.
2099
- function isAnnotationLiteralValue(node) {
2100
- if (node.parent && node.parent.nodeType === 27 /* ParseNodeType.Index */) {
2101
- const baseType = getTypeOfExpression(node.parent.d.leftExpr).type;
2102
- if (baseType && (0, types_1.isInstantiableClass)(baseType)) {
2103
- if (types_1.ClassType.isSpecialBuiltIn(baseType, 'Literal')) {
2104
- return true;
2105
- }
2106
- }
2107
- }
2108
- return false;
2109
- }
2110
2096
  function addInformation(message, node, range) {
2111
2097
  return addDiagnosticWithSuppressionCheck('information', message, node, range);
2112
2098
  }
@@ -3410,7 +3396,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
3410
3396
  }
3411
3397
  else if ((0, types_1.isTypeVarTuple)(param) && tupleClass && (0, types_1.isInstantiableClass)(tupleClass)) {
3412
3398
  defaultType = makeTupleObject([{ type: types_1.UnknownType.create(), isUnbounded: true }],
3413
- /* isUnpackedTuple */ true);
3399
+ /* isUnpacked */ true);
3414
3400
  }
3415
3401
  else {
3416
3402
  defaultType = types_1.UnknownType.create();
@@ -3789,8 +3775,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
3789
3775
  if (usage.method === 'get') {
3790
3776
  const getAttrSymbol = types_1.ModuleType.getField(baseType, '__getattr__');
3791
3777
  if (getAttrSymbol) {
3792
- const isModuleGetAttrSupported = fileInfo.executionEnvironment.pythonVersion.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_7) ||
3793
- getAttrSymbol.getDeclarations().some((decl) => decl.uri.hasExtension('.pyi'));
3778
+ const isModuleGetAttrSupported = pythonVersion_1.PythonVersion.isGreaterOrEqualTo(fileInfo.executionEnvironment.pythonVersion, pythonVersion_1.pythonVersion3_7) || getAttrSymbol.getDeclarations().some((decl) => decl.uri.hasExtension('.pyi'));
3794
3779
  if (isModuleGetAttrSupported) {
3795
3780
  const getAttrTypeResult = getEffectiveTypeOfSymbolForUsage(getAttrSymbol);
3796
3781
  if ((0, types_1.isFunction)(getAttrTypeResult.type)) {
@@ -4550,7 +4535,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
4550
4535
  !baseTypeResult.type.priv.aliasName) {
4551
4536
  const minPythonVersion = nonSubscriptableBuiltinTypes.get(baseTypeResult.type.shared.fullName);
4552
4537
  if (minPythonVersion !== undefined &&
4553
- fileInfo.executionEnvironment.pythonVersion.isLessThan(minPythonVersion) &&
4538
+ pythonVersion_1.PythonVersion.isLessThan(fileInfo.executionEnvironment.pythonVersion, minPythonVersion) &&
4554
4539
  !fileInfo.isStubFile) {
4555
4540
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIndexIssue, localize_1.LocMessage.classNotRuntimeSubscriptable().format({
4556
4541
  name: baseTypeResult.type.priv.aliasName || baseTypeResult.type.shared.name,
@@ -4687,7 +4672,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
4687
4672
  }
4688
4673
  });
4689
4674
  }
4690
- const tupleObject = makeTupleObject(variadicTypes, /* isUnpackedTuple */ true);
4675
+ const tupleObject = makeTupleObject(variadicTypes, /* isUnpacked */ true);
4691
4676
  typeArgs = [
4692
4677
  ...typeArgs.slice(0, variadicIndex),
4693
4678
  { node: typeArgs[variadicIndex].node, type: tupleObject },
@@ -4699,7 +4684,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
4699
4684
  // Add an empty tuple that maps to the TypeVarTuple type parameter.
4700
4685
  typeArgs.push({
4701
4686
  node: errorNode,
4702
- type: makeTupleObject([], /* isUnpackedTuple */ true),
4687
+ type: makeTupleObject([], /* isUnpacked */ true),
4703
4688
  });
4704
4689
  }
4705
4690
  }
@@ -5148,9 +5133,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
5148
5133
  }
5149
5134
  });
5150
5135
  }
5151
- function makeTupleObject(typeArgs, isUnpackedTuple = false) {
5136
+ function makeTupleObject(typeArgs, isUnpacked = false) {
5152
5137
  if (tupleClass && (0, types_1.isInstantiableClass)(tupleClass)) {
5153
- return (0, typeUtils_1.convertToInstance)((0, typeUtils_1.specializeTupleClass)(tupleClass, typeArgs, /* isTypeArgExplicit */ true, isUnpackedTuple));
5138
+ return (0, typeUtils_1.convertToInstance)((0, typeUtils_1.specializeTupleClass)(tupleClass, typeArgs, /* isTypeArgExplicit */ true, isUnpacked));
5154
5139
  }
5155
5140
  return types_1.UnknownType.create();
5156
5141
  }
@@ -7196,7 +7181,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
7196
7181
  }
7197
7182
  else {
7198
7183
  positionalOnlyLimitIndex = varArgListParamIndex;
7199
- positionalArgCount = varArgListParamIndex;
7184
+ positionalArgCount = Math.min(varArgListParamIndex, positionalArgCount);
7200
7185
  positionParamLimitIndex = varArgListParamIndex;
7201
7186
  }
7202
7187
  }
@@ -7930,7 +7915,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
7930
7915
  specializedTuple = tupleTypeArgs[0].type;
7931
7916
  }
7932
7917
  else {
7933
- specializedTuple = makeTupleObject(tupleTypeArgs, /* isUnpackedTuple */ true);
7918
+ specializedTuple = makeTupleObject(tupleTypeArgs, /* isUnpacked */ true);
7934
7919
  }
7935
7920
  const combinedArg = {
7936
7921
  paramCategory: 1 /* ParamCategory.ArgsList */,
@@ -8263,10 +8248,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
8263
8248
  }
8264
8249
  // If the final return type is an unpacked tuple, turn it into a normal (unpacked) tuple.
8265
8250
  if ((0, types_1.isUnpackedClass)(specializedReturnType)) {
8266
- specializedReturnType = types_1.ClassType.cloneForUnpacked(specializedReturnType, /* isUnpackedTuple */ false);
8251
+ specializedReturnType = types_1.ClassType.cloneForUnpacked(specializedReturnType, /* isUnpacked */ false);
8267
8252
  }
8268
8253
  const liveTypeVarScopes = ParseTreeUtils.getTypeVarScopesForNode(errorNode);
8269
- specializedReturnType = adjustCallableReturnType(type, specializedReturnType, liveTypeVarScopes);
8254
+ specializedReturnType = adjustCallableReturnType(errorNode, specializedReturnType, liveTypeVarScopes);
8270
8255
  if (specializedInitSelfType) {
8271
8256
  specializedInitSelfType = solveAndApplyConstraints(specializedInitSelfType, constraints);
8272
8257
  }
@@ -8313,21 +8298,30 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
8313
8298
  // to allow these type vars to be solved. This won't work with overloads
8314
8299
  // or unions of callables. It's intended for a specific use case. We may
8315
8300
  // need to make this more sophisticated in the future.
8316
- function adjustCallableReturnType(callableType, returnType, liveTypeVarScopes) {
8317
- var _a, _b;
8318
- if (!(0, types_1.isFunction)(returnType) || returnType.shared.name || !callableType.shared.typeVarScopeId) {
8301
+ function adjustCallableReturnType(callNode, returnType, liveTypeVarScopes) {
8302
+ if (!(0, types_1.isFunction)(returnType)) {
8319
8303
  return returnType;
8320
8304
  }
8321
8305
  // What type variables are referenced in the callable return type? Do not include any live type variables.
8322
- const newTypeParams = (0, typeUtils_1.getTypeVarArgsRecursive)(returnType).filter((t) => !liveTypeVarScopes.some((scopeId) => t.priv.scopeId === scopeId));
8306
+ const typeParams = (0, typeUtils_1.getTypeVarArgsRecursive)(returnType).filter((t) => !liveTypeVarScopes.some((scopeId) => t.priv.scopeId === scopeId));
8323
8307
  // If there are no unsolved type variables, we're done. If there are
8324
- // unsolved type variables, treat them as though they are rescoped
8325
- // to the callable.
8326
- if (newTypeParams.length === 0) {
8308
+ // unsolved type variables, rescope them to the callable.
8309
+ if (typeParams.length === 0) {
8327
8310
  return returnType;
8328
8311
  }
8329
- const newScopeId = (_b = (_a = newTypeParams[0].priv.freeTypeVar) === null || _a === void 0 ? void 0 : _a.priv.scopeId) !== null && _b !== void 0 ? _b : newTypeParams[0].priv.scopeId;
8330
- return types_1.FunctionType.cloneWithNewTypeVarScopeId(returnType, newScopeId, callableType.priv.constructorTypeVarScopeId, newTypeParams);
8312
+ inferReturnTypeIfNecessary(returnType);
8313
+ // Create a new scope ID based on the caller's position. This
8314
+ // will guarantee uniqueness. If another caller uses the same
8315
+ // call and arguments, the type vars will not conflict.
8316
+ const newScopeId = ParseTreeUtils.getScopeIdForNode(callNode);
8317
+ const solution = new constraintSolution_1.ConstraintSolution();
8318
+ const newTypeParams = typeParams.map((typeVar) => {
8319
+ const newTypeParam = types_1.TypeVarType.cloneForScopeId(typeVar, newScopeId, typeVar.priv.scopeName, 1 /* TypeVarScopeType.Function */);
8320
+ solution.setType(typeVar, newTypeParam);
8321
+ return newTypeParam;
8322
+ });
8323
+ return (0, typeUtils_1.applySolvedTypeVars)(types_1.FunctionType.cloneWithNewTypeVarScopeId(returnType, newScopeId,
8324
+ /* constructorTypeVarScopeId */ undefined, newTypeParams), solution);
8331
8325
  }
8332
8326
  // Tries to assign the call arguments to the function parameter
8333
8327
  // list and reports any mismatches in types or counts. Returns the
@@ -8746,7 +8740,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
8746
8740
  typeVar.shared.isDefaultExplicit = true;
8747
8741
  const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
8748
8742
  if (!fileInfo.isStubFile &&
8749
- fileInfo.executionEnvironment.pythonVersion.isLessThan(pythonVersion_1.pythonVersion3_13) &&
8743
+ pythonVersion_1.PythonVersion.isLessThan(fileInfo.executionEnvironment.pythonVersion, pythonVersion_1.pythonVersion3_13) &&
8750
8744
  classType.shared.moduleName !== 'typing_extensions') {
8751
8745
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typeVarDefaultIllegal(), defaultValueNode);
8752
8746
  }
@@ -8850,7 +8844,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
8850
8844
  }
8851
8845
  const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
8852
8846
  if (!fileInfo.isStubFile &&
8853
- fileInfo.executionEnvironment.pythonVersion.isLessThan(pythonVersion_1.pythonVersion3_13) &&
8847
+ pythonVersion_1.PythonVersion.isLessThan(fileInfo.executionEnvironment.pythonVersion, pythonVersion_1.pythonVersion3_13) &&
8854
8848
  classType.shared.moduleName !== 'typing_extensions') {
8855
8849
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typeVarDefaultIllegal(), expr);
8856
8850
  }
@@ -8911,7 +8905,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
8911
8905
  }
8912
8906
  const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
8913
8907
  if (!fileInfo.isStubFile &&
8914
- fileInfo.executionEnvironment.pythonVersion.isLessThan(pythonVersion_1.pythonVersion3_13) &&
8908
+ pythonVersion_1.PythonVersion.isLessThan(fileInfo.executionEnvironment.pythonVersion, pythonVersion_1.pythonVersion3_13) &&
8915
8909
  classType.shared.moduleName !== 'typing_extensions') {
8916
8910
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.typeVarDefaultIllegal(), expr);
8917
8911
  }
@@ -10074,7 +10068,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
10074
10068
  paramsArePositionOnly = false;
10075
10069
  }
10076
10070
  }
10077
- const functionParam = types_1.FunctionParam.create(param.d.category, paramType !== null && paramType !== void 0 ? paramType : types_1.UnknownType.create(), types_1.FunctionParamFlags.TypeDeclared, param.d.name ? param.d.name.d.value : undefined, param.d.defaultValue ? types_1.AnyType.create(/* isEllipsis */ true) : undefined);
10071
+ const functionParam = types_1.FunctionParam.create(param.d.category, paramType !== null && paramType !== void 0 ? paramType : types_1.UnknownType.create(), types_1.FunctionParamFlags.TypeDeclared, param.d.name ? param.d.name.d.value : undefined, param.d.defaultValue ? types_1.AnyType.create(/* isEllipsis */ true) : undefined, param.d.defaultValue);
10078
10072
  types_1.FunctionType.addParam(functionType, functionParam);
10079
10073
  });
10080
10074
  if (paramsArePositionOnly && functionType.shared.parameters.length > 0) {
@@ -10614,10 +10608,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
10614
10608
  }
10615
10609
  return type;
10616
10610
  }
10617
- // Creates a "TypeGuard" and "TypeIs" type. This is an alias for 'bool', which
10618
- // isn't a generic type and therefore doesn't have a typeParam.
10619
- // We'll abuse our internal types a bit by specializing it with
10620
- // a type argument anyway.
10611
+ // Creates a "TypeGuard" and "TypeIs" type.
10621
10612
  function createTypeGuardType(classType, errorNode, typeArgs, flags) {
10622
10613
  // If no type arguments are provided, the resulting type
10623
10614
  // depends on whether we're evaluating a type annotation or
@@ -10845,65 +10836,77 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
10845
10836
  if ((flags & typeExprFlags) === 0) {
10846
10837
  return { type: classType };
10847
10838
  }
10848
- if (typeArgs) {
10839
+ let type;
10840
+ if (typeArgs && typeArgs.length > 0) {
10841
+ type = typeArgs[0].type;
10849
10842
  if (typeArgs.length < 2) {
10850
10843
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInvalidTypeForm, localize_1.LocMessage.annotatedTypeArgMissing(), errorNode);
10851
10844
  }
10852
10845
  else {
10853
- validateAnnotatedMetadata(errorNode, typeArgs[0].type, typeArgs.slice(1));
10846
+ type = validateAnnotatedMetadata(errorNode, typeArgs[0].type, typeArgs.slice(1));
10854
10847
  }
10855
10848
  }
10856
- if (!typeArgs || typeArgs.length === 0) {
10849
+ if (!type || !typeArgs || typeArgs.length === 0) {
10857
10850
  return { type: types_1.AnyType.create() };
10858
10851
  }
10859
10852
  if (typeArgs[0].typeList) {
10860
10853
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInvalidTypeForm, localize_1.LocMessage.typeArgListNotAllowed(), typeArgs[0].node);
10861
10854
  }
10862
10855
  return {
10863
- type: types_1.TypeBase.cloneAsSpecialForm(typeArgs[0].type, classType),
10856
+ type: types_1.TypeBase.cloneAsSpecialForm(type, classType),
10864
10857
  isReadOnly: typeArgs[0].isReadOnly,
10865
10858
  isRequired: typeArgs[0].isRequired,
10866
10859
  isNotRequired: typeArgs[0].isNotRequired,
10867
10860
  };
10868
10861
  }
10869
- // Enforces metadata consistency as specified in PEP 746.
10870
- function validateAnnotatedMetadata(errorNode, annotatedType, metaArgs) {
10862
+ // Enforces metadata consistency as specified in PEP 746 and associates
10863
+ // refinement type predicates with the base type.
10864
+ function validateAnnotatedMetadata(errorNode, baseType, metaArgs) {
10865
+ for (const metaArg of metaArgs) {
10866
+ validateTypeMetadata(errorNode, baseType, metaArg);
10867
+ }
10868
+ return baseType;
10869
+ }
10870
+ // Determines whether the metadata object is compatible with the base type.
10871
+ function validateTypeMetadata(errorNode, baseType, metaArg) {
10871
10872
  var _a;
10872
10873
  // This is an experimental feature because PEP 746 hasn't been accepted.
10873
10874
  if (!AnalyzerNodeInfo.getFileInfo(errorNode).diagnosticRuleSet.enableExperimentalFeatures) {
10874
- return;
10875
+ return true;
10875
10876
  }
10876
- for (const metaArg of metaArgs) {
10877
- if ((0, types_1.isClass)(metaArg.type)) {
10878
- const supportsTypeMethod = (_a = getTypeOfBoundMember(
10879
- /* errorNode */ undefined, metaArg.type, '__supports_type__')) === null || _a === void 0 ? void 0 : _a.type;
10880
- if (!supportsTypeMethod) {
10881
- continue;
10882
- }
10883
- // "Call" the __supports_type__ method to determine if the type is supported.
10884
- const callResult = useSpeculativeMode(errorNode, () => validateCallArgs(errorNode, [
10885
- {
10886
- argCategory: 0 /* ArgCategory.Simple */,
10887
- typeResult: { type: (0, typeUtils_1.convertToInstance)(annotatedType) },
10888
- },
10889
- ], { type: supportsTypeMethod },
10890
- /* constraints */ undefined,
10891
- /* skipUnknownArgCheck */ true,
10892
- /* inferenceContext */ undefined));
10893
- if (callResult.isTypeIncomplete || !callResult.returnType) {
10894
- continue;
10895
- }
10896
- // If there are no errors and the return type is potentially truthy,
10897
- // we know that the type is supported by this metadata object.
10898
- if (!callResult.argumentErrors && canBeTruthy(callResult.returnType)) {
10899
- continue;
10900
- }
10901
- addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInvalidTypeArguments, localize_1.LocMessage.annotatedMetadataInconsistent().format({
10902
- metadataType: printType(metaArg.type),
10903
- type: printType((0, typeUtils_1.convertToInstance)(annotatedType)),
10904
- }), metaArg.node);
10905
- }
10877
+ if (!(0, types_1.isClass)(metaArg.type)) {
10878
+ return true;
10879
+ }
10880
+ const supportsTypeMethod = (_a = getTypeOfBoundMember(
10881
+ /* errorNode */ undefined, metaArg.type, '__supports_type__')) === null || _a === void 0 ? void 0 : _a.type;
10882
+ if (!supportsTypeMethod) {
10883
+ return true;
10884
+ }
10885
+ // "Call" the __supports_type__ method to determine if the type is supported.
10886
+ const callResult = useSpeculativeMode(errorNode, () => validateCallArgs(errorNode, [
10887
+ {
10888
+ argCategory: 0 /* ArgCategory.Simple */,
10889
+ typeResult: { type: (0, typeUtils_1.convertToInstance)(baseType) },
10890
+ },
10891
+ ], { type: supportsTypeMethod },
10892
+ /* constraints */ undefined,
10893
+ /* skipUnknownArgCheck */ true,
10894
+ /* inferenceContext */ undefined));
10895
+ if (!callResult.returnType) {
10896
+ return true;
10897
+ }
10898
+ // If there are no errors and the return type is potentially truthy,
10899
+ // we know that the type is supported by this metadata object.
10900
+ if (!callResult.argumentErrors && canBeTruthy(callResult.returnType)) {
10901
+ return true;
10906
10902
  }
10903
+ if (!callResult.isTypeIncomplete) {
10904
+ addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInvalidTypeArguments, localize_1.LocMessage.annotatedMetadataInconsistent().format({
10905
+ metadataType: printType(metaArg.type),
10906
+ type: printType((0, typeUtils_1.convertToInstance)(baseType)),
10907
+ }), metaArg.node);
10908
+ }
10909
+ return false;
10907
10910
  }
10908
10911
  // Creates one of several "special" types that are defined in typing.pyi
10909
10912
  // but not declared in their entirety. This includes the likes of "Tuple",
@@ -11043,36 +11046,20 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
11043
11046
  })) {
11044
11047
  typeArgType = types_1.UnknownType.create();
11045
11048
  }
11046
- // If this is an unpacked tuple, explode out the individual items.
11047
- if ((0, types_1.isUnpackedClass)(typeArg.type) && typeArg.type.priv.tupleTypeArgs) {
11049
+ if ((0, types_1.isTypeVar)(typeArgType) && (0, types_1.isUnpackedTypeVarTuple)(typeArgType)) {
11048
11050
  // This is an experimental feature because Unions of unpacked TypeVarTuples are not officially supported.
11049
11051
  if (fileInfo.diagnosticRuleSet.enableExperimentalFeatures) {
11050
- typeArg.type.priv.tupleTypeArgs.forEach((tupleTypeArg) => {
11051
- types.push((0, typeUtils_1.convertToInstantiable)(tupleTypeArg.type));
11052
- });
11052
+ // If this is an unpacked TypeVar, note that it is in a union so we can
11053
+ // differentiate between Unpack[Vs] and Union[Unpack[Vs]].
11054
+ typeArgType = types_1.TypeVarType.cloneForUnpacked(typeArgType, /* isInUnion */ true);
11053
11055
  allowSingleTypeArg = true;
11054
11056
  }
11055
11057
  else {
11056
- addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.unionUnpackedTuple(), errorNode);
11057
- types.push(types_1.UnknownType.create());
11058
- }
11059
- }
11060
- else {
11061
- if ((0, types_1.isTypeVar)(typeArgType) && (0, types_1.isUnpackedTypeVarTuple)(typeArgType)) {
11062
- // This is an experimental feature because Unions of unpacked TypeVarTuples are not officially supported.
11063
- if (fileInfo.diagnosticRuleSet.enableExperimentalFeatures) {
11064
- // If this is an unpacked TypeVar, note that it is in a union so we can
11065
- // differentiate between Unpack[Vs] and Union[Unpack[Vs]].
11066
- typeArgType = types_1.TypeVarType.cloneForUnpacked(typeArgType, /* isInUnion */ true);
11067
- allowSingleTypeArg = true;
11068
- }
11069
- else {
11070
- addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.unionUnpackedTypeVarTuple(), errorNode);
11071
- typeArgType = types_1.UnknownType.create();
11072
- }
11058
+ addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.unionUnpackedTypeVarTuple(), errorNode);
11059
+ typeArgType = types_1.UnknownType.create();
11073
11060
  }
11074
- types.push(typeArgType);
11075
11061
  }
11062
+ types.push(typeArgType);
11076
11063
  }
11077
11064
  // Validate that we received at least two type arguments. One type argument
11078
11065
  // is allowed if it's an unpacked TypeVarTuple or tuple. None is also allowed
@@ -11229,7 +11216,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
11229
11216
  if (fileInfo.isTypingExtensionsStubFile) {
11230
11217
  specialClassType.shared.flags |= 4096 /* ClassTypeFlags.TypingExtensionClass */;
11231
11218
  }
11232
- const baseClassName = aliasMapEntry.alias || 'object';
11219
+ const baseClassName = aliasMapEntry.implicitBaseClass || aliasMapEntry.alias || 'object';
11233
11220
  let baseClass;
11234
11221
  if (aliasMapEntry.module === 'builtins') {
11235
11222
  baseClass = getBuiltInType(node, baseClassName);
@@ -11296,7 +11283,13 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
11296
11283
  ['Concatenate', { alias: '', module: 'builtins', isSpecialForm: true }],
11297
11284
  [
11298
11285
  'TypeGuard',
11299
- { alias: '', module: 'builtins', isSpecialForm: true, typeParamVariance: 3 /* Variance.Covariant */ },
11286
+ {
11287
+ alias: '',
11288
+ module: 'builtins',
11289
+ implicitBaseClass: 'bool',
11290
+ isSpecialForm: true,
11291
+ typeParamVariance: 3 /* Variance.Covariant */,
11292
+ },
11300
11293
  ],
11301
11294
  ['Unpack', { alias: '', module: 'builtins', isSpecialForm: true }],
11302
11295
  ['Required', { alias: '', module: 'builtins', isSpecialForm: true }],
@@ -11306,7 +11299,16 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
11306
11299
  ['Never', { alias: '', module: 'builtins', isSpecialForm: true }],
11307
11300
  ['LiteralString', { alias: '', module: 'builtins', isSpecialForm: true }],
11308
11301
  ['ReadOnly', { alias: '', module: 'builtins', isSpecialForm: true }],
11309
- ['TypeIs', { alias: '', module: 'builtins', isSpecialForm: true, typeParamVariance: 2 /* Variance.Invariant */ }],
11302
+ [
11303
+ 'TypeIs',
11304
+ {
11305
+ alias: '',
11306
+ module: 'builtins',
11307
+ implicitBaseClass: 'bool',
11308
+ isSpecialForm: true,
11309
+ typeParamVariance: 2 /* Variance.Invariant */,
11310
+ },
11311
+ ],
11310
11312
  ]);
11311
11313
  const aliasMapEntry = specialTypes.get(assignedName);
11312
11314
  if (aliasMapEntry) {
@@ -11743,7 +11745,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
11743
11745
  if (types_1.ClassType.isBuiltIn(argType, 'Protocol')) {
11744
11746
  if (!fileInfo.isStubFile &&
11745
11747
  !types_1.ClassType.isTypingExtensionClass(argType) &&
11746
- fileInfo.executionEnvironment.pythonVersion.isLessThan(pythonVersion_1.pythonVersion3_7)) {
11748
+ pythonVersion_1.PythonVersion.isLessThan(fileInfo.executionEnvironment.pythonVersion, pythonVersion_1.pythonVersion3_7)) {
11747
11749
  addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInvalidTypeForm, localize_1.LocMessage.protocolIllegal(), arg.d.valueExpr);
11748
11750
  }
11749
11751
  classType.shared.flags |= 512 /* ClassTypeFlags.ProtocolClass */;
@@ -11753,7 +11755,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
11753
11755
  }
11754
11756
  // If the class directly derives from NamedTuple (in Python 3.6 or
11755
11757
  // newer), it's considered a (read-only) dataclass.
11756
- if (fileInfo.executionEnvironment.pythonVersion.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_6)) {
11758
+ if (pythonVersion_1.PythonVersion.isGreaterOrEqualTo(fileInfo.executionEnvironment.pythonVersion, pythonVersion_1.pythonVersion3_6)) {
11757
11759
  if (types_1.ClassType.isBuiltIn(argType, 'NamedTuple')) {
11758
11760
  isNamedTupleSubclass = true;
11759
11761
  classType.shared.flags |= 524288 /* ClassTypeFlags.ReadOnlyInstanceVariables */;
@@ -12817,7 +12819,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
12817
12819
  }
12818
12820
  paramType = paramType !== null && paramType !== void 0 ? paramType : types_1.UnknownType.create();
12819
12821
  const functionParam = types_1.FunctionParam.create(param.d.category, paramType, (isTypeInferred ? types_1.FunctionParamFlags.TypeInferred : types_1.FunctionParamFlags.None) |
12820
- (paramTypeNode ? types_1.FunctionParamFlags.TypeDeclared : types_1.FunctionParamFlags.None), param.d.name ? param.d.name.d.value : undefined, defaultValueType);
12822
+ (paramTypeNode ? types_1.FunctionParamFlags.TypeDeclared : types_1.FunctionParamFlags.None), param.d.name ? param.d.name.d.value : undefined, defaultValueType, param.d.defaultValue);
12821
12823
  types_1.FunctionType.addParam(functionType, functionParam);
12822
12824
  if (types_1.FunctionParam.isTypeDeclared(functionParam)) {
12823
12825
  (0, typeUtils_1.addTypeVarsToListIfUnique)(typeParamsSeen, (0, typeUtils_1.getTypeVarArgsRecursive)(paramType), functionType.shared.typeVarScopeId);
@@ -13064,7 +13066,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
13064
13066
  return type;
13065
13067
  }
13066
13068
  if ((0, types_1.isUnpackedClass)(type)) {
13067
- return types_1.ClassType.cloneForUnpacked(type, /* isUnpackedTuple */ false);
13069
+ return types_1.ClassType.cloneForUnpacked(type, /* isUnpacked */ false);
13068
13070
  }
13069
13071
  return makeTupleObject([{ type, isUnbounded: !(0, types_1.isTypeVarTuple)(type) }]);
13070
13072
  }
@@ -13531,7 +13533,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
13531
13533
  reportError = true;
13532
13534
  // Handle PEP 562 support for module-level __getattr__ function,
13533
13535
  // introduced in Python 3.7.
13534
- if (fileInfo.executionEnvironment.pythonVersion.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_7) ||
13536
+ if (pythonVersion_1.PythonVersion.isGreaterOrEqualTo(fileInfo.executionEnvironment.pythonVersion, pythonVersion_1.pythonVersion3_7) ||
13535
13537
  fileInfo.isStubFile) {
13536
13538
  const getAttrSymbol = importLookupInfo.symbolTable.get('__getattr__');
13537
13539
  if (getAttrSymbol) {
@@ -14360,7 +14362,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
14360
14362
  }
14361
14363
  const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
14362
14364
  if (fileInfo.isStubFile ||
14363
- fileInfo.executionEnvironment.pythonVersion.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_9) ||
14365
+ pythonVersion_1.PythonVersion.isGreaterOrEqualTo(fileInfo.executionEnvironment.pythonVersion, pythonVersion_1.pythonVersion3_9) ||
14364
14366
  (0, analyzerFileInfo_1.isAnnotationEvaluationPostponed)(AnalyzerNodeInfo.getFileInfo(errorNode)) ||
14365
14367
  (flags & 4 /* EvalFlags.ForwardRefs */) !== 0) {
14366
14368
  // Handle "type" specially, since it needs to act like "Type"
@@ -15053,7 +15055,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
15053
15055
  // Synthesize an alias declaration for this name part. The only
15054
15056
  // time this case is used is for IDE services such as
15055
15057
  // the find all references, hover provider and etc.
15056
- declarations.push((0, declarationUtils_1.createSynthesizedAliasDeclaration)(importInfo.resolvedUris[namePartIndex]));
15058
+ declarations.push((0, declarationUtils_1.synthesizeAliasDeclaration)(importInfo.resolvedUris[namePartIndex]));
15057
15059
  }
15058
15060
  }
15059
15061
  }
@@ -16374,13 +16376,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
16374
16376
  }
16375
16377
  return true;
16376
16378
  }
16377
- // If the type is a bool created with a `TypeGuard` or `TypeIs`, it is
16378
- // considered a subtype of `bool`.
16379
- if ((0, types_1.isInstantiableClass)(srcType) && types_1.ClassType.isBuiltIn(srcType, ['TypeGuard', 'TypeIs'])) {
16380
- if ((0, types_1.isInstantiableClass)(destType) && types_1.ClassType.isBuiltIn(destType, 'bool')) {
16381
- return (flags & 1 /* AssignTypeFlags.Invariant */) === 0;
16382
- }
16383
- }
16384
16379
  if ((flags & 1 /* AssignTypeFlags.Invariant */) === 0 || types_1.ClassType.isSameGenericClass(srcType, destType)) {
16385
16380
  if (isDerivedFrom) {
16386
16381
  (0, debug_1.assert)(inheritanceChain.length > 0);
@@ -16587,14 +16582,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
16587
16582
  }
16588
16583
  prevSrcType = curSrcType;
16589
16584
  }
16590
- // If we're enforcing invariance, literal types must match as well.
16591
- if ((flags & 1 /* AssignTypeFlags.Invariant */) !== 0) {
16592
- const srcIsLiteral = srcType.priv.literalValue !== undefined;
16593
- const destIsLiteral = destType.priv.literalValue !== undefined;
16594
- if (srcIsLiteral !== destIsLiteral) {
16595
- return false;
16596
- }
16597
- }
16598
16585
  // Handle tuple, which supports a variable number of type arguments.
16599
16586
  if (destType.priv.tupleTypeArgs && curSrcType.priv.tupleTypeArgs) {
16600
16587
  return (0, tuples_1.assignTupleTypeArgs)(evaluatorInterface, destType, curSrcType, diag, constraints, flags, recursionCount);
@@ -16616,7 +16603,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
16616
16603
  const typeParam = destType.shared.typeParams[i];
16617
16604
  const variance = types_1.TypeVarType.getVariance(typeParam);
16618
16605
  if (curSrcType.priv.tupleTypeArgs) {
16619
- typeArgType = (0, typeUtils_1.convertToInstance)(makeTupleObject(curSrcType.priv.tupleTypeArgs, /* isUnpackedTuple */ true));
16606
+ typeArgType = (0, typeUtils_1.convertToInstance)(makeTupleObject(curSrcType.priv.tupleTypeArgs, /* isUnpacked */ true));
16620
16607
  }
16621
16608
  else {
16622
16609
  typeArgType = i < srcTypeArgs.length ? srcTypeArgs[i] : types_1.UnknownType.create();
@@ -17733,7 +17720,13 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
17733
17720
  }
17734
17721
  }
17735
17722
  }
17736
- return getBoundMagicMethod(objType, '__call__', /* selfType */ undefined, /* diag */ undefined, recursionCount);
17723
+ const callType = getBoundMagicMethod(objType, '__call__',
17724
+ /* selfType */ undefined,
17725
+ /* diag */ undefined, recursionCount);
17726
+ if (!callType) {
17727
+ return undefined;
17728
+ }
17729
+ return (0, typeUtils_1.makeFunctionTypeVarsBound)(callType);
17737
17730
  }
17738
17731
  function assignParam(destType, srcType, paramIndex, diag, constraints, flags, recursionCount) {
17739
17732
  // Handle the special case where the dest type is a synthesized
@@ -17839,7 +17832,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
17839
17832
  }
17840
17833
  });
17841
17834
  if (srcTupleTypes.length !== 1 || !(0, types_1.isTypeVarTuple)(srcTupleTypes[0].type)) {
17842
- const srcPositionalsType = makeTupleObject(srcTupleTypes, /* isUnpackedTuple */ true);
17835
+ const srcPositionalsType = makeTupleObject(srcTupleTypes, /* isUnpacked */ true);
17843
17836
  // Snip out the portion of the source positionals that map to the variadic
17844
17837
  // dest parameter and replace it with a single parameter that is typed as a
17845
17838
  // tuple containing the individual types of the replaced parameters.
@@ -18075,10 +18068,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
18075
18068
  let destArgsType = destParamDetails.params[destParamDetails.argsIndex].type;
18076
18069
  let srcArgsType = srcParamDetails.params[srcParamDetails.argsIndex].type;
18077
18070
  if (!(0, types_1.isUnpacked)(destArgsType)) {
18078
- destArgsType = makeTupleObject([{ type: destArgsType, isUnbounded: true }], /* isUnpackedTuple */ true);
18071
+ destArgsType = makeTupleObject([{ type: destArgsType, isUnbounded: true }], /* isUnpacked */ true);
18079
18072
  }
18080
18073
  if (!(0, types_1.isUnpacked)(srcArgsType)) {
18081
- srcArgsType = makeTupleObject([{ type: srcArgsType, isUnbounded: true }], /* isUnpackedTuple */ true);
18074
+ srcArgsType = makeTupleObject([{ type: srcArgsType, isUnbounded: true }], /* isUnpacked */ true);
18082
18075
  }
18083
18076
  if (!assignParam(destArgsType, srcArgsType, destParamDetails.params[destParamDetails.argsIndex].index, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), constraints, flags, recursionCount)) {
18084
18077
  canAssign = false;
@@ -18254,7 +18247,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
18254
18247
  else {
18255
18248
  remainingParams.push(types_1.FunctionParam.create(p.category, types_1.FunctionType.getParamType(effectiveSrcType, index), p.flags, p.name, types_1.FunctionType.getParamDefaultType(effectiveSrcType, index)
18256
18249
  ? types_1.AnyType.create(/* isEllipsis */ true)
18257
- : undefined));
18250
+ : undefined, p.defaultExpr));
18258
18251
  }
18259
18252
  });
18260
18253
  // If there are remaining parameters and the source and dest do not contain
@@ -19076,7 +19069,15 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
19076
19069
  // evaluating (and caching) the inferred return type if there is no defined return type.
19077
19070
  getEffectiveReturnType(memberType);
19078
19071
  const specializedFunction = solveAndApplyConstraints(memberType, constraints);
19079
- return types_1.FunctionType.clone(specializedFunction, stripFirstParam, baseType);
19072
+ if ((0, types_1.isFunction)(specializedFunction)) {
19073
+ return types_1.FunctionType.clone(specializedFunction, stripFirstParam, baseType);
19074
+ }
19075
+ if ((0, types_1.isOverloaded)(specializedFunction)) {
19076
+ // For overloaded functions, use the first overload. This isn't
19077
+ // strictly correct, but this is an extreme edge case.
19078
+ return types_1.FunctionType.clone(types_1.OverloadedType.getOverloads(specializedFunction)[0], stripFirstParam, baseType);
19079
+ }
19080
+ return undefined;
19080
19081
  }
19081
19082
  function isFinalVariable(symbol) {
19082
19083
  return symbol.getDeclarations().some((decl) => isFinalVariableDeclaration(decl));
@@ -19265,14 +19266,17 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
19265
19266
  parseOptions.isStubFile = fileInfo.isStubFile;
19266
19267
  parseOptions.pythonVersion = fileInfo.executionEnvironment.pythonVersion;
19267
19268
  parseOptions.reportErrorsForParsedStringContents = true;
19268
- const parseResults = parser.parseTextExpression(dummyFileContents, valueOffset, textValue.length, parseOptions,
19269
- /* parseTextMode */ undefined,
19269
+ const parseResults = parser.parseTextExpression(dummyFileContents, valueOffset, textValue.length, parseOptions, 0 /* ParseTextMode.Expression */,
19270
19270
  /* initialParenDepth */ undefined, fileInfo.typingSymbolAliases);
19271
- if (parseResults.parseTree && parseResults.parseTree.nodeType !== 62 /* ParseNodeType.FunctionAnnotation */) {
19271
+ if (parseResults.parseTree) {
19272
+ const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
19272
19273
  parseResults.diagnostics.forEach((diag) => {
19273
- addDiagnosticWithSuppressionCheck('error', diag.message, node);
19274
+ fileInfo.diagnosticSink.addDiagnosticWithTextRange('error', diag.message, node);
19274
19275
  });
19275
19276
  parseResults.parseTree.parent = node;
19277
+ // Add the new subtree to the parse tree so it can participate in
19278
+ // language server operations like find and replace.
19279
+ node.d.annotation = parseResults.parseTree;
19276
19280
  return parseResults.parseTree;
19277
19281
  }
19278
19282
  return undefined;