@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.
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +4 -2
- package/dist/analyzer/backgroundAnalysisProgram.js +7 -2
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +18 -1
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.d.ts +14 -0
- package/dist/analyzer/cacheManager.js +65 -0
- package/dist/analyzer/cacheManager.js.map +1 -0
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +35 -0
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +6 -1
- package/dist/analyzer/codeFlowEngine.js +102 -87
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +1 -1
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +1 -0
- package/dist/analyzer/importResolver.js +3 -2
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +4 -4
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/program.d.ts +10 -2
- package/dist/analyzer/program.js +67 -44
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/service.d.ts +2 -0
- package/dist/analyzer/service.js +12 -3
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +1 -1
- package/dist/analyzer/sourceFile.js +4 -4
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +6 -3
- package/dist/analyzer/sourceMapper.js +38 -14
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +9 -0
- package/dist/analyzer/sourceMapperUtils.js +45 -0
- package/dist/analyzer/sourceMapperUtils.js.map +1 -0
- package/dist/analyzer/typeEvaluator.js +59 -42
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +4 -36
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +3 -1
- package/dist/analyzer/types.js +6 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.js +1 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/languageServerBase.d.ts +3 -1
- package/dist/languageServerBase.js +12 -8
- package/dist/languageServerBase.js.map +1 -1
- package/dist/localization/localize.d.ts +4 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +2 -0
- package/dist/parser/parser.js +21 -10
- package/dist/parser/parser.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js +8 -6
- package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/runner.js +1 -0
- package/dist/tests/harness/fourslash/runner.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +1 -0
- package/dist/tests/harness/fourslash/testState.js +3 -0
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/parser.test.js +22 -0
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.d.ts +1 -0
- package/dist/tests/sourceMapperUtils.test.js +103 -0
- package/dist/tests/sourceMapperUtils.test.js.map +1 -0
- package/dist/tests/testUtils.js +3 -1
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +8 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +16 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +4 -0
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/workspaceMap.js +2 -3
- package/dist/workspaceMap.js.map +1 -1
- 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":";AAAA;;;;;;;GAOG;;;AAaH,yCAAsE;
|
1
|
+
{"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
|
package/dist/analyzer/binder.js
CHANGED
@@ -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')) {
|