@zzzen/pyright-internal 1.2.0-dev.20250119 → 1.2.0-dev.20250126
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 +1 -0
- package/dist/analyzer/backgroundAnalysisProgram.js +3 -0
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +7 -1
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -1
- package/dist/analyzer/checker.js +29 -24
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/enums.js +140 -126
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +3 -2
- package/dist/analyzer/importResolver.js +80 -79
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +2 -0
- package/dist/analyzer/pythonPathUtils.js +20 -11
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.js +2 -5
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +4 -5
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +10 -7
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/backgroundAnalysis.js +2 -0
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -0
- package/dist/backgroundThreadBase.js +5 -8
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +1 -1
- package/dist/common/realFileSystem.d.ts +1 -1
- package/dist/common/realFileSystem.js +10 -2
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.d.ts +1 -0
- package/dist/common/serviceProvider.js +8 -0
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/languageServerBase.d.ts +3 -3
- package/dist/languageServerBase.js +7 -4
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.js +4 -1
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/localization/localize.d.ts +4 -7
- package/dist/localization/localize.js +4 -2
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +0 -2
- package/dist/localization/package.nls.de.json +0 -2
- package/dist/localization/package.nls.en-us.json +12 -4
- package/dist/localization/package.nls.es.json +0 -2
- package/dist/localization/package.nls.fr.json +0 -2
- package/dist/localization/package.nls.it.json +0 -2
- package/dist/localization/package.nls.ja.json +0 -2
- package/dist/localization/package.nls.ko.json +0 -2
- package/dist/localization/package.nls.pl.json +0 -2
- package/dist/localization/package.nls.pt-br.json +0 -2
- package/dist/localization/package.nls.qps-ploc.json +0 -2
- package/dist/localization/package.nls.ru.json +0 -2
- package/dist/localization/package.nls.tr.json +0 -2
- package/dist/localization/package.nls.zh-cn.json +0 -2
- package/dist/localization/package.nls.zh-tw.json +0 -2
- package/dist/pyright.js +11 -4
- package/dist/pyright.js.map +1 -1
- package/dist/server.d.ts +2 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/tests/config.test.js +451 -427
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +3 -1
- package/dist/tests/harness/fourslash/testState.js +23 -23
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/importResolver.test.js +537 -527
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +1 -0
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/testUtils.js +1 -0
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator3.test.js +4 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +1 -1
- package/dist/tests/typeEvaluator6.test.js +4 -0
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/uri.test.js +3 -0
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +2 -0
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +2 -1
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
package/dist/analyzer/enums.js
CHANGED
@@ -25,6 +25,9 @@ const symbolNameUtils_1 = require("./symbolNameUtils");
|
|
25
25
|
const typeGuards_1 = require("./typeGuards");
|
26
26
|
const typeUtils_1 = require("./typeUtils");
|
27
27
|
const types_1 = require("./types");
|
28
|
+
// This stack is used to prevent infinite recursion when evaluating
|
29
|
+
// enum members that refer to other enum members.
|
30
|
+
const enumEvalStack = [];
|
28
31
|
// Determines whether the class is an Enum metaclass or a subclass thereof.
|
29
32
|
function isEnumMetaclass(classType) {
|
30
33
|
return classType.shared.mro.some((mroClass) => (0, types_1.isClass)(mroClass) && types_1.ClassType.isBuiltIn(mroClass, ['EnumMeta', 'EnumType']));
|
@@ -193,153 +196,164 @@ function createEnumType(evaluator, errorNode, enumClass, argList) {
|
|
193
196
|
// annotations. The typing spec indicates that the use of an annotation is
|
194
197
|
// illegal, so we need to detect this case and report an error.
|
195
198
|
function transformTypeForEnumMember(evaluator, classType, memberName, ignoreAnnotation = false, recursionCount = 0) {
|
196
|
-
if (recursionCount > types_1.maxTypeRecursionCount) {
|
197
|
-
return undefined;
|
198
|
-
}
|
199
|
-
recursionCount++;
|
200
199
|
if (!types_1.ClassType.isEnumClass(classType)) {
|
201
200
|
return undefined;
|
202
201
|
}
|
203
|
-
|
204
|
-
if (!memberInfo || !(0, types_1.isClass)(memberInfo.classType) || !types_1.ClassType.isEnumClass(memberInfo.classType)) {
|
205
|
-
return undefined;
|
206
|
-
}
|
207
|
-
const decls = memberInfo.symbol.getDeclarations();
|
208
|
-
if (decls.length < 1) {
|
202
|
+
if (recursionCount > types_1.maxTypeRecursionCount) {
|
209
203
|
return undefined;
|
210
204
|
}
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
let valueTypeExprNode;
|
215
|
-
let declaredTypeNode;
|
216
|
-
let nameNode;
|
217
|
-
if (primaryDecl.node.nodeType === 38 /* ParseNodeType.Name */) {
|
218
|
-
nameNode = primaryDecl.node;
|
219
|
-
}
|
220
|
-
else if (primaryDecl.node.nodeType === 31 /* ParseNodeType.Function */ ||
|
221
|
-
primaryDecl.node.nodeType === 10 /* ParseNodeType.Class */) {
|
222
|
-
// Handle the case where a method or class is decorated with @enum.member.
|
223
|
-
nameNode = primaryDecl.node.d.name;
|
224
|
-
}
|
225
|
-
else {
|
205
|
+
recursionCount++;
|
206
|
+
// Avoid infinite recursion.
|
207
|
+
if (enumEvalStack.find((entry) => types_1.ClassType.isSameGenericClass(entry.classType, classType) && entry.memberName === memberName)) {
|
226
208
|
return undefined;
|
227
209
|
}
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
210
|
+
enumEvalStack.push({ classType, memberName });
|
211
|
+
try {
|
212
|
+
const memberInfo = (0, typeUtils_1.lookUpClassMember)(classType, memberName);
|
213
|
+
if (!memberInfo || !(0, types_1.isClass)(memberInfo.classType) || !types_1.ClassType.isEnumClass(memberInfo.classType)) {
|
214
|
+
return undefined;
|
215
|
+
}
|
216
|
+
const decls = memberInfo.symbol.getDeclarations();
|
217
|
+
if (decls.length < 1) {
|
218
|
+
return undefined;
|
219
|
+
}
|
220
|
+
const primaryDecl = decls[0];
|
221
|
+
let isMemberOfEnumeration = false;
|
222
|
+
let isUnpackedTuple = false;
|
223
|
+
let valueTypeExprNode;
|
224
|
+
let declaredTypeNode;
|
225
|
+
let nameNode;
|
226
|
+
if (primaryDecl.node.nodeType === 38 /* ParseNodeType.Name */) {
|
227
|
+
nameNode = primaryDecl.node;
|
228
|
+
}
|
229
|
+
else if (primaryDecl.node.nodeType === 31 /* ParseNodeType.Function */ ||
|
230
|
+
primaryDecl.node.nodeType === 10 /* ParseNodeType.Class */) {
|
231
|
+
// Handle the case where a method or class is decorated with @enum.member.
|
232
|
+
nameNode = primaryDecl.node.d.name;
|
233
|
+
}
|
234
|
+
else {
|
235
|
+
return undefined;
|
236
|
+
}
|
237
|
+
if (nameNode.parent?.nodeType === 3 /* ParseNodeType.Assignment */ && nameNode.parent.d.leftExpr === nameNode) {
|
240
238
|
isMemberOfEnumeration = true;
|
239
|
+
valueTypeExprNode = nameNode.parent.d.rightExpr;
|
241
240
|
}
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
return undefined;
|
248
|
-
}
|
249
|
-
// Specifically exclude "value" and "name". These are reserved by the enum metaclass.
|
250
|
-
if (memberName === 'name' || memberName === 'value') {
|
251
|
-
return undefined;
|
252
|
-
}
|
253
|
-
const declaredType = declaredTypeNode ? evaluator.getTypeOfAnnotation(declaredTypeNode) : undefined;
|
254
|
-
let assignedType;
|
255
|
-
if (valueTypeExprNode) {
|
256
|
-
const evalFlags = (0, analyzerNodeInfo_1.getFileInfo)(valueTypeExprNode).isStubFile ? 1 /* EvalFlags.ConvertEllipsisToAny */ : undefined;
|
257
|
-
assignedType = evaluator.getTypeOfExpression(valueTypeExprNode, evalFlags).type;
|
258
|
-
}
|
259
|
-
// Handle aliases to other enum members within the same enum.
|
260
|
-
if (valueTypeExprNode?.nodeType === 38 /* ParseNodeType.Name */ && valueTypeExprNode.d.value !== memberName) {
|
261
|
-
const aliasedEnumType = transformTypeForEnumMember(evaluator, classType, valueTypeExprNode.d.value,
|
262
|
-
/* ignoreAnnotation */ false, recursionCount);
|
263
|
-
if (aliasedEnumType &&
|
264
|
-
(0, types_1.isClassInstance)(aliasedEnumType) &&
|
265
|
-
types_1.ClassType.isSameGenericClass(aliasedEnumType, types_1.ClassType.cloneAsInstance(memberInfo.classType)) &&
|
266
|
-
aliasedEnumType.priv.literalValue !== undefined) {
|
267
|
-
return aliasedEnumType;
|
241
|
+
else if (nameNode.parent?.nodeType === 52 /* ParseNodeType.Tuple */ &&
|
242
|
+
nameNode.parent.parent?.nodeType === 3 /* ParseNodeType.Assignment */) {
|
243
|
+
isMemberOfEnumeration = true;
|
244
|
+
isUnpackedTuple = true;
|
245
|
+
valueTypeExprNode = nameNode.parent.parent.d.rightExpr;
|
268
246
|
}
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
247
|
+
else if (nameNode.parent?.nodeType === 54 /* ParseNodeType.TypeAnnotation */ &&
|
248
|
+
nameNode.parent.d.valueExpr === nameNode) {
|
249
|
+
if (ignoreAnnotation) {
|
250
|
+
isMemberOfEnumeration = true;
|
251
|
+
}
|
252
|
+
declaredTypeNode = nameNode.parent.d.annotation;
|
274
253
|
}
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
254
|
+
// The spec specifically excludes names that start and end with a single underscore.
|
255
|
+
// This also includes dunder names.
|
256
|
+
if ((0, symbolNameUtils_1.isSingleDunderName)(memberName)) {
|
257
|
+
return undefined;
|
258
|
+
}
|
259
|
+
// Specifically exclude "value" and "name". These are reserved by the enum metaclass.
|
260
|
+
if (memberName === 'name' || memberName === 'value') {
|
261
|
+
return undefined;
|
262
|
+
}
|
263
|
+
const declaredType = declaredTypeNode ? evaluator.getTypeOfAnnotation(declaredTypeNode) : undefined;
|
264
|
+
let assignedType;
|
265
|
+
if (valueTypeExprNode) {
|
266
|
+
const evalFlags = (0, analyzerNodeInfo_1.getFileInfo)(valueTypeExprNode).isStubFile ? 1 /* EvalFlags.ConvertEllipsisToAny */ : undefined;
|
267
|
+
assignedType = evaluator.getTypeOfExpression(valueTypeExprNode, evalFlags).type;
|
268
|
+
}
|
269
|
+
// Handle aliases to other enum members within the same enum.
|
270
|
+
if (valueTypeExprNode?.nodeType === 38 /* ParseNodeType.Name */ && valueTypeExprNode.d.value !== memberName) {
|
271
|
+
const aliasedEnumType = transformTypeForEnumMember(evaluator, classType, valueTypeExprNode.d.value,
|
272
|
+
/* ignoreAnnotation */ false, recursionCount);
|
273
|
+
if (aliasedEnumType &&
|
274
|
+
(0, types_1.isClassInstance)(aliasedEnumType) &&
|
275
|
+
types_1.ClassType.isSameGenericClass(aliasedEnumType, types_1.ClassType.cloneAsInstance(memberInfo.classType)) &&
|
276
|
+
aliasedEnumType.priv.literalValue !== undefined) {
|
277
|
+
return aliasedEnumType;
|
286
278
|
}
|
287
279
|
}
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
}
|
306
|
-
// The enum spec doesn't explicitly specify this, but it
|
307
|
-
// appears that callables are excluded.
|
308
|
-
if (!(0, types_1.findSubtype)(valueType, (subtype) => !(0, types_1.isFunction)(subtype) && !(0, types_1.isOverloaded)(subtype))) {
|
309
|
-
return undefined;
|
310
|
-
}
|
311
|
-
if (!assignedType &&
|
312
|
-
nameNode.parent?.nodeType === 3 /* ParseNodeType.Assignment */ &&
|
313
|
-
nameNode.parent.d.leftExpr === nameNode) {
|
314
|
-
assignedType = evaluator.getTypeOfExpression(nameNode.parent.d.rightExpr,
|
315
|
-
/* flags */ undefined, (0, typeUtils_1.makeInferenceContext)(declaredType)).type;
|
316
|
-
}
|
317
|
-
// Handle the Python 3.11 "enum.member()" and "enum.nonmember()" features.
|
318
|
-
if (assignedType && (0, types_1.isClassInstance)(assignedType) && types_1.ClassType.isBuiltIn(assignedType)) {
|
319
|
-
if (assignedType.shared.fullName === 'enum.nonmember') {
|
320
|
-
const nonMemberType = assignedType.priv.typeArgs && assignedType.priv.typeArgs.length > 0
|
321
|
-
? assignedType.priv.typeArgs[0]
|
322
|
-
: types_1.UnknownType.create();
|
323
|
-
// If the type of the nonmember is declared and the assigned value has
|
324
|
-
// a compatible type, use the declared type.
|
325
|
-
if (declaredType && evaluator.assignType(declaredType, nonMemberType)) {
|
326
|
-
return declaredType;
|
280
|
+
if (primaryDecl.node.nodeType === 31 /* ParseNodeType.Function */) {
|
281
|
+
const functionTypeInfo = evaluator.getTypeOfFunction(primaryDecl.node);
|
282
|
+
if (functionTypeInfo) {
|
283
|
+
assignedType = functionTypeInfo.decoratedType;
|
284
|
+
}
|
285
|
+
}
|
286
|
+
else if (primaryDecl.node.nodeType === 10 /* ParseNodeType.Class */) {
|
287
|
+
const classTypeInfo = evaluator.getTypeOfClass(primaryDecl.node);
|
288
|
+
if (classTypeInfo) {
|
289
|
+
assignedType = classTypeInfo.decoratedType;
|
290
|
+
// If the class is not marked as a member or a non-member, the behavior
|
291
|
+
// depends on the version of Python. In versions prior to 3.13, classes
|
292
|
+
// are treated as members.
|
293
|
+
if ((0, types_1.isInstantiableClass)(assignedType)) {
|
294
|
+
const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(primaryDecl.node);
|
295
|
+
isMemberOfEnumeration = pythonVersion_1.PythonVersion.isLessThan(fileInfo.executionEnvironment.pythonVersion, pythonVersion_1.pythonVersion3_13);
|
296
|
+
}
|
327
297
|
}
|
328
|
-
return nonMemberType;
|
329
298
|
}
|
330
|
-
|
299
|
+
let valueType = declaredType ?? assignedType ?? types_1.UnknownType.create();
|
300
|
+
// If the LHS is an unpacked tuple, we need to handle this as
|
301
|
+
// a special case.
|
302
|
+
if (isUnpackedTuple) {
|
331
303
|
valueType =
|
332
|
-
|
304
|
+
evaluator.getTypeOfIterator({ type: valueType },
|
305
|
+
/* isAsync */ false, nameNode,
|
306
|
+
/* emitNotIterableError */ false)?.type ?? types_1.UnknownType.create();
|
307
|
+
}
|
308
|
+
// The spec excludes descriptors.
|
309
|
+
if ((0, types_1.isClassInstance)(valueType) && types_1.ClassType.getSymbolTable(valueType).get('__get__')) {
|
310
|
+
return undefined;
|
311
|
+
}
|
312
|
+
// The spec excludes private (mangled) names.
|
313
|
+
if ((0, symbolNameUtils_1.isPrivateName)(memberName)) {
|
314
|
+
return undefined;
|
315
|
+
}
|
316
|
+
// The enum spec doesn't explicitly specify this, but it
|
317
|
+
// appears that callables are excluded.
|
318
|
+
if (!(0, types_1.findSubtype)(valueType, (subtype) => !(0, types_1.isFunction)(subtype) && !(0, types_1.isOverloaded)(subtype))) {
|
319
|
+
return undefined;
|
320
|
+
}
|
321
|
+
if (!assignedType &&
|
322
|
+
nameNode.parent?.nodeType === 3 /* ParseNodeType.Assignment */ &&
|
323
|
+
nameNode.parent.d.leftExpr === nameNode) {
|
324
|
+
assignedType = evaluator.getTypeOfExpression(nameNode.parent.d.rightExpr,
|
325
|
+
/* flags */ undefined, (0, typeUtils_1.makeInferenceContext)(declaredType)).type;
|
326
|
+
}
|
327
|
+
// Handle the Python 3.11 "enum.member()" and "enum.nonmember()" features.
|
328
|
+
if (assignedType && (0, types_1.isClassInstance)(assignedType) && types_1.ClassType.isBuiltIn(assignedType)) {
|
329
|
+
if (assignedType.shared.fullName === 'enum.nonmember') {
|
330
|
+
const nonMemberType = assignedType.priv.typeArgs && assignedType.priv.typeArgs.length > 0
|
333
331
|
? assignedType.priv.typeArgs[0]
|
334
332
|
: types_1.UnknownType.create();
|
335
|
-
|
333
|
+
// If the type of the nonmember is declared and the assigned value has
|
334
|
+
// a compatible type, use the declared type.
|
335
|
+
if (declaredType && evaluator.assignType(declaredType, nonMemberType)) {
|
336
|
+
return declaredType;
|
337
|
+
}
|
338
|
+
return nonMemberType;
|
339
|
+
}
|
340
|
+
if (assignedType.shared.fullName === 'enum.member') {
|
341
|
+
valueType =
|
342
|
+
assignedType.priv.typeArgs && assignedType.priv.typeArgs.length > 0
|
343
|
+
? assignedType.priv.typeArgs[0]
|
344
|
+
: types_1.UnknownType.create();
|
345
|
+
isMemberOfEnumeration = true;
|
346
|
+
}
|
347
|
+
}
|
348
|
+
if (!isMemberOfEnumeration) {
|
349
|
+
return undefined;
|
336
350
|
}
|
351
|
+
const enumLiteral = new types_1.EnumLiteral(memberInfo.classType.shared.fullName, memberInfo.classType.shared.name, memberName, valueType, isReprEnumClass(classType));
|
352
|
+
return types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneWithLiteral(memberInfo.classType, enumLiteral));
|
337
353
|
}
|
338
|
-
|
339
|
-
|
354
|
+
finally {
|
355
|
+
enumEvalStack.pop();
|
340
356
|
}
|
341
|
-
const enumLiteral = new types_1.EnumLiteral(memberInfo.classType.shared.fullName, memberInfo.classType.shared.name, memberName, valueType, isReprEnumClass(classType));
|
342
|
-
return types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneWithLiteral(memberInfo.classType, enumLiteral));
|
343
357
|
}
|
344
358
|
function isDeclInEnumClass(evaluator, decl) {
|
345
359
|
const classNode = (0, parseTreeUtils_1.getEnclosingClass)(decl.node, /* stopAtFunction */ true);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../src/analyzer/enums.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../../src/analyzer/enums.ts"],"names":[],"mappings":"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"}
|
@@ -4,7 +4,7 @@ import { Host } from '../common/host';
|
|
4
4
|
import { PythonVersion } from '../common/pythonVersion';
|
5
5
|
import { ServiceProvider } from '../common/serviceProvider';
|
6
6
|
import { Uri } from '../common/uri/uri';
|
7
|
-
import { ImportResult, ImportType } from './importResult';
|
7
|
+
import { ImplicitImport, ImportResult, ImportType } from './importResult';
|
8
8
|
import { ParentDirectoryCache } from './parentDirectoryCache';
|
9
9
|
export interface ImportedModuleDescriptor {
|
10
10
|
leadingDots: number;
|
@@ -76,6 +76,7 @@ export declare class ImportResolver {
|
|
76
76
|
protected resolveNativeImportEx(libraryFileUri: Uri, importName: string, importFailureInfo?: string[]): Uri | undefined;
|
77
77
|
protected getNativeModuleName(uri: Uri): string | undefined;
|
78
78
|
protected filterImplicitImports(importResult: ImportResult, importedSymbols: Set<string> | undefined): ImportResult;
|
79
|
+
protected findImplicitImports(importingModuleName: string, dirPath: Uri, exclusions: Uri[]): Map<string, ImplicitImport>;
|
79
80
|
private _resolveImportStrict;
|
80
81
|
private _getCompletionSuggestionsStrict;
|
81
82
|
private _getModuleNameForImport;
|
@@ -105,7 +106,6 @@ export declare class ImportResolver {
|
|
105
106
|
private _addFilteredSuggestionsAbsolute;
|
106
107
|
private _isResolvableSuggestion;
|
107
108
|
private _isUniqueValidSuggestion;
|
108
|
-
private _findImplicitImports;
|
109
109
|
private _getPyTypedInfo;
|
110
110
|
private _findAndResolveNativeModule;
|
111
111
|
private _resolveNativeModuleWithStub;
|
@@ -117,3 +117,4 @@ export type ImportResolverFactory = (serviceProvider: ServiceProvider, options:
|
|
117
117
|
export declare function formatImportName(moduleDescriptor: ImportedModuleDescriptor): string;
|
118
118
|
export declare function getParentImportResolutionRoot(sourceFileUri: Uri, executionRoot: Uri | undefined): Uri;
|
119
119
|
export declare function getModuleNameFromPath(containerPath: Uri, fileUri: Uri, stripTopContainerDir?: boolean): string | undefined;
|
120
|
+
export declare function isDefaultWorkspace(uri: Uri | undefined): boolean;
|
@@ -37,6 +37,7 @@ exports.createImportedModuleDescriptor = createImportedModuleDescriptor;
|
|
37
37
|
exports.formatImportName = formatImportName;
|
38
38
|
exports.getParentImportResolutionRoot = getParentImportResolutionRoot;
|
39
39
|
exports.getModuleNameFromPath = getModuleNameFromPath;
|
40
|
+
exports.isDefaultWorkspace = isDefaultWorkspace;
|
40
41
|
const collectionUtils_1 = require("../common/collectionUtils");
|
41
42
|
const configOptions_1 = require("../common/configOptions");
|
42
43
|
const pathConsts_1 = require("../common/pathConsts");
|
@@ -577,6 +578,79 @@ class ImportResolver {
|
|
577
578
|
newImportResult.filteredImplicitImports = filteredImplicitImports;
|
578
579
|
return newImportResult;
|
579
580
|
}
|
581
|
+
findImplicitImports(importingModuleName, dirPath, exclusions) {
|
582
|
+
const implicitImportMap = new Map();
|
583
|
+
// Enumerate all of the files and directories in the path, expanding links.
|
584
|
+
const entries = (0, uriUtils_1.getFileSystemEntriesFromDirEntries)(this.readdirEntriesCached(dirPath), this.fileSystem, dirPath);
|
585
|
+
// Add implicit file-based modules.
|
586
|
+
for (const filePath of entries.files) {
|
587
|
+
const fileExt = filePath.lastExtension;
|
588
|
+
let strippedFileName;
|
589
|
+
let isNativeLib = false;
|
590
|
+
if (fileExt === '.py' || fileExt === '.pyi') {
|
591
|
+
strippedFileName = (0, pathUtils_1.stripFileExtension)(filePath.fileName);
|
592
|
+
}
|
593
|
+
else if (_isNativeModuleFileExtension(fileExt) &&
|
594
|
+
!this.fileExistsCached(filePath.packageUri) &&
|
595
|
+
!this.fileExistsCached(filePath.packageStubUri)) {
|
596
|
+
// Native module.
|
597
|
+
strippedFileName = filePath.stripAllExtensions().fileName;
|
598
|
+
isNativeLib = true;
|
599
|
+
}
|
600
|
+
else {
|
601
|
+
continue;
|
602
|
+
}
|
603
|
+
if (!exclusions.find((exclusion) => exclusion.equals(filePath))) {
|
604
|
+
const implicitImport = {
|
605
|
+
isStubFile: filePath.hasExtension('.pyi'),
|
606
|
+
isNativeLib,
|
607
|
+
name: strippedFileName,
|
608
|
+
uri: filePath,
|
609
|
+
};
|
610
|
+
// Always prefer stub files over non-stub files.
|
611
|
+
const entry = implicitImportMap.get(implicitImport.name);
|
612
|
+
if (!entry || !entry.isStubFile) {
|
613
|
+
// Try resolving resolving native lib to a custom stub.
|
614
|
+
if (isNativeLib) {
|
615
|
+
const nativeLibPath = filePath;
|
616
|
+
const nativeStubPath = this.resolveNativeImportEx(nativeLibPath, `${importingModuleName}.${strippedFileName}`, []);
|
617
|
+
if (nativeStubPath) {
|
618
|
+
implicitImport.uri = nativeStubPath;
|
619
|
+
implicitImport.isNativeLib = false;
|
620
|
+
}
|
621
|
+
}
|
622
|
+
implicitImportMap.set(implicitImport.name, implicitImport);
|
623
|
+
}
|
624
|
+
}
|
625
|
+
}
|
626
|
+
// Add implicit directory-based modules.
|
627
|
+
for (const dirPath of entries.directories) {
|
628
|
+
const pyFilePath = dirPath.initPyUri;
|
629
|
+
const pyiFilePath = dirPath.initPyiUri;
|
630
|
+
let isStubFile = false;
|
631
|
+
let path;
|
632
|
+
if (this.fileExistsCached(pyiFilePath)) {
|
633
|
+
isStubFile = true;
|
634
|
+
path = pyiFilePath;
|
635
|
+
}
|
636
|
+
else if (this.fileExistsCached(pyFilePath)) {
|
637
|
+
path = pyFilePath;
|
638
|
+
}
|
639
|
+
if (path) {
|
640
|
+
if (!exclusions.find((exclusion) => exclusion.equals(path))) {
|
641
|
+
const implicitImport = {
|
642
|
+
isStubFile,
|
643
|
+
isNativeLib: false,
|
644
|
+
name: dirPath.fileName,
|
645
|
+
uri: path,
|
646
|
+
pyTypedInfo: this._getPyTypedInfo(dirPath),
|
647
|
+
};
|
648
|
+
implicitImportMap.set(implicitImport.name, implicitImport);
|
649
|
+
}
|
650
|
+
}
|
651
|
+
}
|
652
|
+
return implicitImportMap;
|
653
|
+
}
|
580
654
|
_resolveImportStrict(importName, sourceFileUri, execEnv, moduleDescriptor, importFailureInfo) {
|
581
655
|
const fromUserFile = (0, configOptions_1.matchFileSpecs)(this._configOptions, sourceFileUri);
|
582
656
|
const notFoundResult = {
|
@@ -876,7 +950,7 @@ class ImportResolver {
|
|
876
950
|
resolvedPaths.push(uri_1.Uri.empty());
|
877
951
|
isNamespacePackage = true;
|
878
952
|
}
|
879
|
-
implicitImports = this.
|
953
|
+
implicitImports = this.findImplicitImports(importName, dirPath, [pyFilePath, pyiFilePath]);
|
880
954
|
}
|
881
955
|
else {
|
882
956
|
for (let i = 0; i < moduleDescriptor.nameParts.length; i++) {
|
@@ -918,7 +992,7 @@ class ImportResolver {
|
|
918
992
|
// so continue to look for the next part.
|
919
993
|
continue;
|
920
994
|
}
|
921
|
-
implicitImports = this.
|
995
|
+
implicitImports = this.findImplicitImports(moduleDescriptor.nameParts.join('.'), dirPath, [
|
922
996
|
pyFilePath,
|
923
997
|
pyiFilePath,
|
924
998
|
]);
|
@@ -960,7 +1034,7 @@ class ImportResolver {
|
|
960
1034
|
importFailureInfo.push(`Partially resolved import with directory '${dirPath}'`);
|
961
1035
|
resolvedPaths.push(uri_1.Uri.empty());
|
962
1036
|
if (isLastPart) {
|
963
|
-
implicitImports = this.
|
1037
|
+
implicitImports = this.findImplicitImports(importName, dirPath, [pyFilePath, pyiFilePath]);
|
964
1038
|
isNamespacePackage = true;
|
965
1039
|
}
|
966
1040
|
}
|
@@ -1748,79 +1822,6 @@ class ImportResolver {
|
|
1748
1822
|
}
|
1749
1823
|
return true;
|
1750
1824
|
}
|
1751
|
-
_findImplicitImports(importingModuleName, dirPath, exclusions) {
|
1752
|
-
const implicitImportMap = new Map();
|
1753
|
-
// Enumerate all of the files and directories in the path, expanding links.
|
1754
|
-
const entries = (0, uriUtils_1.getFileSystemEntriesFromDirEntries)(this.readdirEntriesCached(dirPath), this.fileSystem, dirPath);
|
1755
|
-
// Add implicit file-based modules.
|
1756
|
-
for (const filePath of entries.files) {
|
1757
|
-
const fileExt = filePath.lastExtension;
|
1758
|
-
let strippedFileName;
|
1759
|
-
let isNativeLib = false;
|
1760
|
-
if (fileExt === '.py' || fileExt === '.pyi') {
|
1761
|
-
strippedFileName = (0, pathUtils_1.stripFileExtension)(filePath.fileName);
|
1762
|
-
}
|
1763
|
-
else if (_isNativeModuleFileExtension(fileExt) &&
|
1764
|
-
!this.fileExistsCached(filePath.packageUri) &&
|
1765
|
-
!this.fileExistsCached(filePath.packageStubUri)) {
|
1766
|
-
// Native module.
|
1767
|
-
strippedFileName = filePath.stripAllExtensions().fileName;
|
1768
|
-
isNativeLib = true;
|
1769
|
-
}
|
1770
|
-
else {
|
1771
|
-
continue;
|
1772
|
-
}
|
1773
|
-
if (!exclusions.find((exclusion) => exclusion.equals(filePath))) {
|
1774
|
-
const implicitImport = {
|
1775
|
-
isStubFile: filePath.hasExtension('.pyi'),
|
1776
|
-
isNativeLib,
|
1777
|
-
name: strippedFileName,
|
1778
|
-
uri: filePath,
|
1779
|
-
};
|
1780
|
-
// Always prefer stub files over non-stub files.
|
1781
|
-
const entry = implicitImportMap.get(implicitImport.name);
|
1782
|
-
if (!entry || !entry.isStubFile) {
|
1783
|
-
// Try resolving resolving native lib to a custom stub.
|
1784
|
-
if (isNativeLib) {
|
1785
|
-
const nativeLibPath = filePath;
|
1786
|
-
const nativeStubPath = this.resolveNativeImportEx(nativeLibPath, `${importingModuleName}.${strippedFileName}`, []);
|
1787
|
-
if (nativeStubPath) {
|
1788
|
-
implicitImport.uri = nativeStubPath;
|
1789
|
-
implicitImport.isNativeLib = false;
|
1790
|
-
}
|
1791
|
-
}
|
1792
|
-
implicitImportMap.set(implicitImport.name, implicitImport);
|
1793
|
-
}
|
1794
|
-
}
|
1795
|
-
}
|
1796
|
-
// Add implicit directory-based modules.
|
1797
|
-
for (const dirPath of entries.directories) {
|
1798
|
-
const pyFilePath = dirPath.initPyUri;
|
1799
|
-
const pyiFilePath = dirPath.initPyiUri;
|
1800
|
-
let isStubFile = false;
|
1801
|
-
let path;
|
1802
|
-
if (this.fileExistsCached(pyiFilePath)) {
|
1803
|
-
isStubFile = true;
|
1804
|
-
path = pyiFilePath;
|
1805
|
-
}
|
1806
|
-
else if (this.fileExistsCached(pyFilePath)) {
|
1807
|
-
path = pyFilePath;
|
1808
|
-
}
|
1809
|
-
if (path) {
|
1810
|
-
if (!exclusions.find((exclusion) => exclusion.equals(path))) {
|
1811
|
-
const implicitImport = {
|
1812
|
-
isStubFile,
|
1813
|
-
isNativeLib: false,
|
1814
|
-
name: dirPath.fileName,
|
1815
|
-
uri: path,
|
1816
|
-
pyTypedInfo: this._getPyTypedInfo(dirPath),
|
1817
|
-
};
|
1818
|
-
implicitImportMap.set(implicitImport.name, implicitImport);
|
1819
|
-
}
|
1820
|
-
}
|
1821
|
-
}
|
1822
|
-
return implicitImportMap;
|
1823
|
-
}
|
1824
1825
|
// Retrieves the pytyped info for a directory if it exists. This is a small perf optimization
|
1825
1826
|
// that allows skipping the search when the pytyped file doesn't exist.
|
1826
1827
|
_getPyTypedInfo(filePath) {
|
@@ -1884,7 +1885,7 @@ class ImportResolver {
|
|
1884
1885
|
_shouldWalkUp(current, root, execEnv) {
|
1885
1886
|
return (current &&
|
1886
1887
|
!current.isEmpty() &&
|
1887
|
-
(current.isChild(root) || (current.equals(root) &&
|
1888
|
+
(current.isChild(root) || (current.equals(root) && isDefaultWorkspace(execEnv.root))));
|
1888
1889
|
}
|
1889
1890
|
}
|
1890
1891
|
exports.ImportResolver = ImportResolver;
|
@@ -1892,7 +1893,7 @@ function formatImportName(moduleDescriptor) {
|
|
1892
1893
|
return '.'.repeat(moduleDescriptor.leadingDots) + moduleDescriptor.nameParts.join('.');
|
1893
1894
|
}
|
1894
1895
|
function getParentImportResolutionRoot(sourceFileUri, executionRoot) {
|
1895
|
-
if (!
|
1896
|
+
if (!isDefaultWorkspace(executionRoot)) {
|
1896
1897
|
return executionRoot;
|
1897
1898
|
}
|
1898
1899
|
return sourceFileUri.getDirectory();
|
@@ -1943,7 +1944,7 @@ function _getModuleNameInfoFromPath(containerPath, fileUri, stripTopContainerDir
|
|
1943
1944
|
function _isNativeModuleFileExtension(fileExtension) {
|
1944
1945
|
return supportedNativeLibExtensions.some((ext) => ext === fileExtension);
|
1945
1946
|
}
|
1946
|
-
function
|
1947
|
+
function isDefaultWorkspace(uri) {
|
1947
1948
|
return !uri || uri.isEmpty() || uri_1.Uri.isDefaultWorkspace(uri);
|
1948
1949
|
}
|
1949
1950
|
//# sourceMappingURL=importResolver.js.map
|