@zzzen/pyright-internal 1.2.0-dev.20230702 → 1.2.0-dev.20230716
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 +2 -2
- package/dist/analyzer/backgroundAnalysisProgram.js +3 -3
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.d.ts +1 -0
- package/dist/analyzer/binder.js +19 -2
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +1 -3
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +17 -34
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/enums.js +21 -8
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/namedTuples.js +32 -1
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/patternMatching.d.ts +1 -1
- package/dist/analyzer/patternMatching.js +79 -66
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +5 -2
- package/dist/analyzer/program.js +18 -7
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/protocols.js +57 -19
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.js +1 -10
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +4 -3
- package/dist/analyzer/sourceFile.js +26 -22
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +180 -106
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +5 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +2 -2
- package/dist/analyzer/typeGuards.js +30 -5
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +2 -1
- package/dist/analyzer/typePrinter.js +26 -5
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.js +1 -1
- package/dist/analyzer/typedDicts.js +1 -3
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +8 -1
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +5 -5
- package/dist/backgroundAnalysisBase.js +2 -2
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/common/console.d.ts +4 -1
- package/dist/common/console.js +7 -0
- package/dist/common/console.js.map +1 -1
- package/dist/languageServerBase.d.ts +8 -3
- package/dist/languageServerBase.js +30 -25
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +1 -0
- package/dist/languageService/codeActionProvider.js +11 -0
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +1 -1
- package/dist/languageService/completionProvider.js +3 -3
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +2 -0
- package/dist/localization/localize.js +12 -2
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +718 -0
- package/dist/localization/package.nls.de.json +718 -1
- package/dist/localization/package.nls.en-us.json +1 -0
- package/dist/localization/package.nls.es.json +718 -1
- package/dist/localization/package.nls.fr.json +718 -1
- package/dist/localization/package.nls.it.json +718 -0
- package/dist/localization/package.nls.ja.json +718 -1
- package/dist/localization/package.nls.ko.json +718 -0
- package/dist/localization/package.nls.pl.json +718 -0
- package/dist/localization/package.nls.pt-br.json +718 -0
- package/dist/localization/package.nls.qps-ploc.json +718 -0
- package/dist/localization/package.nls.ru.json +718 -1
- package/dist/localization/package.nls.tr.json +718 -0
- package/dist/localization/package.nls.zh-cn.json +718 -1
- package/dist/localization/package.nls.zh-tw.json +718 -1
- package/dist/parser/parser.d.ts +3 -0
- package/dist/parser/parser.js +2 -31
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +5 -2
- package/dist/parser/tokenizer.js +16 -4
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.d.ts +2 -2
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/pprof/profiler.d.ts +36 -0
- package/dist/pprof/profiler.js +64 -0
- package/dist/pprof/profiler.js.map +1 -0
- package/dist/tests/harness/fourslash/testState.d.ts +6 -4
- package/dist/tests/harness/fourslash/testState.js +50 -39
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +1 -0
- package/dist/tests/harness/vfs/factory.js +7 -1
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +2 -2
- package/dist/tests/harness/vfs/filesystem.js +13 -8
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/localizer.test.js +20 -0
- package/dist/tests/localizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +8 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +9 -1
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +4 -0
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/workspaceFactory.js +5 -3
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +3 -2
@@ -7,7 +7,7 @@ import { Range } from '../common/textRange';
|
|
7
7
|
import { AnalysisCompleteCallback } from './analysis';
|
8
8
|
import { CacheManager } from './cacheManager';
|
9
9
|
import { ImportResolver } from './importResolver';
|
10
|
-
import { MaxAnalysisTime, OpenFileOptions, Program } from './program';
|
10
|
+
import { MaxAnalysisTime, OpenFileOptions, Program, SourceFileFactory } from './program';
|
11
11
|
export declare enum InvalidatedReason {
|
12
12
|
Reanalyzed = 0,
|
13
13
|
SourceWatcherChanged = 1,
|
@@ -26,7 +26,7 @@ export declare class BackgroundAnalysisProgram {
|
|
26
26
|
private _disposed;
|
27
27
|
private _onAnalysisCompletion;
|
28
28
|
private _preEditAnalysis;
|
29
|
-
constructor(serviceId: string, _console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined, cacheManager?: CacheManager);
|
29
|
+
constructor(serviceId: string, _console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined, cacheManager?: CacheManager, sourceFileFactory?: SourceFileFactory);
|
30
30
|
get configOptions(): ConfigOptions;
|
31
31
|
get importResolver(): ImportResolver;
|
32
32
|
get program(): Program;
|
@@ -19,7 +19,7 @@ var InvalidatedReason;
|
|
19
19
|
InvalidatedReason[InvalidatedReason["LibraryWatcherContentOnlyChanged"] = 3] = "LibraryWatcherContentOnlyChanged";
|
20
20
|
})(InvalidatedReason = exports.InvalidatedReason || (exports.InvalidatedReason = {}));
|
21
21
|
class BackgroundAnalysisProgram {
|
22
|
-
constructor(serviceId, _console, _configOptions, _importResolver, _backgroundAnalysis, _maxAnalysisTime, _disableChecker, cacheManager) {
|
22
|
+
constructor(serviceId, _console, _configOptions, _importResolver, _backgroundAnalysis, _maxAnalysisTime, _disableChecker, cacheManager, sourceFileFactory) {
|
23
23
|
this.serviceId = serviceId;
|
24
24
|
this._console = _console;
|
25
25
|
this._configOptions = _configOptions;
|
@@ -28,7 +28,7 @@ class BackgroundAnalysisProgram {
|
|
28
28
|
this._maxAnalysisTime = _maxAnalysisTime;
|
29
29
|
this._disableChecker = _disableChecker;
|
30
30
|
this._disposed = false;
|
31
|
-
this._program = new program_1.Program(this.importResolver, this.configOptions, this._console, undefined, this._disableChecker, cacheManager, serviceId);
|
31
|
+
this._program = new program_1.Program(this.importResolver, this.configOptions, this._console, undefined, sourceFileFactory, this._disableChecker, cacheManager, serviceId);
|
32
32
|
}
|
33
33
|
get configOptions() {
|
34
34
|
return this._configOptions;
|
@@ -119,7 +119,7 @@ class BackgroundAnalysisProgram {
|
|
119
119
|
}
|
120
120
|
startAnalysis(token) {
|
121
121
|
if (this._backgroundAnalysis) {
|
122
|
-
this._backgroundAnalysis.startAnalysis(this
|
122
|
+
this._backgroundAnalysis.startAnalysis(this, token);
|
123
123
|
return false;
|
124
124
|
}
|
125
125
|
return (0, analysis_1.analyzeProgram)(this._program, this._maxAnalysisTime, this._configOptions, this._onAnalysisCompletion, this._console, token);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAUH,yCAAsE;AAGtE,
|
1
|
+
{"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
|
@@ -27,6 +27,7 @@ export declare class Binder extends ParseTreeWalker {
|
|
27
27
|
private _dunderAllStringNodes;
|
28
28
|
private _usesUnsupportedDunderAllForm;
|
29
29
|
private _isInExceptSuite;
|
30
|
+
private _isInAnnotatedAnnotation;
|
30
31
|
private _dunderSlotsEntries;
|
31
32
|
private static _unreachableFlowNode;
|
32
33
|
private _potentialHiddenSymbols;
|
package/dist/analyzer/binder.js
CHANGED
@@ -91,6 +91,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
91
91
|
this._usesUnsupportedDunderAllForm = false;
|
92
92
|
// Are we currently binding code located within an except block?
|
93
93
|
this._isInExceptSuite = false;
|
94
|
+
// Are we currently walking the type arguments to an Annotated type annotation?
|
95
|
+
this._isInAnnotatedAnnotation = false;
|
94
96
|
// Map of symbols at the module level that may be externally
|
95
97
|
// hidden depending on whether they are listed in the __all__ list.
|
96
98
|
this._potentialHiddenSymbols = new Map();
|
@@ -416,7 +418,12 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
416
418
|
// and this can lead to a performance issue when walking the control
|
417
419
|
// flow graph if we need to evaluate every decorator.
|
418
420
|
if (!ParseTreeUtils.isNodeContainedWithinNodeType(node, 13 /* Decorator */)) {
|
419
|
-
this
|
421
|
+
// Skip if we're in an 'Annotated' annotation because this creates
|
422
|
+
// problems for "No Return" return type analysis when annotation
|
423
|
+
// evaluation is deferred.
|
424
|
+
if (!this._isInAnnotatedAnnotation) {
|
425
|
+
this._createCallFlowNode(node);
|
426
|
+
}
|
420
427
|
}
|
421
428
|
// Is this an manipulation of dunder all?
|
422
429
|
if (this._currentScope.type === 3 /* Module */ &&
|
@@ -907,7 +914,17 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
907
914
|
}
|
908
915
|
visitIndex(node) {
|
909
916
|
AnalyzerNodeInfo.setFlowNode(node, this._currentFlowNode);
|
910
|
-
|
917
|
+
this.walk(node.baseExpression);
|
918
|
+
// If we're within an 'Annotated' type annotation, set the flag.
|
919
|
+
const wasInAnnotatedAnnotation = this._isInAnnotatedAnnotation;
|
920
|
+
if (this._isTypingAnnotation(node.baseExpression, 'Annotated')) {
|
921
|
+
this._isInAnnotatedAnnotation = true;
|
922
|
+
}
|
923
|
+
node.items.forEach((argNode) => {
|
924
|
+
this.walk(argNode);
|
925
|
+
});
|
926
|
+
this._isInAnnotatedAnnotation = wasInAnnotatedAnnotation;
|
927
|
+
return false;
|
911
928
|
}
|
912
929
|
visitIf(node) {
|
913
930
|
const preIfFlowNode = this._currentFlowNode;
|