@zzzen/pyright-internal 1.2.0-dev.20221002 → 1.2.0-dev.20221016

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 (78) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +4 -2
  2. package/dist/analyzer/backgroundAnalysisProgram.js +7 -2
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.js +18 -1
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/cacheManager.d.ts +14 -0
  7. package/dist/analyzer/cacheManager.js +65 -0
  8. package/dist/analyzer/cacheManager.js.map +1 -0
  9. package/dist/analyzer/checker.d.ts +1 -0
  10. package/dist/analyzer/checker.js +35 -0
  11. package/dist/analyzer/checker.js.map +1 -1
  12. package/dist/analyzer/codeFlowEngine.d.ts +6 -1
  13. package/dist/analyzer/codeFlowEngine.js +102 -87
  14. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  15. package/dist/analyzer/constraintSolver.js +1 -1
  16. package/dist/analyzer/constraintSolver.js.map +1 -1
  17. package/dist/analyzer/importResolver.d.ts +1 -0
  18. package/dist/analyzer/importResolver.js +3 -2
  19. package/dist/analyzer/importResolver.js.map +1 -1
  20. package/dist/analyzer/packageTypeVerifier.js +4 -4
  21. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  22. package/dist/analyzer/program.d.ts +10 -2
  23. package/dist/analyzer/program.js +67 -44
  24. package/dist/analyzer/program.js.map +1 -1
  25. package/dist/analyzer/service.d.ts +2 -0
  26. package/dist/analyzer/service.js +12 -3
  27. package/dist/analyzer/service.js.map +1 -1
  28. package/dist/analyzer/sourceFile.d.ts +1 -1
  29. package/dist/analyzer/sourceFile.js +4 -4
  30. package/dist/analyzer/sourceFile.js.map +1 -1
  31. package/dist/analyzer/sourceMapper.d.ts +6 -3
  32. package/dist/analyzer/sourceMapper.js +38 -14
  33. package/dist/analyzer/sourceMapper.js.map +1 -1
  34. package/dist/analyzer/sourceMapperUtils.d.ts +9 -0
  35. package/dist/analyzer/sourceMapperUtils.js +45 -0
  36. package/dist/analyzer/sourceMapperUtils.js.map +1 -0
  37. package/dist/analyzer/typeEvaluator.js +59 -42
  38. package/dist/analyzer/typeEvaluator.js.map +1 -1
  39. package/dist/analyzer/typeUtils.d.ts +1 -1
  40. package/dist/analyzer/typeUtils.js +4 -36
  41. package/dist/analyzer/typeUtils.js.map +1 -1
  42. package/dist/analyzer/types.d.ts +3 -1
  43. package/dist/analyzer/types.js +6 -0
  44. package/dist/analyzer/types.js.map +1 -1
  45. package/dist/backgroundAnalysisBase.js +1 -0
  46. package/dist/backgroundAnalysisBase.js.map +1 -1
  47. package/dist/languageServerBase.d.ts +3 -1
  48. package/dist/languageServerBase.js +12 -8
  49. package/dist/languageServerBase.js.map +1 -1
  50. package/dist/localization/localize.d.ts +4 -0
  51. package/dist/localization/localize.js +2 -0
  52. package/dist/localization/localize.js.map +1 -1
  53. package/dist/localization/package.nls.en-us.json +2 -0
  54. package/dist/parser/parser.js +21 -10
  55. package/dist/parser/parser.js.map +1 -1
  56. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js +8 -6
  57. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
  58. package/dist/tests/harness/fourslash/runner.js +1 -0
  59. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  60. package/dist/tests/harness/fourslash/testState.d.ts +1 -0
  61. package/dist/tests/harness/fourslash/testState.js +3 -0
  62. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  63. package/dist/tests/parser.test.js +22 -0
  64. package/dist/tests/parser.test.js.map +1 -1
  65. package/dist/tests/sourceMapperUtils.test.d.ts +1 -0
  66. package/dist/tests/sourceMapperUtils.test.js +103 -0
  67. package/dist/tests/sourceMapperUtils.test.js.map +1 -0
  68. package/dist/tests/testUtils.js +3 -1
  69. package/dist/tests/testUtils.js.map +1 -1
  70. package/dist/tests/typeEvaluator2.test.js +8 -0
  71. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  72. package/dist/tests/typeEvaluator3.test.js +16 -0
  73. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  74. package/dist/tests/typeEvaluator4.test.js +4 -0
  75. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  76. package/dist/workspaceMap.js +2 -3
  77. package/dist/workspaceMap.js.map +1 -1
  78. package/package.json +1 -1
@@ -8,6 +8,7 @@ import { LanguageServiceExtension } from '../common/extensibility';
8
8
  import { Range } from '../common/textRange';
9
9
  import { IndexResults } from '../languageService/documentSymbolProvider';
10
10
  import { AnalysisCompleteCallback } from './analysis';
11
+ import { CacheManager } from './cacheManager';
11
12
  import { ImportResolver } from './importResolver';
12
13
  import { MaxAnalysisTime, OpenFileOptions, Program } from './program';
13
14
  export declare class BackgroundAnalysisProgram {
@@ -20,7 +21,7 @@ export declare class BackgroundAnalysisProgram {
20
21
  private _program;
21
22
  private _onAnalysisCompletion;
22
23
  private _indices;
23
- constructor(_console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, extension?: LanguageServiceExtension, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined);
24
+ constructor(_console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, extension?: LanguageServiceExtension, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined, cacheManager?: CacheManager);
24
25
  get configOptions(): ConfigOptions;
25
26
  get importResolver(): ImportResolver;
26
27
  get program(): Program;
@@ -48,8 +49,9 @@ export declare class BackgroundAnalysisProgram {
48
49
  writeTypeStub(targetImportPath: string, targetIsSingleFile: boolean, stubPath: string, token: CancellationToken): Promise<any>;
49
50
  invalidateAndForceReanalysis(rebuildUserFileIndexing: boolean, rebuildLibraryIndexing: boolean): void;
50
51
  restart(): void;
52
+ dispose(): void;
51
53
  private _ensurePartialStubPackages;
52
54
  private _getIndices;
53
55
  private _reportDiagnosticsForRemovedFiles;
54
56
  }
55
- export declare type BackgroundAnalysisProgramFactory = (console: ConsoleInterface, configOptions: ConfigOptions, importResolver: ImportResolver, extension?: LanguageServiceExtension, backgroundAnalysis?: BackgroundAnalysisBase, maxAnalysisTime?: MaxAnalysisTime) => BackgroundAnalysisProgram;
57
+ export declare type BackgroundAnalysisProgramFactory = (console: ConsoleInterface, configOptions: ConfigOptions, importResolver: ImportResolver, extension?: LanguageServiceExtension, backgroundAnalysis?: BackgroundAnalysisBase, maxAnalysisTime?: MaxAnalysisTime, cacheManager?: CacheManager) => BackgroundAnalysisProgram;
@@ -12,14 +12,14 @@ 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) {
15
+ constructor(_console, _configOptions, _importResolver, extension, _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);
22
+ this._program = new program_1.Program(this._importResolver, this._configOptions, this._console, extension, undefined, this._disableChecker, cacheManager);
23
23
  }
24
24
  get configOptions() {
25
25
  return this._configOptions;
@@ -164,6 +164,11 @@ class BackgroundAnalysisProgram {
164
164
  var _a;
165
165
  (_a = this._backgroundAnalysis) === null || _a === void 0 ? void 0 : _a.restart();
166
166
  }
167
+ dispose() {
168
+ var _a;
169
+ this._program.dispose();
170
+ (_a = this._backgroundAnalysis) === null || _a === void 0 ? void 0 : _a.shutdown();
171
+ }
167
172
  _ensurePartialStubPackages(execEnv) {
168
173
  var _a;
169
174
  (_a = this._backgroundAnalysis) === null || _a === void 0 ? void 0 : _a.ensurePartialStubPackages(execEnv.root);
@@ -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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"}
@@ -2162,7 +2162,10 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2162
2162
  return Binder._unreachableFlowNode;
2163
2163
  }
2164
2164
  const expressionList = [];
2165
- if (!this._isNarrowingExpression(expression, expressionList)) {
2165
+ if (!this._isNarrowingExpression(expression, expressionList,
2166
+ /* filterForNeverNarrowing */ (flags &
2167
+ (codeFlowTypes_1.FlowFlags.TrueNeverCondition | codeFlowTypes_1.FlowFlags.FalseNeverCondition)) !==
2168
+ 0)) {
2166
2169
  return antecedent;
2167
2170
  }
2168
2171
  expressionList.forEach((expr) => {
@@ -2221,6 +2224,16 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2221
2224
  }
2222
2225
  if ((0, codeFlowTypes_1.isCodeFlowSupportedForReference)(expression)) {
2223
2226
  expressionList.push(expression);
2227
+ if (!filterForNeverNarrowing) {
2228
+ // If the expression is a member access expression, add its
2229
+ // leftExpression to the expression list because that expression
2230
+ // can be narrowed based on the attribute type.
2231
+ if (expression.nodeType === 35 /* MemberAccess */) {
2232
+ if ((0, codeFlowTypes_1.isCodeFlowSupportedForReference)(expression.leftExpression)) {
2233
+ expressionList.push(expression.leftExpression);
2234
+ }
2235
+ }
2236
+ }
2224
2237
  return true;
2225
2238
  }
2226
2239
  return false;
@@ -2991,6 +3004,10 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2991
3004
  let isClassVar = false;
2992
3005
  let classVarTypeNode;
2993
3006
  while (typeAnnotation) {
3007
+ // Is this a quoted annotation?
3008
+ if (typeAnnotation.nodeType === 48 /* StringList */ && typeAnnotation.typeAnnotation) {
3009
+ typeAnnotation = typeAnnotation.typeAnnotation;
3010
+ }
2994
3011
  if (typeAnnotation.nodeType === 24 /* Index */ &&
2995
3012
  typeAnnotation.items.length > 0 &&
2996
3013
  this._isTypingAnnotation(typeAnnotation.baseExpression, 'Annotated')) {