@zzzen/pyright-internal 1.2.0-dev.20230122 → 1.2.0-dev.20230205

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 (244) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +3 -3
  2. package/dist/analyzer/backgroundAnalysisProgram.js +4 -2
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.js +16 -12
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/checker.d.ts +3 -1
  7. package/dist/analyzer/checker.js +63 -20
  8. package/dist/analyzer/checker.js.map +1 -1
  9. package/dist/analyzer/codeFlowEngine.js +3 -2
  10. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  11. package/dist/analyzer/constraintSolver.js +1 -1
  12. package/dist/analyzer/constraintSolver.js.map +1 -1
  13. package/dist/analyzer/dataClasses.js +4 -3
  14. package/dist/analyzer/dataClasses.js.map +1 -1
  15. package/dist/analyzer/declaration.d.ts +2 -0
  16. package/dist/analyzer/declaration.js.map +1 -1
  17. package/dist/analyzer/enums.js +1 -1
  18. package/dist/analyzer/enums.js.map +1 -1
  19. package/dist/analyzer/importResolver.d.ts +1 -1
  20. package/dist/analyzer/importResolver.js +7 -3
  21. package/dist/analyzer/importResolver.js.map +1 -1
  22. package/dist/analyzer/importResult.d.ts +1 -0
  23. package/dist/analyzer/parseTreeUtils.d.ts +2 -1
  24. package/dist/analyzer/parseTreeUtils.js +75 -10
  25. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  26. package/dist/analyzer/patternMatching.js +1 -1
  27. package/dist/analyzer/patternMatching.js.map +1 -1
  28. package/dist/analyzer/program.d.ts +8 -4
  29. package/dist/analyzer/program.js +92 -24
  30. package/dist/analyzer/program.js.map +1 -1
  31. package/dist/analyzer/service.d.ts +0 -2
  32. package/dist/analyzer/service.js +8 -8
  33. package/dist/analyzer/service.js.map +1 -1
  34. package/dist/analyzer/sourceFile.d.ts +4 -8
  35. package/dist/analyzer/sourceFile.js +5 -21
  36. package/dist/analyzer/sourceFile.js.map +1 -1
  37. package/dist/analyzer/typeCacheUtils.d.ts +8 -2
  38. package/dist/analyzer/typeCacheUtils.js +4 -4
  39. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  40. package/dist/analyzer/typeEvaluator.js +247 -110
  41. package/dist/analyzer/typeEvaluator.js.map +1 -1
  42. package/dist/analyzer/typeEvaluatorTypes.d.ts +12 -8
  43. package/dist/analyzer/typeGuards.js +2 -16
  44. package/dist/analyzer/typeGuards.js.map +1 -1
  45. package/dist/analyzer/typeUtils.d.ts +5 -4
  46. package/dist/analyzer/typeUtils.js +41 -14
  47. package/dist/analyzer/typeUtils.js.map +1 -1
  48. package/dist/analyzer/typeVarContext.d.ts +1 -5
  49. package/dist/analyzer/typeVarContext.js +17 -22
  50. package/dist/analyzer/typeVarContext.js.map +1 -1
  51. package/dist/analyzer/typedDicts.js +6 -2
  52. package/dist/analyzer/typedDicts.js.map +1 -1
  53. package/dist/analyzer/types.d.ts +4 -1
  54. package/dist/analyzer/types.js +26 -2
  55. package/dist/analyzer/types.js.map +1 -1
  56. package/dist/backgroundAnalysisBase.d.ts +1 -3
  57. package/dist/backgroundAnalysisBase.js +2 -3
  58. package/dist/backgroundAnalysisBase.js.map +1 -1
  59. package/dist/backgroundThreadBase.js +6 -1
  60. package/dist/backgroundThreadBase.js.map +1 -1
  61. package/dist/common/configOptions.d.ts +5 -0
  62. package/dist/common/configOptions.js +19 -1
  63. package/dist/common/configOptions.js.map +1 -1
  64. package/dist/common/envVarUtils.d.ts +1 -1
  65. package/dist/common/envVarUtils.js +26 -16
  66. package/dist/common/envVarUtils.js.map +1 -1
  67. package/dist/common/extensibility.d.ts +44 -6
  68. package/dist/common/extensibility.js +26 -2
  69. package/dist/common/extensibility.js.map +1 -1
  70. package/dist/common/fullAccessHost.d.ts +2 -1
  71. package/dist/common/fullAccessHost.js +22 -0
  72. package/dist/common/fullAccessHost.js.map +1 -1
  73. package/dist/common/host.d.ts +6 -0
  74. package/dist/common/host.js +3 -0
  75. package/dist/common/host.js.map +1 -1
  76. package/dist/common/pathUtils.d.ts +2 -0
  77. package/dist/common/pathUtils.js +17 -3
  78. package/dist/common/pathUtils.js.map +1 -1
  79. package/dist/languageServerBase.d.ts +4 -5
  80. package/dist/languageServerBase.js +5 -6
  81. package/dist/languageServerBase.js.map +1 -1
  82. package/dist/languageService/callHierarchyProvider.js +1 -1
  83. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  84. package/dist/languageService/completionProvider.d.ts +0 -1
  85. package/dist/languageService/completionProvider.js +21 -99
  86. package/dist/languageService/completionProvider.js.map +1 -1
  87. package/dist/languageService/completionProviderUtils.d.ts +34 -0
  88. package/dist/languageService/completionProviderUtils.js +102 -0
  89. package/dist/languageService/completionProviderUtils.js.map +1 -0
  90. package/dist/languageService/definitionProvider.d.ts +2 -1
  91. package/dist/languageService/definitionProvider.js +25 -9
  92. package/dist/languageService/definitionProvider.js.map +1 -1
  93. package/dist/languageService/documentSymbolCollector.d.ts +2 -1
  94. package/dist/languageService/documentSymbolCollector.js +27 -3
  95. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  96. package/dist/languageService/documentSymbolProvider.js +1 -1
  97. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  98. package/dist/languageService/hoverProvider.d.ts +3 -1
  99. package/dist/languageService/hoverProvider.js +51 -37
  100. package/dist/languageService/hoverProvider.js.map +1 -1
  101. package/dist/languageService/referencesProvider.d.ts +2 -1
  102. package/dist/languageService/referencesProvider.js +4 -3
  103. package/dist/languageService/referencesProvider.js.map +1 -1
  104. package/dist/languageService/tooltipUtils.d.ts +7 -1
  105. package/dist/languageService/tooltipUtils.js +81 -4
  106. package/dist/languageService/tooltipUtils.js.map +1 -1
  107. package/dist/localization/localize.d.ts +7 -0
  108. package/dist/localization/localize.js +9 -9
  109. package/dist/localization/localize.js.map +1 -1
  110. package/dist/localization/package.nls.en-us.json +2 -2
  111. package/dist/parser/parseNodes.js +0 -1
  112. package/dist/parser/parseNodes.js.map +1 -1
  113. package/dist/parser/stringTokenUtils.js +10 -0
  114. package/dist/parser/stringTokenUtils.js.map +1 -1
  115. package/dist/pyright.js +17 -9
  116. package/dist/pyright.js.map +1 -1
  117. package/dist/server.js +2 -0
  118. package/dist/server.js.map +1 -1
  119. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js +1 -1
  120. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  121. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js +5 -5
  122. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  123. package/dist/tests/fourslash/completions.commitChars.fourslash.js +23 -1
  124. package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -1
  125. package/dist/tests/fourslash/completions.fourslash.js +2 -2
  126. package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
  127. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.js +1 -1
  128. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.js.map +1 -1
  129. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.js +1 -1
  130. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.js.map +1 -1
  131. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js +1 -1
  132. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
  133. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js +1 -1
  134. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
  135. package/dist/tests/fourslash/completions.libStub.fourslash.js +1 -1
  136. package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
  137. package/dist/tests/fourslash/completions.localCode.fourslash.js +2 -2
  138. package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
  139. package/dist/tests/fourslash/completions.overloads.fourslash.js +1 -1
  140. package/dist/tests/fourslash/completions.overloads.fourslash.js.map +1 -1
  141. package/dist/tests/fourslash/completions.plainText.fourslash.js +2 -2
  142. package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
  143. package/dist/tests/fourslash/completions.self.fourslash.js +2 -2
  144. package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
  145. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js +1 -1
  146. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
  147. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js +2 -2
  148. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
  149. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js +7 -7
  150. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
  151. package/dist/tests/fourslash/hover.class.docString.fourslash.js +1 -1
  152. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -1
  153. package/dist/tests/fourslash/hover.classNoInit.fourslash.js +1 -1
  154. package/dist/tests/fourslash/hover.classNoInit.fourslash.js.map +1 -1
  155. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js +7 -7
  156. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
  157. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js +1 -1
  158. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js.map +1 -1
  159. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js +1 -1
  160. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js.map +1 -1
  161. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js +1 -1
  162. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js.map +1 -1
  163. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js +1 -1
  164. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js.map +1 -1
  165. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js +1 -1
  166. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js.map +1 -1
  167. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js +2 -2
  168. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
  169. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js +1 -1
  170. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js.map +1 -1
  171. package/dist/tests/fourslash/hover.docstring.links.fourslash.js +1 -1
  172. package/dist/tests/fourslash/hover.docstring.links.fourslash.js.map +1 -1
  173. package/dist/tests/fourslash/hover.docstring.split.fourslash.js +3 -3
  174. package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
  175. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js +1 -1
  176. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js.map +1 -1
  177. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js +1 -1
  178. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js.map +1 -1
  179. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js +1 -1
  180. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js.map +1 -1
  181. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js +1 -1
  182. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js.map +1 -1
  183. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js +1 -1
  184. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js.map +1 -1
  185. package/dist/tests/fourslash/hover.formatted.fourslash.d.ts +1 -0
  186. package/dist/tests/fourslash/hover.formatted.fourslash.js +45 -0
  187. package/dist/tests/fourslash/hover.formatted.fourslash.js.map +1 -0
  188. package/dist/tests/fourslash/hover.fourslash.js +1 -1
  189. package/dist/tests/fourslash/hover.fourslash.js.map +1 -1
  190. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js +6 -6
  191. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  192. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js +5 -5
  193. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js.map +1 -1
  194. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js +4 -4
  195. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  196. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.js +2 -2
  197. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.js.map +1 -1
  198. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.js +2 -2
  199. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.js.map +1 -1
  200. package/dist/tests/fourslash/hover.init.fourslash.js +4 -4
  201. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  202. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js +2 -2
  203. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js.map +1 -1
  204. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js +2 -2
  205. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js.map +1 -1
  206. package/dist/tests/fourslash/hover.libStub.fourslash.js +2 -2
  207. package/dist/tests/fourslash/hover.libStub.fourslash.js.map +1 -1
  208. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js +2 -2
  209. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js.map +1 -1
  210. package/dist/tests/fourslash/hover.plainText.fourslash.js +1 -1
  211. package/dist/tests/fourslash/hover.plainText.fourslash.js.map +1 -1
  212. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js +1 -1
  213. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
  214. package/dist/tests/fourslash/import.multipart.fourslash.js +1 -1
  215. package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -1
  216. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js +1 -1
  217. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js.map +1 -1
  218. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js +1 -1
  219. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js.map +1 -1
  220. package/dist/tests/harness/fourslash/testLanguageService.js +2 -1
  221. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  222. package/dist/tests/harness/fourslash/testState.d.ts +0 -10
  223. package/dist/tests/harness/fourslash/testState.js +15 -68
  224. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  225. package/dist/tests/harness/fourslash/testStateUtils.d.ts +12 -0
  226. package/dist/tests/harness/fourslash/testStateUtils.js +98 -0
  227. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -0
  228. package/dist/tests/pathUtils.test.js +24 -1
  229. package/dist/tests/pathUtils.test.js.map +1 -1
  230. package/dist/tests/signatureHelp.test.d.ts +1 -0
  231. package/dist/tests/signatureHelp.test.js +73 -0
  232. package/dist/tests/signatureHelp.test.js.map +1 -0
  233. package/dist/tests/typeEvaluator1.test.js +16 -0
  234. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  235. package/dist/tests/typeEvaluator2.test.js +8 -0
  236. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  237. package/dist/tests/typeEvaluator3.test.js +5 -1
  238. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  239. package/dist/tests/typeEvaluator4.test.js +15 -1
  240. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  241. package/dist/workspaceMap.d.ts +4 -0
  242. package/dist/workspaceMap.js +67 -37
  243. package/dist/workspaceMap.js.map +1 -1
  244. package/package.json +1 -1
@@ -4,7 +4,6 @@ import { BackgroundAnalysisBase, IndexOptions, RefreshOptions } from '../backgro
4
4
  import { ConfigOptions } from '../common/configOptions';
5
5
  import { ConsoleInterface } from '../common/console';
6
6
  import { Diagnostic } from '../common/diagnostic';
7
- import { LanguageServiceExtension } from '../common/extensibility';
8
7
  import { Range } from '../common/textRange';
9
8
  import { AnalysisCompleteCallback } from './analysis';
10
9
  import { CacheManager } from './cacheManager';
@@ -18,8 +17,9 @@ export declare class BackgroundAnalysisProgram {
18
17
  private _maxAnalysisTime?;
19
18
  private _disableChecker?;
20
19
  private _program;
20
+ private _disposed;
21
21
  private _onAnalysisCompletion;
22
- constructor(_console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, extension?: LanguageServiceExtension, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined, cacheManager?: CacheManager);
22
+ constructor(_console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined, cacheManager?: CacheManager);
23
23
  get configOptions(): ConfigOptions;
24
24
  get importResolver(): ImportResolver;
25
25
  get program(): Program;
@@ -53,4 +53,4 @@ export declare class BackgroundAnalysisProgram {
53
53
  private _reportDiagnosticsForRemovedFiles;
54
54
  protected _getIndices(): Indices | undefined;
55
55
  }
56
- export declare type BackgroundAnalysisProgramFactory = (serviceId: string, console: ConsoleInterface, configOptions: ConfigOptions, importResolver: ImportResolver, extension?: LanguageServiceExtension, backgroundAnalysis?: BackgroundAnalysisBase, maxAnalysisTime?: MaxAnalysisTime, cacheManager?: CacheManager) => BackgroundAnalysisProgram;
56
+ export declare type BackgroundAnalysisProgramFactory = (serviceId: string, console: ConsoleInterface, configOptions: ConfigOptions, importResolver: ImportResolver, backgroundAnalysis?: BackgroundAnalysisBase, maxAnalysisTime?: MaxAnalysisTime, cacheManager?: CacheManager) => BackgroundAnalysisProgram;
@@ -12,14 +12,15 @@ exports.BackgroundAnalysisProgram = void 0;
12
12
  const analysis_1 = require("./analysis");
13
13
  const program_1 = require("./program");
14
14
  class BackgroundAnalysisProgram {
15
- constructor(_console, _configOptions, _importResolver, extension, _backgroundAnalysis, _maxAnalysisTime, _disableChecker, cacheManager) {
15
+ constructor(_console, _configOptions, _importResolver, _backgroundAnalysis, _maxAnalysisTime, _disableChecker, cacheManager) {
16
16
  this._console = _console;
17
17
  this._configOptions = _configOptions;
18
18
  this._importResolver = _importResolver;
19
19
  this._backgroundAnalysis = _backgroundAnalysis;
20
20
  this._maxAnalysisTime = _maxAnalysisTime;
21
21
  this._disableChecker = _disableChecker;
22
- this._program = new program_1.Program(this._importResolver, this._configOptions, this._console, extension, undefined, this._disableChecker, cacheManager);
22
+ this._disposed = false;
23
+ this._program = new program_1.Program(this._importResolver, this._configOptions, this._console, undefined, this._disableChecker, cacheManager);
23
24
  }
24
25
  get configOptions() {
25
26
  return this._configOptions;
@@ -161,6 +162,7 @@ class BackgroundAnalysisProgram {
161
162
  }
162
163
  dispose() {
163
164
  var _a;
165
+ this._disposed = true;
164
166
  this._program.dispose();
165
167
  (_a = this._backgroundAnalysis) === null || _a === void 0 ? void 0 : _a.shutdown();
166
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ const symbolNameUtils_1 = require("./symbolNameUtils");
56
56
  // amount to the complexity factor. Without this, the complexity
57
57
  // calculation fails to take into account large numbers of non-cyclical
58
58
  // flow nodes. This number is somewhat arbitrary and is tuned empirically.
59
- const flowNodeComplexityFactor = 0.05;
59
+ const flowNodeComplexityContribution = 0.05;
60
60
  class Binder extends parseTreeWalker_1.ParseTreeWalker {
61
61
  constructor(fileInfo, _moduleSymbolOnly = false) {
62
62
  super();
@@ -1417,7 +1417,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1417
1417
  node: importSymbolNode,
1418
1418
  path: implicitImport.path,
1419
1419
  loadSymbolsFromPath: true,
1420
- range: (0, positionUtils_1.convertTextRangeToRange)(importSymbolNode, this._fileInfo.lines),
1420
+ range: (0, textRange_1.getEmptyRange)(),
1421
1421
  usesLocalName: false,
1422
1422
  moduleName: this._fileInfo.moduleName,
1423
1423
  isInExceptSuite: this._isInExceptSuite,
@@ -2249,6 +2249,17 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2249
2249
  expressionList.push(expression.leftExpression);
2250
2250
  }
2251
2251
  }
2252
+ // If the expression is an index expression with a supported
2253
+ // subscript, add its baseExpression to the expression list because
2254
+ // that expression can be narrowed.
2255
+ if (expression.nodeType === 24 /* Index */ &&
2256
+ expression.items.length === 1 &&
2257
+ !expression.trailingComma &&
2258
+ expression.items[0].argumentCategory === 0 /* Simple */) {
2259
+ if ((0, codeFlowTypes_1.isCodeFlowSupportedForReference)(expression.baseExpression)) {
2260
+ expressionList.push(expression.baseExpression);
2261
+ }
2262
+ }
2252
2263
  }
2253
2264
  return true;
2254
2265
  }
@@ -2284,15 +2295,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2284
2295
  const isLeftNarrowing = this._isNarrowingExpression(expression.leftExpression, expressionList, filterForNeverNarrowing,
2285
2296
  /* isComplexExpression */ true);
2286
2297
  // Look for "X is Y" or "X is not Y".
2287
- if (isOrIsNotOperator) {
2288
- return isLeftNarrowing;
2289
- }
2290
- // Look for X == <literal>, X != <literal> or <literal> == X, <literal> != X
2291
- if (equalsOrNotEqualsOperator) {
2292
- const isRightNarrowing = this._isNarrowingExpression(expression.rightExpression, expressionList, filterForNeverNarrowing,
2293
- /* isComplexExpression */ true);
2294
- return isLeftNarrowing || isRightNarrowing;
2295
- }
2298
+ // Look for X == <literal> or X != <literal>
2299
+ return isLeftNarrowing;
2296
2300
  }
2297
2301
  // Look for "<string> in Y" or "<string> not in Y".
2298
2302
  if (expression.operator === 41 /* In */ || expression.operator === 42 /* NotIn */) {
@@ -3275,7 +3279,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
3275
3279
  AnalyzerNodeInfo.setFlowNode(node, this._currentFlowNode);
3276
3280
  }
3277
3281
  _getUniqueFlowNodeId() {
3278
- this._codeFlowComplexity += flowNodeComplexityFactor;
3282
+ this._codeFlowComplexity += flowNodeComplexityContribution;
3279
3283
  return (0, codeFlowTypes_1.getUniqueFlowNodeId)();
3280
3284
  }
3281
3285
  _addDiagnostic(diagLevel, rule, message, textRange) {