@zzzen/pyright-internal 1.2.0-dev.20240107 → 1.2.0-dev.20240114
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/checker.d.ts +2 -0
- package/dist/analyzer/checker.js +64 -14
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +2 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +6 -0
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +2 -2
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/decorators.js +9 -9
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +2 -2
- package/dist/analyzer/importResolver.js +93 -24
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/operations.js +4 -3
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +37 -0
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +4 -4
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +1 -1
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/protocols.js +27 -20
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.d.ts +1 -1
- package/dist/analyzer/service.js +7 -6
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +2 -2
- package/dist/analyzer/sourceFile.js +5 -5
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +228 -133
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +4 -3
- package/dist/analyzer/typeEvaluatorTypes.js +2 -4
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +14 -9
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +2 -1
- package/dist/analyzer/typeUtils.js +13 -0
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +9 -5
- package/dist/analyzer/types.js +38 -23
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +12 -11
- package/dist/backgroundAnalysisBase.js +60 -64
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +6 -5
- package/dist/backgroundThreadBase.js +63 -60
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/quickActionCommand.js +1 -1
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/cancellationUtils.d.ts +6 -3
- package/dist/common/cancellationUtils.js +29 -5
- package/dist/common/cancellationUtils.js.map +1 -1
- package/dist/common/commandUtils.d.ts +2 -0
- package/dist/common/commandUtils.js +24 -0
- package/dist/common/commandUtils.js.map +1 -0
- package/dist/common/extensibility.d.ts +7 -6
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileBasedCancellationUtils.js +19 -13
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +1 -1
- package/dist/common/fullAccessHost.js +2 -2
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +2 -2
- package/dist/common/host.js.map +1 -1
- package/dist/common/realFileSystem.js +8 -8
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.js +8 -1
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +4 -1
- package/dist/common/uri/baseUri.js +7 -1
- package/dist/common/uri/baseUri.js.map +1 -1
- package/dist/common/uri/emptyUri.d.ts +3 -0
- package/dist/common/uri/emptyUri.js +9 -0
- package/dist/common/uri/emptyUri.js.map +1 -1
- package/dist/common/uri/fileUri.d.ts +2 -0
- package/dist/common/uri/fileUri.js +6 -0
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/memoization.js +1 -1
- package/dist/common/uri/memoization.js.map +1 -1
- package/dist/common/uri/uri.d.ts +4 -1
- package/dist/common/uri/uri.js +5 -2
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +2 -0
- package/dist/common/uri/uriUtils.js +18 -1
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/uri/webUri.d.ts +2 -0
- package/dist/common/uri/webUri.js +7 -1
- package/dist/common/uri/webUri.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +6 -5
- package/dist/common/workspaceEditUtils.js +18 -17
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +1 -0
- package/dist/languageServerBase.js +28 -25
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +1 -2
- package/dist/languageService/analyzerServiceExecutor.js +6 -5
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.js +3 -3
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +9 -7
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.js +3 -2
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +2 -4
- package/dist/languageService/completionProvider.js +14 -18
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.js +5 -4
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.js +2 -1
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/renameProvider.js +2 -2
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +2 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +5 -4
- package/dist/localization/localize.js +3 -2
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +19 -4
- package/dist/localization/package.nls.de.json +19 -4
- package/dist/localization/package.nls.en-us.json +3 -2
- package/dist/localization/package.nls.es.json +19 -4
- package/dist/localization/package.nls.fr.json +18 -3
- package/dist/localization/package.nls.it.json +19 -4
- package/dist/localization/package.nls.ja.json +19 -4
- package/dist/localization/package.nls.ko.json +19 -4
- package/dist/localization/package.nls.pl.json +19 -4
- package/dist/localization/package.nls.pt-br.json +19 -4
- package/dist/localization/package.nls.qps-ploc.json +19 -4
- package/dist/localization/package.nls.ru.json +18 -3
- package/dist/localization/package.nls.tr.json +19 -4
- package/dist/localization/package.nls.zh-cn.json +19 -4
- package/dist/localization/package.nls.zh-tw.json +19 -4
- package/dist/parser/parser.d.ts +0 -3
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +2 -4
- package/dist/parser/tokenizer.js +5 -6
- 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/pyright.js +3 -3
- package/dist/pyright.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +8 -8
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/completions.test.js +3 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +10 -2
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +4 -4
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +22 -8
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +4 -0
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashTypes.d.ts +3 -0
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +13 -0
- package/dist/tests/harness/fourslash/testState.js +13 -8
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +1 -1
- package/dist/tests/harness/vfs/factory.js +4 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +1 -1
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +11 -12
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/serialization.test.d.ts +2 -0
- package/dist/tests/serialization.test.js +88 -0
- package/dist/tests/serialization.test.js.map +1 -0
- package/dist/tests/service.test.js +1 -1
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +2 -3
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +3 -3
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +2 -2
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +1 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.js +2 -2
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +1 -2
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +12 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +6 -6
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +6 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +4 -4
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/uri.test.js +30 -7
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +8 -8
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/workspaceFactory.js +1 -1
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -1
@@ -42,11 +42,11 @@ function getFunctionInfoFromDecorators(evaluator, node, isInClass) {
|
|
42
42
|
// Some stub files (e.g. builtins.pyi) rely on forward declarations of decorators.
|
43
43
|
let evaluatorFlags = fileInfo.isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
|
44
44
|
if (decoratorNode.expression.nodeType !== 9 /* ParseNodeType.Call */) {
|
45
|
-
evaluatorFlags |=
|
45
|
+
evaluatorFlags |= 2 /* EvaluatorFlags.CallBaseDefaults */;
|
46
46
|
}
|
47
47
|
else {
|
48
48
|
if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
|
49
|
-
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags |
|
49
|
+
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 2 /* EvaluatorFlags.CallBaseDefaults */).type;
|
50
50
|
if ((0, typeUtils_1.isBuiltInDeprecatedType)(decoratorCallType)) {
|
51
51
|
deprecationMessage = getCustomDeprecationMessage(decoratorNode);
|
52
52
|
}
|
@@ -99,7 +99,7 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
|
|
99
99
|
// Some stub files (e.g. builtins.pyi) rely on forward declarations of decorators.
|
100
100
|
let evaluatorFlags = fileInfo.isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
|
101
101
|
if (decoratorNode.expression.nodeType !== 9 /* ParseNodeType.Call */) {
|
102
|
-
evaluatorFlags |=
|
102
|
+
evaluatorFlags |= 2 /* EvaluatorFlags.CallBaseDefaults */;
|
103
103
|
}
|
104
104
|
const decoratorTypeResult = evaluator.getTypeOfExpression(decoratorNode.expression, evaluatorFlags);
|
105
105
|
const decoratorType = decoratorTypeResult.type;
|
@@ -114,7 +114,7 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
|
|
114
114
|
}
|
115
115
|
}
|
116
116
|
if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
|
117
|
-
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags |
|
117
|
+
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 2 /* EvaluatorFlags.CallBaseDefaults */).type;
|
118
118
|
if ((0, types_1.isFunction)(decoratorCallType)) {
|
119
119
|
if (decoratorCallType.details.name === '__dataclass_transform__' ||
|
120
120
|
decoratorCallType.details.builtInName === 'dataclass_transform') {
|
@@ -138,7 +138,7 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
|
|
138
138
|
}
|
139
139
|
// Handle property setters and deleters.
|
140
140
|
if (decoratorNode.expression.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
141
|
-
const baseType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags |
|
141
|
+
const baseType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 2 /* EvaluatorFlags.MemberAccessBaseDefaults */).type;
|
142
142
|
if ((0, typeUtils_1.isProperty)(baseType)) {
|
143
143
|
const memberName = decoratorNode.expression.memberName.value;
|
144
144
|
if (memberName === 'setter') {
|
@@ -222,11 +222,11 @@ function applyClassDecorator(evaluator, inputClassType, originalClassType, decor
|
|
222
222
|
const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(decoratorNode);
|
223
223
|
let flags = fileInfo.isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
|
224
224
|
if (decoratorNode.expression.nodeType !== 9 /* ParseNodeType.Call */) {
|
225
|
-
flags |=
|
225
|
+
flags |= 2 /* EvaluatorFlags.CallBaseDefaults */;
|
226
226
|
}
|
227
227
|
const decoratorType = evaluator.getTypeOfExpression(decoratorNode.expression, flags).type;
|
228
228
|
if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
|
229
|
-
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, flags |
|
229
|
+
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, flags | 2 /* EvaluatorFlags.CallBaseDefaults */).type;
|
230
230
|
if ((0, types_1.isFunction)(decoratorCallType)) {
|
231
231
|
if (decoratorCallType.details.name === '__dataclass_transform__' ||
|
232
232
|
decoratorCallType.details.builtInName === 'dataclass_transform') {
|
@@ -270,7 +270,7 @@ function applyClassDecorator(evaluator, inputClassType, originalClassType, decor
|
|
270
270
|
let callNode;
|
271
271
|
if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
|
272
272
|
callNode = decoratorNode.expression;
|
273
|
-
const decoratorCallType = evaluator.getTypeOfExpression(callNode.leftExpression, flags |
|
273
|
+
const decoratorCallType = evaluator.getTypeOfExpression(callNode.leftExpression, flags | 2 /* EvaluatorFlags.CallBaseDefaults */).type;
|
274
274
|
dataclassBehaviors = (0, dataClasses_1.getDataclassDecoratorBehaviors)(decoratorCallType);
|
275
275
|
}
|
276
276
|
else {
|
@@ -290,7 +290,7 @@ function getTypeOfDecorator(evaluator, node, functionOrClassType) {
|
|
290
290
|
// Evaluate the type of the decorator expression.
|
291
291
|
let flags = (0, analyzerNodeInfo_1.getFileInfo)(node).isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
|
292
292
|
if (node.expression.nodeType !== 9 /* ParseNodeType.Call */) {
|
293
|
-
flags |=
|
293
|
+
flags |= 2 /* EvaluatorFlags.CallBaseDefaults */;
|
294
294
|
}
|
295
295
|
const decoratorTypeResult = evaluator.getTypeOfExpression(node.expression, flags);
|
296
296
|
// Special-case the combination of a classmethod decorator applied
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/analyzer/decorators.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/analyzer/decorators.ts"],"names":[],"mappings":"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"}
|
@@ -37,7 +37,7 @@ export declare class ImportResolver {
|
|
37
37
|
private _cachedModuleNameResults;
|
38
38
|
private _cachedTypeshedRoot;
|
39
39
|
private _cachedTypeshedStdLibPath;
|
40
|
-
private
|
40
|
+
private _cachedTypeshedStdLibModuleVersionInfo;
|
41
41
|
private _cachedTypeshedThirdPartyPath;
|
42
42
|
private _cachedTypeshedThirdPartyPackagePaths;
|
43
43
|
private _cachedTypeshedThirdPartyPackageRoots;
|
@@ -65,7 +65,7 @@ export declare class ImportResolver {
|
|
65
65
|
getImportRoots(execEnv: ExecutionEnvironment, forLogging?: boolean): Uri[];
|
66
66
|
ensurePartialStubPackages(execEnv: ExecutionEnvironment): boolean;
|
67
67
|
getPythonSearchPaths(importFailureInfo: string[]): Uri[];
|
68
|
-
getTypeshedStdlibExcludeList(customTypeshedPath: Uri, pythonVersion: PythonVersion): Uri[];
|
68
|
+
getTypeshedStdlibExcludeList(customTypeshedPath: Uri, pythonVersion: PythonVersion, pythonPlatform: string | undefined): Uri[];
|
69
69
|
protected readdirEntriesCached(uri: Uri): Dirent[];
|
70
70
|
protected resolveImportInternal(sourceFileUri: Uri, execEnv: ExecutionEnvironment, moduleDescriptor: ImportedModuleDescriptor): ImportResult;
|
71
71
|
protected fileExistsCached(uri: Uri): boolean;
|
@@ -245,7 +245,7 @@ class ImportResolver {
|
|
245
245
|
}
|
246
246
|
getTypeshedStdLibPath(execEnv) {
|
247
247
|
const unused = [];
|
248
|
-
return this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, unused);
|
248
|
+
return this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, execEnv.pythonPlatform, unused);
|
249
249
|
}
|
250
250
|
getTypeshedThirdPartyPath(execEnv) {
|
251
251
|
const unused = [];
|
@@ -260,7 +260,7 @@ class ImportResolver {
|
|
260
260
|
getImportRoots(execEnv, forLogging = false) {
|
261
261
|
const importFailureInfo = [];
|
262
262
|
const roots = [];
|
263
|
-
const stdTypeshed = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, importFailureInfo);
|
263
|
+
const stdTypeshed = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, execEnv.pythonPlatform, importFailureInfo);
|
264
264
|
if (stdTypeshed) {
|
265
265
|
roots.push(stdTypeshed);
|
266
266
|
}
|
@@ -335,18 +335,38 @@ class ImportResolver {
|
|
335
335
|
importFailureInfo.push(...this._cachedPythonSearchPaths.failureInfo);
|
336
336
|
return this._cachedPythonSearchPaths.paths;
|
337
337
|
}
|
338
|
-
getTypeshedStdlibExcludeList(customTypeshedPath, pythonVersion) {
|
338
|
+
getTypeshedStdlibExcludeList(customTypeshedPath, pythonVersion, pythonPlatform) {
|
339
339
|
const unused = [];
|
340
|
-
const typeshedStdlibPath = this._getStdlibTypeshedPath(customTypeshedPath, pythonVersion, unused);
|
340
|
+
const typeshedStdlibPath = this._getStdlibTypeshedPath(customTypeshedPath, pythonVersion, pythonPlatform, unused);
|
341
341
|
const excludes = [];
|
342
342
|
if (!typeshedStdlibPath) {
|
343
343
|
return excludes;
|
344
344
|
}
|
345
|
-
if (!this.
|
346
|
-
this.
|
347
|
-
}
|
348
|
-
this.
|
349
|
-
|
345
|
+
if (!this._cachedTypeshedStdLibModuleVersionInfo) {
|
346
|
+
this._cachedTypeshedStdLibModuleVersionInfo = this._readTypeshedStdLibVersions(customTypeshedPath, []);
|
347
|
+
}
|
348
|
+
this._cachedTypeshedStdLibModuleVersionInfo.forEach((versionInfo, moduleName) => {
|
349
|
+
let shouldExcludeModule = false;
|
350
|
+
if (versionInfo.max !== undefined && pythonVersion > versionInfo.max) {
|
351
|
+
shouldExcludeModule = true;
|
352
|
+
}
|
353
|
+
if (pythonPlatform !== undefined) {
|
354
|
+
const pythonPlatformLower = pythonPlatform.toLowerCase();
|
355
|
+
// If there are supported platforms listed, and we are not using one
|
356
|
+
// of those supported platforms, exclude it.
|
357
|
+
if (versionInfo.supportedPlatforms) {
|
358
|
+
if (versionInfo.supportedPlatforms.every((p) => p.toLowerCase() !== pythonPlatformLower)) {
|
359
|
+
shouldExcludeModule = true;
|
360
|
+
}
|
361
|
+
}
|
362
|
+
// If there are unsupported platforms listed, see if we're using one of them.
|
363
|
+
if (versionInfo.unsupportedPlatforms) {
|
364
|
+
if (versionInfo.unsupportedPlatforms.some((p) => p.toLowerCase() === pythonPlatformLower)) {
|
365
|
+
shouldExcludeModule = true;
|
366
|
+
}
|
367
|
+
}
|
368
|
+
}
|
369
|
+
if (shouldExcludeModule) {
|
350
370
|
// Add excludes for both the ".pyi" file and the directory that contains it
|
351
371
|
// (in case it's using a "__init__.pyi" file).
|
352
372
|
const moduleDirPath = typeshedStdlibPath.combinePaths(...moduleName.split('.'));
|
@@ -713,7 +733,7 @@ class ImportResolver {
|
|
713
733
|
// declare types with the same (local) name.
|
714
734
|
let moduleNameWithInvalidCharacters;
|
715
735
|
// Is this a stdlib typeshed path?
|
716
|
-
const stdLibTypeshedPath = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, importFailureInfo);
|
736
|
+
const stdLibTypeshedPath = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, execEnv.pythonPlatform, importFailureInfo);
|
717
737
|
if (stdLibTypeshedPath) {
|
718
738
|
moduleName = this.getModuleNameFromPath(stdLibTypeshedPath, fileUri);
|
719
739
|
if (moduleName) {
|
@@ -722,7 +742,7 @@ class ImportResolver {
|
|
722
742
|
nameParts: moduleName.split('.'),
|
723
743
|
importedSymbols: undefined,
|
724
744
|
};
|
725
|
-
if (this._isStdlibTypeshedStubValidForVersion(moduleDescriptor, this._configOptions.typeshedPath, execEnv.pythonVersion, [])) {
|
745
|
+
if (this._isStdlibTypeshedStubValidForVersion(moduleDescriptor, this._configOptions.typeshedPath, execEnv.pythonVersion, execEnv.pythonPlatform, [])) {
|
726
746
|
return {
|
727
747
|
moduleName,
|
728
748
|
importType,
|
@@ -1272,7 +1292,7 @@ class ImportResolver {
|
|
1272
1292
|
importFailureInfo.push(`Looking for typeshed ${isStdLib ? PythonPathUtils.stdLibFolderName : PythonPathUtils.thirdPartyFolderName} path`);
|
1273
1293
|
let typeshedPaths;
|
1274
1294
|
if (isStdLib) {
|
1275
|
-
const path = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, importFailureInfo, moduleDescriptor);
|
1295
|
+
const path = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, execEnv.pythonPlatform, importFailureInfo, moduleDescriptor);
|
1276
1296
|
if (path) {
|
1277
1297
|
typeshedPaths = [path];
|
1278
1298
|
}
|
@@ -1364,7 +1384,7 @@ class ImportResolver {
|
|
1364
1384
|
const importFailureInfo = [];
|
1365
1385
|
let typeshedPaths;
|
1366
1386
|
if (isStdLib) {
|
1367
|
-
const path = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, importFailureInfo, moduleDescriptor);
|
1387
|
+
const path = this._getStdlibTypeshedPath(this._configOptions.typeshedPath, execEnv.pythonVersion, execEnv.pythonPlatform, importFailureInfo, moduleDescriptor);
|
1368
1388
|
if (path) {
|
1369
1389
|
typeshedPaths = [path];
|
1370
1390
|
}
|
@@ -1390,11 +1410,11 @@ class ImportResolver {
|
|
1390
1410
|
// Returns the directory for a module within the stdlib typeshed directory.
|
1391
1411
|
// If moduleDescriptor is provided, it is filtered based on the VERSIONS
|
1392
1412
|
// file in the typeshed stubs.
|
1393
|
-
_getStdlibTypeshedPath(customTypeshedPath, pythonVersion, importFailureInfo, moduleDescriptor) {
|
1413
|
+
_getStdlibTypeshedPath(customTypeshedPath, pythonVersion, pythonPlatform, importFailureInfo, moduleDescriptor) {
|
1394
1414
|
const subdirectory = this._getTypeshedSubdirectory(/* isStdLib */ true, customTypeshedPath, importFailureInfo);
|
1395
1415
|
if (subdirectory &&
|
1396
1416
|
moduleDescriptor &&
|
1397
|
-
!this._isStdlibTypeshedStubValidForVersion(moduleDescriptor, customTypeshedPath, pythonVersion, importFailureInfo)) {
|
1417
|
+
!this._isStdlibTypeshedStubValidForVersion(moduleDescriptor, customTypeshedPath, pythonVersion, pythonPlatform, importFailureInfo)) {
|
1398
1418
|
return undefined;
|
1399
1419
|
}
|
1400
1420
|
return subdirectory;
|
@@ -1402,22 +1422,35 @@ class ImportResolver {
|
|
1402
1422
|
_getThirdPartyTypeshedPath(customTypeshedPath, importFailureInfo) {
|
1403
1423
|
return this._getTypeshedSubdirectory(/* isStdLib */ false, customTypeshedPath, importFailureInfo);
|
1404
1424
|
}
|
1405
|
-
_isStdlibTypeshedStubValidForVersion(moduleDescriptor, customTypeshedPath, pythonVersion, importFailureInfo) {
|
1406
|
-
if (!this.
|
1407
|
-
this.
|
1425
|
+
_isStdlibTypeshedStubValidForVersion(moduleDescriptor, customTypeshedPath, pythonVersion, pythonPlatform, importFailureInfo) {
|
1426
|
+
if (!this._cachedTypeshedStdLibModuleVersionInfo) {
|
1427
|
+
this._cachedTypeshedStdLibModuleVersionInfo = this._readTypeshedStdLibVersions(customTypeshedPath, importFailureInfo);
|
1408
1428
|
}
|
1409
1429
|
// Loop through the name parts to make sure the module and submodules
|
1410
1430
|
// referenced in the import statement are valid for this version of Python.
|
1411
1431
|
for (let namePartCount = 1; namePartCount <= moduleDescriptor.nameParts.length; namePartCount++) {
|
1412
1432
|
const namePartsToConsider = moduleDescriptor.nameParts.slice(0, namePartCount);
|
1413
|
-
const
|
1414
|
-
if (
|
1415
|
-
if (pythonVersion <
|
1433
|
+
const versionInfo = this._cachedTypeshedStdLibModuleVersionInfo.get(namePartsToConsider.join('.'));
|
1434
|
+
if (versionInfo) {
|
1435
|
+
if (pythonVersion < versionInfo.min) {
|
1416
1436
|
return false;
|
1417
1437
|
}
|
1418
|
-
if (
|
1438
|
+
if (versionInfo.max !== undefined && pythonVersion > versionInfo.max) {
|
1419
1439
|
return false;
|
1420
1440
|
}
|
1441
|
+
if (pythonPlatform !== undefined) {
|
1442
|
+
const pythonPlatformLower = pythonPlatform.toLowerCase();
|
1443
|
+
if (versionInfo.supportedPlatforms) {
|
1444
|
+
if (versionInfo.supportedPlatforms.every((p) => p.toLowerCase() !== pythonPlatformLower)) {
|
1445
|
+
return false;
|
1446
|
+
}
|
1447
|
+
}
|
1448
|
+
if (versionInfo.unsupportedPlatforms) {
|
1449
|
+
if (versionInfo.unsupportedPlatforms.some((p) => p.toLowerCase() === pythonPlatformLower)) {
|
1450
|
+
return false;
|
1451
|
+
}
|
1452
|
+
}
|
1453
|
+
}
|
1421
1454
|
}
|
1422
1455
|
}
|
1423
1456
|
return true;
|
@@ -1435,7 +1468,10 @@ class ImportResolver {
|
|
1435
1468
|
const fileContents = this.fileSystem.readFileSync(versionsFilePath, 'utf8');
|
1436
1469
|
fileContents.split(/\r?\n/).forEach((line) => {
|
1437
1470
|
const commentSplit = line.split('#');
|
1438
|
-
|
1471
|
+
// Platform-specific information can be specified after a semicolon.
|
1472
|
+
const semicolonSplit = commentSplit[0].split(';').map((s) => s.trim());
|
1473
|
+
// Version information is found after a colon.
|
1474
|
+
const colonSplit = semicolonSplit[0].split(':');
|
1439
1475
|
if (colonSplit.length !== 2) {
|
1440
1476
|
return;
|
1441
1477
|
}
|
@@ -1460,7 +1496,40 @@ class ImportResolver {
|
|
1460
1496
|
if (versionSplit.length > 1) {
|
1461
1497
|
maxVersion = (0, pythonVersion_1.versionFromString)(versionSplit[1].trim());
|
1462
1498
|
}
|
1463
|
-
|
1499
|
+
// A semicolon can be followed by a semicolon-delimited list of other
|
1500
|
+
// exclusions. The "platform" exclusion is a comma delimited list platforms
|
1501
|
+
// that are supported or not supported.
|
1502
|
+
let supportedPlatforms;
|
1503
|
+
let unsupportedPlatforms;
|
1504
|
+
const platformsHeader = 'platforms=';
|
1505
|
+
let platformExclusions = semicolonSplit.slice(1).find((s) => s.startsWith(platformsHeader));
|
1506
|
+
if (platformExclusions) {
|
1507
|
+
platformExclusions = platformExclusions.trim().substring(platformsHeader.length);
|
1508
|
+
const commaSplit = platformExclusions.split(',');
|
1509
|
+
for (let platform of commaSplit) {
|
1510
|
+
platform = platform.trim();
|
1511
|
+
let isUnsupported = false;
|
1512
|
+
// Remove the '!' from the start if it's an exclusion.
|
1513
|
+
if (platform.startsWith('!')) {
|
1514
|
+
isUnsupported = true;
|
1515
|
+
platform = platform.substring(1);
|
1516
|
+
}
|
1517
|
+
if (isUnsupported) {
|
1518
|
+
unsupportedPlatforms = unsupportedPlatforms !== null && unsupportedPlatforms !== void 0 ? unsupportedPlatforms : [];
|
1519
|
+
unsupportedPlatforms.push(platform);
|
1520
|
+
}
|
1521
|
+
else {
|
1522
|
+
supportedPlatforms = supportedPlatforms !== null && supportedPlatforms !== void 0 ? supportedPlatforms : [];
|
1523
|
+
supportedPlatforms.push(platform);
|
1524
|
+
}
|
1525
|
+
}
|
1526
|
+
}
|
1527
|
+
versionRangeMap.set(moduleName, {
|
1528
|
+
min: minVersion,
|
1529
|
+
max: maxVersion,
|
1530
|
+
supportedPlatforms,
|
1531
|
+
unsupportedPlatforms,
|
1532
|
+
});
|
1464
1533
|
});
|
1465
1534
|
}
|
1466
1535
|
else {
|