@zzzen/pyright-internal 1.2.0-dev.20251228 → 1.2.0-dev.20260111
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 +3 -3
- package/dist/analyzer/backgroundAnalysisProgram.js +18 -5
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.d.ts +1 -0
- package/dist/analyzer/binder.js +22 -0
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +1 -0
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/docStringUtils.d.ts +1 -0
- package/dist/analyzer/docStringUtils.js +36 -0
- package/dist/analyzer/docStringUtils.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +2 -1
- package/dist/analyzer/importStatementUtils.js +4 -3
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +2 -2
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/program.d.ts +5 -0
- package/dist/analyzer/program.js +39 -14
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +1 -1
- package/dist/analyzer/service.d.ts +3 -2
- package/dist/analyzer/service.js +42 -12
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +4 -1
- package/dist/analyzer/typeDocStringUtils.js +9 -6
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +16 -0
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/types.d.ts +1 -1
- package/dist/backgroundAnalysisBase.d.ts +2 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.d.ts +0 -96
- package/dist/commands/dumpFileDebugInfoCommand.js +6 -966
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/console.d.ts +16 -3
- package/dist/common/console.js +25 -4
- package/dist/common/console.js.map +1 -1
- package/dist/common/core.d.ts +2 -0
- package/dist/common/core.js +11 -0
- package/dist/common/core.js.map +1 -1
- package/dist/common/docStringService.d.ts +5 -2
- package/dist/common/docStringService.js +6 -2
- package/dist/common/docStringService.js.map +1 -1
- package/dist/common/languageInfoUtils.d.ts +114 -0
- package/dist/common/languageInfoUtils.js +1004 -0
- package/dist/common/languageInfoUtils.js.map +1 -0
- package/dist/common/logTracker.d.ts +6 -4
- package/dist/common/logTracker.js +9 -6
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/pathConsts.d.ts +1 -0
- package/dist/common/pathConsts.js +2 -1
- package/dist/common/pathConsts.js.map +1 -1
- package/dist/common/realFileSystem.js +16 -10
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.d.ts +2 -0
- package/dist/common/serviceProvider.js +23 -1
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js +5 -0
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +1 -1
- package/dist/common/uri/uri.d.ts +2 -50
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/common/uri/uriInterface.d.ts +51 -0
- package/dist/common/uri/uriInterface.js +10 -0
- package/dist/common/uri/uriInterface.js.map +1 -0
- package/dist/languageServerBase.js +2 -2
- package/dist/languageServerBase.js.map +1 -1
- package/dist/localization/package.nls.cs.json +18 -18
- package/dist/localization/package.nls.de.json +18 -18
- package/dist/localization/package.nls.es.json +18 -18
- package/dist/localization/package.nls.fr.json +18 -18
- package/dist/localization/package.nls.it.json +18 -18
- package/dist/localization/package.nls.ja.json +18 -18
- package/dist/localization/package.nls.ko.json +18 -18
- package/dist/localization/package.nls.pl.json +18 -18
- package/dist/localization/package.nls.pt-br.json +18 -18
- package/dist/localization/package.nls.ru.json +18 -18
- package/dist/localization/package.nls.tr.json +18 -18
- package/dist/localization/package.nls.zh-cn.json +18 -18
- package/dist/localization/package.nls.zh-tw.json +18 -18
- package/dist/tests/completions.test.js +47 -0
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +259 -12
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js +9 -0
- package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +484 -27
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashRawUtils.d.ts +12 -0
- package/dist/tests/harness/fourslash/fourSlashRawUtils.js +151 -0
- package/dist/tests/harness/fourslash/fourSlashRawUtils.js.map +1 -0
- package/dist/tests/harness/fourslash/fourSlashTypes.d.ts +73 -2
- package/dist/tests/harness/fourslash/fourSlashTypes.js +27 -1
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +1 -1
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/vfs/factory.js +3 -3
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/languageServer.test.js +3 -3
- package/dist/tests/languageServer.test.js.map +1 -1
- package/dist/tests/lsp/languageServer.js +10 -1
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.d.ts +3 -1
- package/dist/tests/lsp/languageServerTestUtils.js +24 -2
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CancellationToken } from 'vscode-languageserver';
|
|
2
|
-
import { IBackgroundAnalysis } from '../backgroundAnalysisBase';
|
|
2
|
+
import { IBackgroundAnalysis, RefreshOptions } from '../backgroundAnalysisBase';
|
|
3
3
|
import { ConfigOptions } from '../common/configOptions';
|
|
4
4
|
import { Diagnostic } from '../common/diagnostic';
|
|
5
5
|
import { ServiceProvider } from '../common/serviceProvider';
|
|
@@ -27,7 +27,7 @@ export declare class BackgroundAnalysisProgram {
|
|
|
27
27
|
private _disposed;
|
|
28
28
|
private _onAnalysisCompletion;
|
|
29
29
|
private _preEditAnalysis;
|
|
30
|
-
constructor(serviceId: string, _serviceProvider: ServiceProvider, _configOptions: ConfigOptions, _importResolver: ImportResolver, _backgroundAnalysis?: IBackgroundAnalysis | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined);
|
|
30
|
+
constructor(serviceId: string, _serviceProvider: ServiceProvider, _configOptions: ConfigOptions, _importResolver: ImportResolver, _backgroundAnalysis?: IBackgroundAnalysis | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined, program?: Program);
|
|
31
31
|
get serviceProvider(): ServiceProvider;
|
|
32
32
|
get configOptions(): ConfigOptions;
|
|
33
33
|
get importResolver(): ImportResolver;
|
|
@@ -54,7 +54,7 @@ export declare class BackgroundAnalysisProgram {
|
|
|
54
54
|
libraryUpdated(): boolean;
|
|
55
55
|
getDiagnosticsForRange(fileUri: Uri, range: Range, token: CancellationToken): Promise<Diagnostic[]>;
|
|
56
56
|
writeTypeStub(targetImportUri: Uri, targetIsSingleFile: boolean, stubUri: Uri, token: CancellationToken): Promise<any>;
|
|
57
|
-
invalidateAndForceReanalysis(reason: InvalidatedReason): void;
|
|
57
|
+
invalidateAndForceReanalysis(reason: InvalidatedReason, refreshOptions?: RefreshOptions): void;
|
|
58
58
|
restart(): void;
|
|
59
59
|
dispose(): void;
|
|
60
60
|
enterEditMode(): void;
|
|
@@ -20,7 +20,7 @@ var InvalidatedReason;
|
|
|
20
20
|
InvalidatedReason[InvalidatedReason["LibraryWatcherContentOnlyChanged"] = 3] = "LibraryWatcherContentOnlyChanged";
|
|
21
21
|
})(InvalidatedReason || (exports.InvalidatedReason = InvalidatedReason = {}));
|
|
22
22
|
class BackgroundAnalysisProgram {
|
|
23
|
-
constructor(serviceId, _serviceProvider, _configOptions, _importResolver, _backgroundAnalysis, _maxAnalysisTime, _disableChecker) {
|
|
23
|
+
constructor(serviceId, _serviceProvider, _configOptions, _importResolver, _backgroundAnalysis, _maxAnalysisTime, _disableChecker, program) {
|
|
24
24
|
this.serviceId = serviceId;
|
|
25
25
|
this._serviceProvider = _serviceProvider;
|
|
26
26
|
this._configOptions = _configOptions;
|
|
@@ -29,7 +29,9 @@ class BackgroundAnalysisProgram {
|
|
|
29
29
|
this._maxAnalysisTime = _maxAnalysisTime;
|
|
30
30
|
this._disableChecker = _disableChecker;
|
|
31
31
|
this._disposed = false;
|
|
32
|
-
this._program =
|
|
32
|
+
this._program =
|
|
33
|
+
program ??
|
|
34
|
+
new program_1.Program(this.importResolver, this.configOptions, this._serviceProvider, undefined, this._disableChecker, serviceId);
|
|
33
35
|
this._backgroundAnalysis?.setProgramView(this._program);
|
|
34
36
|
}
|
|
35
37
|
get serviceProvider() {
|
|
@@ -146,13 +148,24 @@ class BackgroundAnalysisProgram {
|
|
|
146
148
|
/* maxTime */ undefined, this._configOptions, this._onAnalysisCompletion, this._serviceProvider.console(), token);
|
|
147
149
|
return this._program.writeTypeStub(targetImportUri, targetIsSingleFile, stubUri, token);
|
|
148
150
|
}
|
|
149
|
-
invalidateAndForceReanalysis(reason) {
|
|
151
|
+
invalidateAndForceReanalysis(reason, refreshOptions) {
|
|
150
152
|
this._backgroundAnalysis?.invalidateAndForceReanalysis(reason);
|
|
151
153
|
// Make sure the import resolver doesn't have invalid
|
|
152
154
|
// cached entries.
|
|
153
155
|
this._importResolver.invalidateCache();
|
|
154
|
-
//
|
|
155
|
-
|
|
156
|
+
// If we have specific changed file URIs and it's a content-only change, mark only those files dirty.
|
|
157
|
+
// Otherwise, mark all files with one or more errors dirty.
|
|
158
|
+
if (refreshOptions?.changedFileUris &&
|
|
159
|
+
refreshOptions.changedFileUris.size > 0 &&
|
|
160
|
+
reason === InvalidatedReason.LibraryWatcherContentOnlyChanged) {
|
|
161
|
+
// Convert UriMap keys to array for markFilesDirty
|
|
162
|
+
const changedFileUris = Array.from(refreshOptions.changedFileUris.keys());
|
|
163
|
+
this.markFilesDirty(changedFileUris, /* evenIfContentsAreSame */ true);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// Mark all files with one or more errors dirty.
|
|
167
|
+
this._program.markAllFilesDirty(/* evenIfContentsAreSame */ true);
|
|
168
|
+
}
|
|
156
169
|
}
|
|
157
170
|
restart() {
|
|
158
171
|
this._backgroundAnalysis?.restart();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AASH,+CAA6C;AAG7C,yCAAsE;AAEtE,uCAAsE;AAEtE,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,qEAAU,CAAA;IACV,yFAAoB,CAAA;IACpB,2FAAqB,CAAA;IACrB,iHAAgC,CAAA;AACpC,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B;AAED,MAAa,yBAAyB;IAMlC,YACuB,SAAiB,EACnB,gBAAiC,EAC1C,cAA6B,EAC7B,eAA+B,EAC/B,mBAAyC,EAChC,gBAAkC,EAClC,eAAyB;
|
|
1
|
+
{"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ export declare class Binder extends ParseTreeWalker {
|
|
|
32
32
|
private static _unreachableStaticConditionFlowNode;
|
|
33
33
|
private static _unreachableStructuralFlowNode;
|
|
34
34
|
private _potentialHiddenSymbols;
|
|
35
|
+
private _potentialWildcardReexportSymbols;
|
|
35
36
|
private _potentialPrivateSymbols;
|
|
36
37
|
private _codeFlowComplexity;
|
|
37
38
|
constructor(fileInfo: AnalyzerFileInfo, _moduleSymbolOnly?: boolean);
|
package/dist/analyzer/binder.js
CHANGED
|
@@ -97,6 +97,10 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
97
97
|
// Map of symbols at the module level that may be externally
|
|
98
98
|
// hidden depending on whether they are listed in the __all__ list.
|
|
99
99
|
this._potentialHiddenSymbols = new Map();
|
|
100
|
+
// Map of symbols imported via wildcard import in a py.typed (non-stub)
|
|
101
|
+
// module that should be treated as private if this module defines __all__
|
|
102
|
+
// and the symbol is not listed there.
|
|
103
|
+
this._potentialWildcardReexportSymbols = new Map();
|
|
100
104
|
// Map of symbols at the module level that may be private depending
|
|
101
105
|
// on whether they are listed in the __all__ list.
|
|
102
106
|
this._potentialPrivateSymbols = new Map();
|
|
@@ -149,6 +153,14 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
149
153
|
}
|
|
150
154
|
}
|
|
151
155
|
});
|
|
156
|
+
// Wildcard imports are considered a re-export form, but if this module defines
|
|
157
|
+
// __all__, that list determines the public interface and should restrict which
|
|
158
|
+
// wildcard-imported symbols are exposed.
|
|
159
|
+
this._potentialWildcardReexportSymbols.forEach((symbol, name) => {
|
|
160
|
+
if (this._dunderAllNames && !this._dunderAllNames.some((sym) => sym === name)) {
|
|
161
|
+
symbol.setPrivatePyTypedImport();
|
|
162
|
+
}
|
|
163
|
+
});
|
|
152
164
|
this._potentialPrivateSymbols.forEach((symbol, name) => {
|
|
153
165
|
if (!this._dunderAllNames?.some((sym) => sym === name)) {
|
|
154
166
|
symbol.setIsPrivateMember();
|
|
@@ -1353,6 +1365,15 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
1353
1365
|
const localSymbol = this._bindNameValueToScope(this._currentScope, name);
|
|
1354
1366
|
if (localSymbol) {
|
|
1355
1367
|
const importedSymbol = lookupInfo.symbolTable.get(name);
|
|
1368
|
+
if ((this._currentScope.type === 4 /* ScopeType.Module */ ||
|
|
1369
|
+
this._currentScope.type === 5 /* ScopeType.Builtin */) &&
|
|
1370
|
+
this._fileInfo.isInPyTypedPackage &&
|
|
1371
|
+
!this._fileInfo.isStubFile) {
|
|
1372
|
+
// Wildcard imports are considered a re-export form. If this module
|
|
1373
|
+
// defines __all__, it determines the public interface, so we may
|
|
1374
|
+
// need to treat wildcard-imported names as private unless listed.
|
|
1375
|
+
this._potentialWildcardReexportSymbols.set(name, localSymbol);
|
|
1376
|
+
}
|
|
1356
1377
|
// Is the symbol in the target module's symbol table? If so,
|
|
1357
1378
|
// alias it.
|
|
1358
1379
|
if (importedSymbol) {
|
|
@@ -2775,6 +2796,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
2775
2796
|
symbol.addDeclaration({
|
|
2776
2797
|
type: 0 /* DeclarationType.Intrinsic */,
|
|
2777
2798
|
node,
|
|
2799
|
+
name: nameValue,
|
|
2778
2800
|
intrinsicType: type,
|
|
2779
2801
|
uri: this._fileInfo.fileUri,
|
|
2780
2802
|
range: (0, textRange_1.getEmptyRange)(),
|