@zzzen/pyright-internal 1.2.0-dev.20240505 → 1.2.0-dev.20240519
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/analyzerFileInfo.js +3 -2
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/binder.js +6 -0
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +21 -7
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +23 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +7 -16
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +29 -24
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +1 -0
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/deprecatedSymbols.js +1 -0
- package/dist/analyzer/deprecatedSymbols.js.map +1 -1
- package/dist/analyzer/enums.d.ts +2 -5
- package/dist/analyzer/enums.js +97 -40
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/operations.js +11 -1
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/patternMatching.js +1 -1
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/properties.js +3 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/scope.d.ts +4 -0
- package/dist/analyzer/scope.js +6 -1
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/sourceFile.js +13 -5
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +119 -159
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +56 -26
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +11 -78
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +0 -1
- package/dist/analyzer/types.js +5 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/pythonVersion.d.ts +1 -0
- package/dist/common/pythonVersion.js +2 -1
- package/dist/common/pythonVersion.js.map +1 -1
- package/dist/localization/localize.d.ts +6 -6
- package/dist/localization/localize.js +2 -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 +3 -3
- 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 +1 -3
- 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/parser/parser.js +4 -3
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizerTypes.d.ts +1 -0
- package/dist/parser/tokenizerTypes.js +4 -0
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/tests/completions.test.js +2 -2
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +8 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +4 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +6 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +1 -1
- package/dist/tests/typeEvaluator7.test.js +1 -5
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +4 -0
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/package.json +1 -1
package/dist/analyzer/checker.js
CHANGED
@@ -1202,14 +1202,14 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
1202
1202
|
}
|
1203
1203
|
const exprTypeResult = this._evaluator.getTypeOfExpression(expression);
|
1204
1204
|
let isExprFunction = true;
|
1205
|
-
let isCoroutine =
|
1205
|
+
let isCoroutine = true;
|
1206
1206
|
(0, typeUtils_1.doForEachSubtype)(exprTypeResult.type, (subtype) => {
|
1207
1207
|
subtype = this._evaluator.makeTopLevelTypeVarsConcrete(subtype);
|
1208
1208
|
if (!(0, types_1.isFunction)(subtype) && !(0, types_1.isOverloadedFunction)(subtype)) {
|
1209
1209
|
isExprFunction = false;
|
1210
1210
|
}
|
1211
|
-
if ((0, types_1.isClassInstance)(subtype)
|
1212
|
-
isCoroutine =
|
1211
|
+
if (!(0, types_1.isClassInstance)(subtype) || !types_1.ClassType.isBuiltIn(subtype, 'Coroutine')) {
|
1212
|
+
isCoroutine = false;
|
1213
1213
|
}
|
1214
1214
|
});
|
1215
1215
|
if (isExprFunction) {
|
@@ -1681,6 +1681,15 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
1681
1681
|
exemptBoundTypeVar = false;
|
1682
1682
|
nameWalker.walk(node.returnTypeAnnotation);
|
1683
1683
|
}
|
1684
|
+
if (node.functionAnnotationComment) {
|
1685
|
+
node.functionAnnotationComment.paramTypeAnnotations.forEach((expr) => {
|
1686
|
+
nameWalker.walk(expr);
|
1687
|
+
});
|
1688
|
+
if (node.functionAnnotationComment.returnTypeAnnotation) {
|
1689
|
+
exemptBoundTypeVar = false;
|
1690
|
+
nameWalker.walk(node.functionAnnotationComment.returnTypeAnnotation);
|
1691
|
+
}
|
1692
|
+
}
|
1684
1693
|
localTypeVarUsage.forEach((usage) => {
|
1685
1694
|
var _a;
|
1686
1695
|
// Report error for local type variable that appears only once.
|
@@ -3194,7 +3203,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3194
3203
|
}
|
3195
3204
|
}
|
3196
3205
|
_conditionallyReportPrivateUsage(node) {
|
3197
|
-
var _a;
|
3206
|
+
var _a, _b;
|
3198
3207
|
if (this._fileInfo.diagnosticRuleSet.reportPrivateUsage === 'none') {
|
3199
3208
|
return;
|
3200
3209
|
}
|
@@ -3214,7 +3223,11 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3214
3223
|
if (!isPrivateName && !isProtectedName) {
|
3215
3224
|
return;
|
3216
3225
|
}
|
3217
|
-
|
3226
|
+
// Get the declarations for this name node, but filter out
|
3227
|
+
// any variable declarations that are bound using nonlocal
|
3228
|
+
// or global explicit bindings.
|
3229
|
+
const declarations = (_b = this._evaluator
|
3230
|
+
.getDeclarationsForNameNode(node)) === null || _b === void 0 ? void 0 : _b.filter((decl) => decl.type !== 1 /* DeclarationType.Variable */ || !decl.isExplicitBinding);
|
3218
3231
|
let primaryDeclaration = declarations && declarations.length > 0 ? declarations[declarations.length - 1] : undefined;
|
3219
3232
|
if (!primaryDeclaration || primaryDeclaration.node === node) {
|
3220
3233
|
return;
|
@@ -3531,9 +3544,10 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3531
3544
|
if (symbol.getTypedDeclarations().length > 0) {
|
3532
3545
|
return;
|
3533
3546
|
}
|
3534
|
-
const symbolType = this._evaluator
|
3547
|
+
const symbolType = (0, enums_1.transformTypeForEnumMember)(this._evaluator, classType, name);
|
3535
3548
|
// Is this symbol a literal instance of the enum class?
|
3536
|
-
if (!
|
3549
|
+
if (!symbolType ||
|
3550
|
+
!(0, types_1.isClassInstance)(symbolType) ||
|
3537
3551
|
!types_1.ClassType.isSameGenericClass(symbolType, classType) ||
|
3538
3552
|
!(symbolType.literalValue instanceof types_1.EnumLiteral)) {
|
3539
3553
|
return;
|