@zzzen/pyright-internal 1.2.0-dev.20241215 → 1.2.0-dev.20241229

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 (283) hide show
  1. package/dist/analyzer/analysis.js +1 -1
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/analyzerNodeInfo.js +17 -18
  4. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  5. package/dist/analyzer/backgroundAnalysisProgram.js +18 -35
  6. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  7. package/dist/analyzer/binder.js +38 -55
  8. package/dist/analyzer/binder.js.map +1 -1
  9. package/dist/analyzer/checker.js +146 -185
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/codeFlowEngine.js +24 -31
  12. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  13. package/dist/analyzer/constraintSolver.js +23 -24
  14. package/dist/analyzer/constraintSolver.js.map +1 -1
  15. package/dist/analyzer/constraintTracker.js +1 -2
  16. package/dist/analyzer/constraintTracker.js.map +1 -1
  17. package/dist/analyzer/constructorTransform.js +10 -12
  18. package/dist/analyzer/constructorTransform.js.map +1 -1
  19. package/dist/analyzer/constructors.js +14 -19
  20. package/dist/analyzer/constructors.js.map +1 -1
  21. package/dist/analyzer/dataClasses.js +27 -26
  22. package/dist/analyzer/dataClasses.js.map +1 -1
  23. package/dist/analyzer/declarationUtils.js +8 -11
  24. package/dist/analyzer/declarationUtils.js.map +1 -1
  25. package/dist/analyzer/decorators.js +2 -3
  26. package/dist/analyzer/decorators.js.map +1 -1
  27. package/dist/analyzer/docStringConversion.js +6 -8
  28. package/dist/analyzer/docStringConversion.js.map +1 -1
  29. package/dist/analyzer/enums.js +12 -13
  30. package/dist/analyzer/enums.js.map +1 -1
  31. package/dist/analyzer/functionTransform.js +1 -2
  32. package/dist/analyzer/functionTransform.js.map +1 -1
  33. package/dist/analyzer/importResolver.js +18 -27
  34. package/dist/analyzer/importResolver.js.map +1 -1
  35. package/dist/analyzer/importStatementUtils.js +4 -5
  36. package/dist/analyzer/importStatementUtils.js.map +1 -1
  37. package/dist/analyzer/namedTuples.js +6 -7
  38. package/dist/analyzer/namedTuples.js.map +1 -1
  39. package/dist/analyzer/operations.js +14 -17
  40. package/dist/analyzer/operations.js.map +1 -1
  41. package/dist/analyzer/packageTypeVerifier.js +35 -39
  42. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  43. package/dist/analyzer/parameterUtils.js +5 -7
  44. package/dist/analyzer/parameterUtils.js.map +1 -1
  45. package/dist/analyzer/parentDirectoryCache.js +8 -9
  46. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  47. package/dist/analyzer/parseTreeUtils.js +30 -44
  48. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  49. package/dist/analyzer/parseTreeWalker.js +2 -3
  50. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  51. package/dist/analyzer/patternMatching.js +11 -20
  52. package/dist/analyzer/patternMatching.js.map +1 -1
  53. package/dist/analyzer/program.js +29 -40
  54. package/dist/analyzer/program.js.map +1 -1
  55. package/dist/analyzer/properties.js +7 -8
  56. package/dist/analyzer/properties.js.map +1 -1
  57. package/dist/analyzer/protocols.js +21 -23
  58. package/dist/analyzer/protocols.js.map +1 -1
  59. package/dist/analyzer/pythonPathUtils.js +1 -1
  60. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  61. package/dist/analyzer/scope.js +10 -10
  62. package/dist/analyzer/scope.js.map +1 -1
  63. package/dist/analyzer/service.js +32 -47
  64. package/dist/analyzer/service.js.map +1 -1
  65. package/dist/analyzer/sourceFile.js +21 -26
  66. package/dist/analyzer/sourceFile.js.map +1 -1
  67. package/dist/analyzer/sourceFileInfo.js +2 -3
  68. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  69. package/dist/analyzer/sourceFileInfoUtils.js +5 -5
  70. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  71. package/dist/analyzer/sourceMapper.js +19 -30
  72. package/dist/analyzer/sourceMapper.js.map +1 -1
  73. package/dist/analyzer/testWalker.js +1 -2
  74. package/dist/analyzer/testWalker.js.map +1 -1
  75. package/dist/analyzer/tracePrinter.js +7 -9
  76. package/dist/analyzer/tracePrinter.js.map +1 -1
  77. package/dist/analyzer/tuples.js +11 -13
  78. package/dist/analyzer/tuples.js.map +1 -1
  79. package/dist/analyzer/typeCacheUtils.js +5 -6
  80. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  81. package/dist/analyzer/typeDocStringUtils.js +7 -11
  82. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  83. package/dist/analyzer/typeEvaluator.js +628 -780
  84. package/dist/analyzer/typeEvaluator.js.map +1 -1
  85. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
  86. package/dist/analyzer/typeEvaluatorWithTracker.js +2 -2
  87. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  88. package/dist/analyzer/typeGuards.js +26 -36
  89. package/dist/analyzer/typeGuards.js.map +1 -1
  90. package/dist/analyzer/typePrinter.js +15 -24
  91. package/dist/analyzer/typePrinter.js.map +1 -1
  92. package/dist/analyzer/typeStubWriter.js +1 -2
  93. package/dist/analyzer/typeStubWriter.js.map +1 -1
  94. package/dist/analyzer/typeUtils.js +65 -94
  95. package/dist/analyzer/typeUtils.js.map +1 -1
  96. package/dist/analyzer/typeWalker.js +4 -8
  97. package/dist/analyzer/typeWalker.js.map +1 -1
  98. package/dist/analyzer/typedDicts.js +39 -46
  99. package/dist/analyzer/typedDicts.js.map +1 -1
  100. package/dist/analyzer/types.js +64 -103
  101. package/dist/analyzer/types.js.map +1 -1
  102. package/dist/backgroundAnalysis.js +2 -3
  103. package/dist/backgroundAnalysis.js.map +1 -1
  104. package/dist/backgroundAnalysisBase.js +9 -10
  105. package/dist/backgroundAnalysisBase.js.map +1 -1
  106. package/dist/backgroundThreadBase.js +6 -7
  107. package/dist/backgroundThreadBase.js.map +1 -1
  108. package/dist/commands/createTypeStub.js +1 -1
  109. package/dist/commands/createTypeStub.js.map +1 -1
  110. package/dist/commands/dumpFileDebugInfoCommand.js +3 -3
  111. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  112. package/dist/commands/quickActionCommand.js +1 -1
  113. package/dist/commands/quickActionCommand.js.map +1 -1
  114. package/dist/common/asyncInitialization.js +1 -1
  115. package/dist/common/chokidarFileWatcherProvider.js +2 -4
  116. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  117. package/dist/common/configOptions.js +9 -9
  118. package/dist/common/configOptions.js.map +1 -1
  119. package/dist/common/console.js +1 -2
  120. package/dist/common/console.js.map +1 -1
  121. package/dist/common/core.js +2 -2
  122. package/dist/common/core.js.map +1 -1
  123. package/dist/common/crypto.js +1 -1
  124. package/dist/common/crypto.js.map +1 -1
  125. package/dist/common/diagnostic.js +3 -5
  126. package/dist/common/diagnostic.js.map +1 -1
  127. package/dist/common/envVarUtils.js +1 -1
  128. package/dist/common/envVarUtils.js.map +1 -1
  129. package/dist/common/extensibility.d.ts +1 -0
  130. package/dist/common/extensibility.js.map +1 -1
  131. package/dist/common/fileSystem.d.ts +1 -0
  132. package/dist/common/fileSystem.js.map +1 -1
  133. package/dist/common/fullAccessHost.js +5 -5
  134. package/dist/common/fullAccessHost.js.map +1 -1
  135. package/dist/common/host.js +1 -1
  136. package/dist/common/host.js.map +1 -1
  137. package/dist/common/logTracker.js +1 -1
  138. package/dist/common/logTracker.js.map +1 -1
  139. package/dist/common/lspUtils.js +1 -2
  140. package/dist/common/lspUtils.js.map +1 -1
  141. package/dist/common/progressReporter.js +1 -2
  142. package/dist/common/progressReporter.js.map +1 -1
  143. package/dist/common/realFileSystem.js +2 -3
  144. package/dist/common/realFileSystem.js.map +1 -1
  145. package/dist/common/serviceProvider.js +1 -1
  146. package/dist/common/serviceProvider.js.map +1 -1
  147. package/dist/common/textEditTracker.js +4 -6
  148. package/dist/common/textEditTracker.js.map +1 -1
  149. package/dist/common/tomlUtils.js +3 -1
  150. package/dist/common/tomlUtils.js.map +1 -1
  151. package/dist/common/uri/baseUri.js +1 -1
  152. package/dist/common/uri/baseUri.js.map +1 -1
  153. package/dist/common/uri/emptyUri.js +1 -1
  154. package/dist/common/uri/emptyUri.js.map +1 -1
  155. package/dist/common/uri/fileUri.js +2 -2
  156. package/dist/common/uri/fileUri.js.map +1 -1
  157. package/dist/common/uri/memoization.js +1 -1
  158. package/dist/common/uri/memoization.js.map +1 -1
  159. package/dist/common/uri/uri.js +2 -3
  160. package/dist/common/uri/uri.js.map +1 -1
  161. package/dist/common/uri/uriUtils.js +6 -8
  162. package/dist/common/uri/uriUtils.js.map +1 -1
  163. package/dist/common/uri/webUri.js +2 -2
  164. package/dist/common/uri/webUri.js.map +1 -1
  165. package/dist/common/workspaceEditUtils.js +10 -15
  166. package/dist/common/workspaceEditUtils.js.map +1 -1
  167. package/dist/languageServerBase.js +34 -42
  168. package/dist/languageServerBase.js.map +1 -1
  169. package/dist/languageService/analyzerServiceExecutor.js +8 -10
  170. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  171. package/dist/languageService/autoImporter.js +16 -19
  172. package/dist/languageService/autoImporter.js.map +1 -1
  173. package/dist/languageService/callHierarchyProvider.js +6 -11
  174. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  175. package/dist/languageService/completionProvider.js +81 -106
  176. package/dist/languageService/completionProvider.js.map +1 -1
  177. package/dist/languageService/completionProviderUtils.js +3 -3
  178. package/dist/languageService/completionProviderUtils.js.map +1 -1
  179. package/dist/languageService/definitionProvider.js +6 -9
  180. package/dist/languageService/definitionProvider.js.map +1 -1
  181. package/dist/languageService/documentSymbolCollector.js +32 -32
  182. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  183. package/dist/languageService/dynamicFeature.js +1 -2
  184. package/dist/languageService/dynamicFeature.js.map +1 -1
  185. package/dist/languageService/hoverProvider.js +17 -23
  186. package/dist/languageService/hoverProvider.js.map +1 -1
  187. package/dist/languageService/referencesProvider.js +4 -9
  188. package/dist/languageService/referencesProvider.js.map +1 -1
  189. package/dist/languageService/renameProvider.js +2 -4
  190. package/dist/languageService/renameProvider.js.map +1 -1
  191. package/dist/languageService/signatureHelpProvider.js +11 -15
  192. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  193. package/dist/languageService/tooltipUtils.js +15 -17
  194. package/dist/languageService/tooltipUtils.js.map +1 -1
  195. package/dist/localization/localize.js +3 -3
  196. package/dist/localization/localize.js.map +1 -1
  197. package/dist/localization/package.nls.cs.json +6 -0
  198. package/dist/localization/package.nls.de.json +6 -0
  199. package/dist/localization/package.nls.en-us.json +8 -8
  200. package/dist/localization/package.nls.es.json +6 -0
  201. package/dist/localization/package.nls.fr.json +7 -1
  202. package/dist/localization/package.nls.it.json +6 -0
  203. package/dist/localization/package.nls.ja.json +6 -0
  204. package/dist/localization/package.nls.ko.json +6 -0
  205. package/dist/localization/package.nls.pl.json +6 -0
  206. package/dist/localization/package.nls.pt-br.json +6 -0
  207. package/dist/localization/package.nls.qps-ploc.json +6 -0
  208. package/dist/localization/package.nls.ru.json +6 -0
  209. package/dist/localization/package.nls.tr.json +6 -0
  210. package/dist/localization/package.nls.zh-cn.json +6 -0
  211. package/dist/localization/package.nls.zh-tw.json +6 -0
  212. package/dist/parser/parser.js +30 -38
  213. package/dist/parser/parser.js.map +1 -1
  214. package/dist/parser/tokenizer.js +8 -13
  215. package/dist/parser/tokenizer.js.map +1 -1
  216. package/dist/pprof/profiler.js +3 -3
  217. package/dist/pprof/profiler.js.map +1 -1
  218. package/dist/pyright.js +5 -7
  219. package/dist/pyright.js.map +1 -1
  220. package/dist/pyrightFileSystem.js +4 -5
  221. package/dist/pyrightFileSystem.js.map +1 -1
  222. package/dist/readonlyAugmentedFileSystem.js +3 -5
  223. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  224. package/dist/server.js +1 -1
  225. package/dist/server.js.map +1 -1
  226. package/dist/tests/chainedSourceFiles.test.js +3 -3
  227. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  228. package/dist/tests/classDeclaration.test.js +7 -10
  229. package/dist/tests/classDeclaration.test.js.map +1 -1
  230. package/dist/tests/completions.test.js +3 -3
  231. package/dist/tests/completions.test.js.map +1 -1
  232. package/dist/tests/config.test.js +10 -17
  233. package/dist/tests/config.test.js.map +1 -1
  234. package/dist/tests/diagnosticOverrides.test.js +4 -6
  235. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  236. package/dist/tests/envVarUtils.test.js +9 -12
  237. package/dist/tests/envVarUtils.test.js.map +1 -1
  238. package/dist/tests/harness/fourslash/testLanguageService.js +1 -1
  239. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  240. package/dist/tests/harness/fourslash/testState.js +45 -60
  241. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  242. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +6 -7
  243. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  244. package/dist/tests/harness/vfs/filesystem.js +3 -3
  245. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  246. package/dist/tests/importResolver.test.js +6 -7
  247. package/dist/tests/importResolver.test.js.map +1 -1
  248. package/dist/tests/importStatementUtils.test.js +2 -2
  249. package/dist/tests/importStatementUtils.test.js.map +1 -1
  250. package/dist/tests/ipythonMode.test.js +11 -12
  251. package/dist/tests/ipythonMode.test.js.map +1 -1
  252. package/dist/tests/languageServer.test.js +1 -2
  253. package/dist/tests/languageServer.test.js.map +1 -1
  254. package/dist/tests/lsp/languageServer.js +10 -14
  255. package/dist/tests/lsp/languageServer.js.map +1 -1
  256. package/dist/tests/lsp/languageServerTestUtils.js +10 -14
  257. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  258. package/dist/tests/parseTreeUtils.test.js +7 -7
  259. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  260. package/dist/tests/parser.test.js +2 -2
  261. package/dist/tests/parser.test.js.map +1 -1
  262. package/dist/tests/service.test.js +2 -3
  263. package/dist/tests/service.test.js.map +1 -1
  264. package/dist/tests/sourceFile.test.js +2 -3
  265. package/dist/tests/sourceFile.test.js.map +1 -1
  266. package/dist/tests/sourceMapperUtils.test.js +3 -4
  267. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  268. package/dist/tests/testState.test.js +3 -6
  269. package/dist/tests/testState.test.js.map +1 -1
  270. package/dist/tests/testStateUtils.js +3 -4
  271. package/dist/tests/testStateUtils.js.map +1 -1
  272. package/dist/tests/textEditUtil.test.js +2 -2
  273. package/dist/tests/textEditUtil.test.js.map +1 -1
  274. package/dist/tests/typeEvaluator1.test.js +1 -1
  275. package/dist/tests/typeEvaluator4.test.js +4 -0
  276. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  277. package/dist/tests/typePrinter.test.js +1 -2
  278. package/dist/tests/typePrinter.test.js.map +1 -1
  279. package/dist/tests/workspaceEditUtils.test.js +3 -5
  280. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  281. package/dist/workspaceFactory.js +2 -3
  282. package/dist/workspaceFactory.js.map +1 -1
  283. package/package.json +1 -1
@@ -91,7 +91,6 @@ class EditModeTracker {
91
91
  // Shadowed - implementation file that shadows a type stub file
92
92
  class Program {
93
93
  constructor(initialImportResolver, initialConfigOptions, serviceProvider, logTracker, _disableChecker, id) {
94
- var _a;
95
94
  this.serviceProvider = serviceProvider;
96
95
  this._disableChecker = _disableChecker;
97
96
  this._sourceFileList = [];
@@ -99,7 +98,6 @@ class Program {
99
98
  this._parsedFileCount = 0;
100
99
  this._editModeTracker = new EditModeTracker();
101
100
  this._lookUpImport = (fileUriOrModule, options) => {
102
- var _a;
103
101
  let sourceFileInfo;
104
102
  if (uri_1.Uri.is(fileUriOrModule)) {
105
103
  sourceFileInfo = this.getSourceFileInfo(fileUriOrModule);
@@ -127,7 +125,7 @@ class Program {
127
125
  if (!sourceFileInfo) {
128
126
  return undefined;
129
127
  }
130
- if (options === null || options === void 0 ? void 0 : options.skipParsing) {
128
+ if (options?.skipParsing) {
131
129
  // Return dummy information if the caller has indicated that parsing is
132
130
  // unnecessary. This is used in cases where the caller simply wants to
133
131
  // know if the source file exists but is not interested in the contents.
@@ -145,7 +143,7 @@ class Program {
145
143
  // Bind the file if it's not already bound. Don't count this time
146
144
  // against the type checker.
147
145
  timing_1.timingStats.typeCheckerTime.subtractFromTime(() => {
148
- this._bindFile(sourceFileInfo, /* content */ undefined, options === null || options === void 0 ? void 0 : options.skipFileNeededCheck);
146
+ this._bindFile(sourceFileInfo, /* content */ undefined, options?.skipFileNeededCheck);
149
147
  });
150
148
  }
151
149
  const symbolTable = sourceFileInfo.sourceFile.getModuleSymbolTable();
@@ -158,8 +156,8 @@ class Program {
158
156
  const dunderAllInfo = AnalyzerNodeInfo.getDunderAllInfo(parseResults.parseTree);
159
157
  return {
160
158
  symbolTable,
161
- dunderAllNames: dunderAllInfo === null || dunderAllInfo === void 0 ? void 0 : dunderAllInfo.names,
162
- usesUnsupportedDunderAllForm: (_a = dunderAllInfo === null || dunderAllInfo === void 0 ? void 0 : dunderAllInfo.usesUnsupportedDunderAllForm) !== null && _a !== void 0 ? _a : false,
159
+ dunderAllNames: dunderAllInfo?.names,
160
+ usesUnsupportedDunderAllForm: dunderAllInfo?.usesUnsupportedDunderAllForm ?? false,
163
161
  get docString() {
164
162
  return (0, parseTreeUtils_1.getDocString)(moduleNode.d.statements);
165
163
  },
@@ -167,14 +165,14 @@ class Program {
167
165
  };
168
166
  };
169
167
  this._console = serviceProvider.tryGet(serviceKeys_1.ServiceKeys.console) || new console_1.StandardConsole();
170
- this._logTracker = logTracker !== null && logTracker !== void 0 ? logTracker : new logTracker_1.LogTracker(this._console, 'FG');
168
+ this._logTracker = logTracker ?? new logTracker_1.LogTracker(this._console, 'FG');
171
169
  this._importResolver = initialImportResolver;
172
170
  this._configOptions = initialConfigOptions;
173
171
  this._sourceFileFactory = serviceProvider.sourceFileFactory();
174
- this._cacheManager = (_a = serviceProvider.tryGet(serviceKeys_1.ServiceKeys.cacheManager)) !== null && _a !== void 0 ? _a : new cacheManager_1.CacheManager();
172
+ this._cacheManager = serviceProvider.tryGet(serviceKeys_1.ServiceKeys.cacheManager) ?? new cacheManager_1.CacheManager();
175
173
  this._cacheManager.registerCacheOwner(this);
176
174
  this._createNewEvaluator();
177
- this._id = id !== null && id !== void 0 ? id : `Prog_${Program._nextId}`;
175
+ this._id = id ?? `Prog_${Program._nextId}`;
178
176
  Program._nextId += 1;
179
177
  }
180
178
  get id() {
@@ -330,18 +328,17 @@ class Program {
330
328
  return sourceFile;
331
329
  }
332
330
  setFileOpened(fileUri, version, contents, options) {
333
- var _a, _b;
334
331
  let sourceFileInfo = this.getSourceFileInfo(fileUri);
335
332
  if (!sourceFileInfo) {
336
333
  const moduleImportInfo = this._getModuleImportInfoForFile(fileUri);
337
334
  const sourceFile = this._sourceFileFactory.createSourceFile(this.serviceProvider, fileUri, moduleImportInfo.moduleName,
338
- /* isThirdPartyImport */ false, moduleImportInfo.isThirdPartyPyTypedPresent, this._editModeTracker, this._console, this._logTracker, (_a = options === null || options === void 0 ? void 0 : options.ipythonMode) !== null && _a !== void 0 ? _a : sourceFile_1.IPythonMode.None);
339
- const chainedFilePath = options === null || options === void 0 ? void 0 : options.chainedFileUri;
335
+ /* isThirdPartyImport */ false, moduleImportInfo.isThirdPartyPyTypedPresent, this._editModeTracker, this._console, this._logTracker, options?.ipythonMode ?? sourceFile_1.IPythonMode.None);
336
+ const chainedFilePath = options?.chainedFileUri;
340
337
  sourceFileInfo = new sourceFileInfo_1.SourceFileInfo(sourceFile,
341
338
  /* isTypeshedFile */ false,
342
339
  /* isThirdPartyImport */ false,
343
340
  /* isThirdPartyPyTypedPresent */ false, this._editModeTracker, {
344
- isTracked: (_b = options === null || options === void 0 ? void 0 : options.isTracked) !== null && _b !== void 0 ? _b : false,
341
+ isTracked: options?.isTracked ?? false,
345
342
  chainedSourceFile: chainedFilePath ? this.getSourceFileInfo(chainedFilePath) : undefined,
346
343
  isOpenByClient: true,
347
344
  });
@@ -359,9 +356,8 @@ class Program {
359
356
  sourceFileInfo.sourceFile.setClientVersion(version, contents);
360
357
  }
361
358
  getChainedUri(fileUri) {
362
- var _a;
363
359
  const sourceFileInfo = this.getSourceFileInfo(fileUri);
364
- return (_a = sourceFileInfo === null || sourceFileInfo === void 0 ? void 0 : sourceFileInfo.chainedSourceFile) === null || _a === void 0 ? void 0 : _a.sourceFile.getUri();
360
+ return sourceFileInfo?.chainedSourceFile?.sourceFile.getUri();
365
361
  }
366
362
  updateChainedUri(fileUri, chainedFileUri) {
367
363
  const sourceFileInfo = this.getSourceFileInfo(fileUri);
@@ -377,7 +373,7 @@ class Program {
377
373
  const sourceFileInfo = this.getSourceFileInfo(fileUri);
378
374
  if (sourceFileInfo) {
379
375
  sourceFileInfo.isOpenByClient = false;
380
- sourceFileInfo.isTracked = isTracked !== null && isTracked !== void 0 ? isTracked : sourceFileInfo.isTracked;
376
+ sourceFileInfo.isTracked = isTracked ?? sourceFileInfo.isTracked;
381
377
  sourceFileInfo.sourceFile.setClientVersion(null, '');
382
378
  // There is no guarantee that content is saved before the file is closed.
383
379
  // We need to mark the file dirty so we can re-analyze next time.
@@ -504,8 +500,7 @@ class Program {
504
500
  return sourceFileInfo.sourceFile;
505
501
  }
506
502
  getBoundSourceFile(uri) {
507
- var _a;
508
- return (_a = this.getBoundSourceFileInfo(uri)) === null || _a === void 0 ? void 0 : _a.sourceFile;
503
+ return this.getBoundSourceFileInfo(uri)?.sourceFile;
509
504
  }
510
505
  getSourceFileInfoList() {
511
506
  return this._sourceFileList;
@@ -597,16 +592,14 @@ class Program {
597
592
  return this._createSourceMapper(execEnv, token, sourceFileInfo, mapCompiled, preferStubs);
598
593
  }
599
594
  getParserOutput(fileUri) {
600
- var _a;
601
- return (_a = this.getBoundSourceFileInfo(fileUri,
595
+ return this.getBoundSourceFileInfo(fileUri,
602
596
  /* content */ undefined,
603
- /* force */ true)) === null || _a === void 0 ? void 0 : _a.sourceFile.getParserOutput();
597
+ /* force */ true)?.sourceFile.getParserOutput();
604
598
  }
605
599
  getParseResults(fileUri) {
606
- var _a;
607
- return (_a = this.getBoundSourceFileInfo(fileUri,
600
+ return this.getBoundSourceFileInfo(fileUri,
608
601
  /* content */ undefined,
609
- /* force */ true)) === null || _a === void 0 ? void 0 : _a.sourceFile.getParseResults();
602
+ /* force */ true)?.sourceFile.getParseResults();
610
603
  }
611
604
  handleMemoryHighUsage() {
612
605
  this._handleMemoryHighUsage();
@@ -788,8 +781,7 @@ class Program {
788
781
  });
789
782
  }
790
783
  clone() {
791
- var _a, _b;
792
- const program = new Program(this._importResolver, this._configOptions, this.serviceProvider, new logTracker_1.LogTracker(this._console, 'Cloned'));
784
+ const program = new Program(this._importResolver, this._configOptions, this.serviceProvider, new logTracker_1.LogTracker(this._console, 'Cloned'), this._disableChecker);
793
785
  // Cloned program will use whatever user files the program currently has.
794
786
  const userFiles = this.getUserFiles();
795
787
  program.setTrackedFiles(userFiles.map((i) => i.sourceFile.getUri()));
@@ -800,8 +792,8 @@ class Program {
800
792
  if (version === undefined) {
801
793
  continue;
802
794
  }
803
- program.setFileOpened(fileInfo.sourceFile.getUri(), version, (_a = fileInfo.sourceFile.getOpenFileContents()) !== null && _a !== void 0 ? _a : '', {
804
- chainedFileUri: (_b = fileInfo.chainedSourceFile) === null || _b === void 0 ? void 0 : _b.sourceFile.getUri(),
795
+ program.setFileOpened(fileInfo.sourceFile.getUri(), version, fileInfo.sourceFile.getOpenFileContents() ?? '', {
796
+ chainedFileUri: fileInfo.chainedSourceFile?.sourceFile.getUri(),
805
797
  ipythonMode: fileInfo.sourceFile.getIPythonMode(),
806
798
  isTracked: fileInfo.isTracked,
807
799
  });
@@ -820,11 +812,10 @@ class Program {
820
812
  }
821
813
  // Discards any cached information associated with this program.
822
814
  emptyCache() {
823
- var _a;
824
815
  this._createNewEvaluator();
825
816
  this._discardCachedParseResults();
826
817
  this._parsedFileCount = 0;
827
- (_a = this.serviceProvider.tryGet(serviceKeys_1.ServiceKeys.stateMutationListeners)) === null || _a === void 0 ? void 0 : _a.forEach((l) => { var _a; return (_a = l.onClearCache) === null || _a === void 0 ? void 0 : _a.call(l); });
818
+ this.serviceProvider.tryGet(serviceKeys_1.ServiceKeys.stateMutationListeners)?.forEach((l) => l.onClearCache?.());
828
819
  }
829
820
  _handleMemoryHighUsage() {
830
821
  const cacheUsage = this._cacheManager.getCacheUsage();
@@ -1010,7 +1001,7 @@ class Program {
1010
1001
  this._parseFile(fileInfo, /* content */ undefined, /* force */ true);
1011
1002
  }
1012
1003
  return fileInfo;
1013
- }, mapCompiled !== null && mapCompiled !== void 0 ? mapCompiled : false, preferStubs !== null && preferStubs !== void 0 ? preferStubs : false, from, token);
1004
+ }, mapCompiled ?? false, preferStubs ?? false, from, token);
1014
1005
  return sourceMapper;
1015
1006
  }
1016
1007
  _isImportAllowed(importer, importResult, isImportStubFile) {
@@ -1354,7 +1345,6 @@ class Program {
1354
1345
  return file.builtinsImport;
1355
1346
  }
1356
1347
  _bindImplicitImports(fileToAnalyze, skipFileNeededCheck) {
1357
- var _a, _b;
1358
1348
  // Get all of the potential imports for this file.
1359
1349
  const implicitImports = [];
1360
1350
  const implicitSet = new Set();
@@ -1363,8 +1353,9 @@ class Program {
1363
1353
  const implicitPath = nextImplicitImport.sourceFile.getUri();
1364
1354
  if (implicitSet.has(implicitPath.key)) {
1365
1355
  // We've found a cycle. Break out of the loop.
1366
- debug.fail((_b = (_a = this.serviceProvider
1367
- .tryGet(serviceKeys_1.ServiceKeys.debugInfoInspector)) === null || _a === void 0 ? void 0 : _a.getCycleDetail(this, nextImplicitImport)) !== null && _b !== void 0 ? _b : `Found a cycle in implicit imports files`);
1356
+ debug.fail(this.serviceProvider
1357
+ .tryGet(serviceKeys_1.ServiceKeys.debugInfoInspector)
1358
+ ?.getCycleDetail(this, nextImplicitImport) ?? `Found a cycle in implicit imports files`);
1368
1359
  }
1369
1360
  implicitSet.add(implicitPath.key);
1370
1361
  implicitImports.push(nextImplicitImport);
@@ -1385,7 +1376,6 @@ class Program {
1385
1376
  // Binds the specified file. Returns true if the file was bound or it
1386
1377
  // didn't need to be bound.
1387
1378
  _bindFile(fileToBind, content, skipFileNeededCheck = false, isImplicitImport = false) {
1388
- var _a;
1389
1379
  if (!this._isFileNeeded(fileToBind, skipFileNeededCheck) || !fileToBind.sourceFile.isBindingRequired()) {
1390
1380
  return !fileToBind.sourceFile.isBindingRequired();
1391
1381
  }
@@ -1416,7 +1406,7 @@ class Program {
1416
1406
  // If it is not builtin module itself, we need to parse and bind
1417
1407
  // the builtin module.
1418
1408
  builtinsScope =
1419
- (_a = getScopeIfAvailable(fileToBind.chainedSourceFile)) !== null && _a !== void 0 ? _a : getScopeIfAvailable(fileToBind.builtinsImport);
1409
+ getScopeIfAvailable(fileToBind.chainedSourceFile) ?? getScopeIfAvailable(fileToBind.builtinsImport);
1420
1410
  }
1421
1411
  let futureImports = fileToBind.sourceFile.getParserOutput().futureImports;
1422
1412
  if (fileToBind.chainedSourceFile) {
@@ -1427,9 +1417,8 @@ class Program {
1427
1417
  return true;
1428
1418
  }
1429
1419
  _getEffectiveFutureImports(futureImports, chainedSourceFile) {
1430
- var _a;
1431
1420
  const effectiveFutureImports = new Set(futureImports);
1432
- (_a = chainedSourceFile.effectiveFutureImports) === null || _a === void 0 ? void 0 : _a.forEach((value) => {
1421
+ chainedSourceFile.effectiveFutureImports?.forEach((value) => {
1433
1422
  effectiveFutureImports.add(value);
1434
1423
  });
1435
1424
  return effectiveFutureImports;
@@ -1523,7 +1512,7 @@ class Program {
1523
1512
  }
1524
1513
  // If we don't have chainedByList, it means none of them are checked yet.
1525
1514
  const needToRunChecker = !chainedByList;
1526
- chainedByList = chainedByList !== null && chainedByList !== void 0 ? chainedByList : (0, sourceFileInfoUtils_1.createChainedByList)(this, fileToCheck);
1515
+ chainedByList = chainedByList ?? (0, sourceFileInfoUtils_1.createChainedByList)(this, fileToCheck);
1527
1516
  const index = chainedByList.findIndex((v) => v === fileToCheck);
1528
1517
  if (index < 0) {
1529
1518
  return undefined;
@@ -1550,7 +1539,7 @@ class Program {
1550
1539
  const dependentFiles = [];
1551
1540
  for (let i = startIndex; i < chainedByList.length; i++) {
1552
1541
  const file = chainedByList[i];
1553
- const parseResults = file === null || file === void 0 ? void 0 : file.sourceFile.getParserOutput();
1542
+ const parseResults = file?.sourceFile.getParserOutput();
1554
1543
  if (!parseResults) {
1555
1544
  continue;
1556
1545
  }
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../../../src/analyzer/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../../../src/analyzer/program.ts"],"names":[],"mappings":"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"}
@@ -131,7 +131,6 @@ function clonePropertyWithSetter(evaluator, prop, fset, errorNode) {
131
131
  return propertyObject;
132
132
  }
133
133
  function clonePropertyWithDeleter(evaluator, prop, fdel, errorNode) {
134
- var _a;
135
134
  if (!(0, typeUtils_1.isProperty)(prop)) {
136
135
  return prop;
137
136
  }
@@ -145,7 +144,7 @@ function clonePropertyWithDeleter(evaluator, prop, fdel, errorNode) {
145
144
  propertyClass.priv.fgetInfo = classType.priv.fgetInfo;
146
145
  propertyClass.priv.fsetInfo = classType.priv.fsetInfo;
147
146
  const propertyObject = types_1.ClassType.cloneAsInstance(propertyClass);
148
- propertyClass.priv.isAsymmetricDescriptor = (_a = classType.priv.isAsymmetricDescriptor) !== null && _a !== void 0 ? _a : false;
147
+ propertyClass.priv.isAsymmetricDescriptor = classType.priv.isAsymmetricDescriptor ?? false;
149
148
  // Clone the symbol table of the old class type.
150
149
  const fields = types_1.ClassType.getSymbolTable(propertyClass);
151
150
  types_1.ClassType.getSymbolTable(classType).forEach((symbol, name) => {
@@ -279,17 +278,17 @@ function assignProperty(evaluator, destPropertyType, srcPropertyType, destClass,
279
278
  let isAssignable = true;
280
279
  const accessors = [
281
280
  {
282
- getFunction: (c) => { var _a; return (_a = c.priv.fgetInfo) === null || _a === void 0 ? void 0 : _a.methodType; },
281
+ getFunction: (c) => c.priv.fgetInfo?.methodType,
283
282
  missingDiagMsg: localize_1.LocAddendum.missingGetter,
284
283
  incompatibleDiagMsg: localize_1.LocAddendum.incompatibleGetter,
285
284
  },
286
285
  {
287
- getFunction: (c) => { var _a; return (_a = c.priv.fsetInfo) === null || _a === void 0 ? void 0 : _a.methodType; },
286
+ getFunction: (c) => c.priv.fsetInfo?.methodType,
288
287
  missingDiagMsg: localize_1.LocAddendum.missingSetter,
289
288
  incompatibleDiagMsg: localize_1.LocAddendum.incompatibleSetter,
290
289
  },
291
290
  {
292
- getFunction: (c) => { var _a; return (_a = c.priv.fdelInfo) === null || _a === void 0 ? void 0 : _a.methodType; },
291
+ getFunction: (c) => c.priv.fdelInfo?.methodType,
293
292
  missingDiagMsg: localize_1.LocAddendum.missingDeleter,
294
293
  incompatibleDiagMsg: localize_1.LocAddendum.incompatibleDeleter,
295
294
  },
@@ -299,7 +298,7 @@ function assignProperty(evaluator, destPropertyType, srcPropertyType, destClass,
299
298
  if (destAccessType && (0, types_1.isFunction)(destAccessType)) {
300
299
  let srcAccessType = accessorInfo.getFunction(srcPropertyType);
301
300
  if (!srcAccessType || !(0, types_1.isFunction)(srcAccessType)) {
302
- diag === null || diag === void 0 ? void 0 : diag.addMessage(accessorInfo.missingDiagMsg());
301
+ diag?.addMessage(accessorInfo.missingDiagMsg());
303
302
  isAssignable = false;
304
303
  return;
305
304
  }
@@ -319,11 +318,11 @@ function assignProperty(evaluator, destPropertyType, srcPropertyType, destClass,
319
318
  const boundDestAccessType = evaluator.bindFunctionToClassOrObject(destObjectToBind, destAccessType,
320
319
  /* memberClass */ undefined,
321
320
  /* treatConstructorAsClassMethod */ undefined,
322
- /* firstParamType */ undefined, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), recursionCount);
321
+ /* firstParamType */ undefined, diag?.createAddendum(), recursionCount);
323
322
  const boundSrcAccessType = evaluator.bindFunctionToClassOrObject(srcObjectToBind, srcAccessType,
324
323
  /* memberClass */ undefined,
325
324
  /* treatConstructorAsClassMethod */ undefined,
326
- /* firstParamType */ undefined, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), recursionCount);
325
+ /* firstParamType */ undefined, diag?.createAddendum(), recursionCount);
327
326
  if (!boundDestAccessType ||
328
327
  !boundSrcAccessType ||
329
328
  !evaluator.assignType(boundDestAccessType, boundSrcAccessType, diag, constraints, 0 /* AssignTypeFlags.Default */, recursionCount)) {