@zzzen/pyright-internal 1.2.0-dev.20240526 → 1.2.0-dev.20240602
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/analyzerNodeInfo.d.ts +2 -2
- package/dist/analyzer/binder.d.ts +3 -3
- package/dist/analyzer/binder.js +32 -32
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +3 -3
- package/dist/analyzer/checker.js +35 -35
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +4 -4
- package/dist/analyzer/codeFlowTypes.js +3 -3
- package/dist/analyzer/constructors.js +10 -3
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/declarationUtils.js +3 -3
- package/dist/analyzer/enums.js +6 -6
- package/dist/analyzer/importResolver.d.ts +1 -0
- package/dist/analyzer/importResolver.js +6 -3
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +6 -6
- package/dist/analyzer/namedTuples.js +2 -2
- package/dist/analyzer/operations.js +2 -2
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +94 -94
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.d.ts +5 -5
- package/dist/analyzer/parseTreeWalker.js +64 -64
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.js +1 -1
- package/dist/analyzer/program.d.ts +1 -1
- package/dist/analyzer/program.js +23 -29
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/scope.d.ts +1 -1
- package/dist/analyzer/scope.js +2 -2
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/sourceMapper.js +4 -4
- package/dist/analyzer/staticExpressions.js +3 -3
- package/dist/analyzer/testWalker.js +1 -1
- package/dist/analyzer/tracePrinter.js +4 -4
- package/dist/analyzer/typeDocStringUtils.js +1 -1
- package/dist/analyzer/typeEvaluator.js +290 -311
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +6 -6
- package/dist/analyzer/typeStubWriter.js +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +11 -4
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +1 -2
- package/dist/analyzer/typedDicts.js +5 -17
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.d.ts +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +14 -14
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/textEditTracker.js +5 -5
- package/dist/common/uri/fileUri.js +1 -0
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/uri.d.ts +3 -0
- package/dist/common/uri/uri.js +16 -0
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/languageService/autoImporter.js +4 -4
- package/dist/languageService/callHierarchyProvider.js +1 -1
- package/dist/languageService/completionProvider.js +30 -30
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +7 -7
- package/dist/languageService/hoverProvider.js +2 -2
- package/dist/languageService/importSorter.js +1 -1
- package/dist/languageService/referencesProvider.js +4 -4
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +3 -3
- package/dist/languageService/tooltipUtils.js +2 -2
- package/dist/localization/localize.d.ts +1 -1
- package/dist/localization/localize.js +1 -1
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +3 -1
- package/dist/localization/package.nls.de.json +3 -1
- package/dist/localization/package.nls.en-us.json +1 -1
- package/dist/localization/package.nls.es.json +3 -1
- package/dist/localization/package.nls.fr.json +3 -1
- package/dist/localization/package.nls.it.json +3 -1
- package/dist/localization/package.nls.ja.json +3 -1
- package/dist/localization/package.nls.ko.json +3 -1
- package/dist/localization/package.nls.pl.json +3 -1
- package/dist/localization/package.nls.pt-br.json +3 -1
- package/dist/localization/package.nls.qps-ploc.json +3 -1
- package/dist/localization/package.nls.ru.json +3 -1
- package/dist/localization/package.nls.tr.json +3 -1
- package/dist/localization/package.nls.zh-cn.json +3 -1
- package/dist/localization/package.nls.zh-tw.json +3 -1
- package/dist/parser/parseNodes.d.ts +42 -42
- package/dist/parser/parseNodes.js +69 -69
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.d.ts +1 -1
- package/dist/parser/parser.js +35 -35
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +3 -3
- package/dist/pyright.js.map +1 -1
- package/dist/tests/classDeclaration.test.js +1 -1
- package/dist/tests/importResolver.test.js +16 -0
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +4 -4
- package/dist/tests/parser.test.js +3 -3
- package/dist/tests/typeEvaluator2.test.js +5 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +1 -1
- package/dist/tests/typeEvaluator7.test.js +0 -6
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/uri.test.js +11 -3
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/workspaceFactory.js +16 -14
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
@@ -73,7 +73,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
|
|
73
73
|
: !isPositiveTest;
|
74
74
|
// Look for "X is None", "X is not None", "X == None", and "X != None".
|
75
75
|
// These are commonly-used patterns used in control flow.
|
76
|
-
if (testExpression.rightExpression.nodeType ===
|
76
|
+
if (testExpression.rightExpression.nodeType === 14 /* ParseNodeType.Constant */ &&
|
77
77
|
testExpression.rightExpression.constType === 26 /* KeywordType.None */) {
|
78
78
|
// Allow the LHS to be either a simple expression or an assignment
|
79
79
|
// expression that assigns to a simple name.
|
@@ -86,7 +86,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
|
|
86
86
|
return { type: narrowTypeForIsNone(evaluator, type, adjIsPositiveTest), isIncomplete: false };
|
87
87
|
};
|
88
88
|
}
|
89
|
-
if (leftExpression.nodeType ===
|
89
|
+
if (leftExpression.nodeType === 27 /* ParseNodeType.Index */ &&
|
90
90
|
ParseTreeUtils.isMatchingExpression(reference, leftExpression.baseExpression) &&
|
91
91
|
leftExpression.items.length === 1 &&
|
92
92
|
!leftExpression.trailingComma &&
|
@@ -107,7 +107,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
|
|
107
107
|
}
|
108
108
|
}
|
109
109
|
// Look for "X is ...", "X is not ...", "X == ...", and "X != ...".
|
110
|
-
if (testExpression.rightExpression.nodeType ===
|
110
|
+
if (testExpression.rightExpression.nodeType === 21 /* ParseNodeType.Ellipsis */) {
|
111
111
|
// Allow the LHS to be either a simple expression or an assignment
|
112
112
|
// expression that assigns to a simple name.
|
113
113
|
let leftExpression = testExpression.leftExpression;
|
@@ -172,7 +172,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
|
|
172
172
|
}
|
173
173
|
}
|
174
174
|
// Look for X[<literal>] is <literal> or X[<literal>] is not <literal>.
|
175
|
-
if (testExpression.leftExpression.nodeType ===
|
175
|
+
if (testExpression.leftExpression.nodeType === 27 /* ParseNodeType.Index */ &&
|
176
176
|
testExpression.leftExpression.items.length === 1 &&
|
177
177
|
!testExpression.leftExpression.trailingComma &&
|
178
178
|
testExpression.leftExpression.items[0].argumentCategory === 0 /* ArgumentCategory.Simple */ &&
|
@@ -238,7 +238,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
|
|
238
238
|
}
|
239
239
|
}
|
240
240
|
// Look for X[<literal>] == <literal> or X[<literal>] != <literal>
|
241
|
-
if (testExpression.leftExpression.nodeType ===
|
241
|
+
if (testExpression.leftExpression.nodeType === 27 /* ParseNodeType.Index */ &&
|
242
242
|
testExpression.leftExpression.items.length === 1 &&
|
243
243
|
!testExpression.leftExpression.trailingComma &&
|
244
244
|
testExpression.leftExpression.items[0].argumentCategory === 0 /* ArgumentCategory.Simple */ &&
|
@@ -308,7 +308,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
|
|
308
308
|
// These are commonly-used patterns used in control flow.
|
309
309
|
if (testExpression.leftExpression.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
|
310
310
|
ParseTreeUtils.isMatchingExpression(reference, testExpression.leftExpression.leftExpression) &&
|
311
|
-
testExpression.rightExpression.nodeType ===
|
311
|
+
testExpression.rightExpression.nodeType === 14 /* ParseNodeType.Constant */ &&
|
312
312
|
testExpression.rightExpression.constType === 26 /* KeywordType.None */) {
|
313
313
|
const memberName = testExpression.leftExpression.memberName;
|
314
314
|
return (type) => {
|
@@ -292,7 +292,7 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
292
292
|
if (elseSuite) {
|
293
293
|
this._emitLine('else:');
|
294
294
|
this._emitSuite(() => {
|
295
|
-
if (elseSuite.nodeType ===
|
295
|
+
if (elseSuite.nodeType === 22 /* ParseNodeType.If */) {
|
296
296
|
this.walkMultiple([elseSuite.testExpression, elseSuite.ifSuite, elseSuite.elseSuite]);
|
297
297
|
}
|
298
298
|
else {
|
@@ -166,7 +166,7 @@ export declare function convertToInstance(type: Type, includeSubclasses?: boolea
|
|
166
166
|
export declare function convertToInstantiable(type: Type, includeSubclasses?: boolean): Type;
|
167
167
|
export declare function getMembersForClass(classType: ClassType, symbolTable: SymbolTable, includeInstanceVars: boolean): void;
|
168
168
|
export declare function getMembersForModule(moduleType: ModuleType, symbolTable: SymbolTable): void;
|
169
|
-
export declare function containsAnyRecursive(type: Type): boolean;
|
169
|
+
export declare function containsAnyRecursive(type: Type, includeUnknown?: boolean): boolean;
|
170
170
|
export declare function containsAnyOrUnknown(type: Type, recurse: boolean): AnyType | UnknownType | undefined;
|
171
171
|
export declare function isPartlyUnknown(type: Type, recursionCount?: number): boolean;
|
172
172
|
export declare function explodeGenericClass(classType: ClassType): Type;
|
@@ -2009,18 +2009,25 @@ function getMembersForModule(moduleType, symbolTable) {
|
|
2009
2009
|
}
|
2010
2010
|
exports.getMembersForModule = getMembersForModule;
|
2011
2011
|
// Determines if the type contains an Any recursively.
|
2012
|
-
function containsAnyRecursive(type) {
|
2012
|
+
function containsAnyRecursive(type, includeUnknown = true) {
|
2013
2013
|
class AnyWalker extends typeWalker_1.TypeWalker {
|
2014
|
-
constructor() {
|
2015
|
-
super(
|
2014
|
+
constructor(_includeUnknown) {
|
2015
|
+
super();
|
2016
|
+
this._includeUnknown = _includeUnknown;
|
2016
2017
|
this.foundAny = false;
|
2017
2018
|
}
|
2018
2019
|
visitAny(type) {
|
2019
2020
|
this.foundAny = true;
|
2020
2021
|
this.cancelWalk();
|
2021
2022
|
}
|
2023
|
+
visitUnknown(type) {
|
2024
|
+
if (this._includeUnknown) {
|
2025
|
+
this.foundAny = true;
|
2026
|
+
this.cancelWalk();
|
2027
|
+
}
|
2028
|
+
}
|
2022
2029
|
}
|
2023
|
-
const walker = new AnyWalker();
|
2030
|
+
const walker = new AnyWalker(includeUnknown);
|
2024
2031
|
walker.walk(type);
|
2025
2032
|
return walker.foundAny;
|
2026
2033
|
}
|