@zzzen/pyright-internal 1.2.0-dev.20230709 → 1.2.0-dev.20230723
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.d.ts +1 -0
- package/dist/analyzer/checker.js +14 -24
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +12 -1
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +42 -36
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +11 -1
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.js +11 -9
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/enums.js +21 -8
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/namedTuples.js +33 -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/typeCacheUtils.d.ts +7 -2
- package/dist/analyzer/typeCacheUtils.js +11 -7
- package/dist/analyzer/typeCacheUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +829 -601
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +8 -2
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +2 -2
- package/dist/analyzer/typeGuards.js +72 -12
- 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 +11 -1
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +1 -3
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +10 -3
- package/dist/analyzer/types.js +11 -2
- 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/backgroundThreadBase.js +1 -1
- package/dist/backgroundThreadBase.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/callHierarchyProvider.js +7 -10
- package/dist/languageService/callHierarchyProvider.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 +10 -4
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +5 -2
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +9 -0
- package/dist/localization/localize.js +29 -3
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +719 -0
- package/dist/localization/package.nls.de.json +719 -1
- package/dist/localization/package.nls.en-us.json +7 -5
- package/dist/localization/package.nls.es.json +719 -1
- package/dist/localization/package.nls.fr.json +719 -1
- package/dist/localization/package.nls.it.json +719 -0
- package/dist/localization/package.nls.ja.json +719 -1
- package/dist/localization/package.nls.ko.json +719 -0
- package/dist/localization/package.nls.pl.json +719 -0
- package/dist/localization/package.nls.pt-br.json +719 -0
- package/dist/localization/package.nls.qps-ploc.json +719 -0
- package/dist/localization/package.nls.ru.json +719 -1
- package/dist/localization/package.nls.tr.json +719 -0
- package/dist/localization/package.nls.zh-cn.json +719 -1
- package/dist/localization/package.nls.zh-tw.json +719 -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/checker.test.js +2 -2
- package/dist/tests/completions.test.js +40 -0
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +12 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js +40 -0
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.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 +21 -1
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +21 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +1 -1
- package/dist/tests/typeEvaluator4.test.js +14 -2
- 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 +10 -8
@@ -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;
|