@zzzen/pyright-internal 1.2.0-dev.20220724 → 1.2.0-dev.20220731
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.js +11 -3
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +4 -1
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/enums.d.ts +13 -0
- package/dist/analyzer/enums.js +207 -0
- package/dist/analyzer/enums.js.map +1 -0
- package/dist/analyzer/importStatementUtils.d.ts +2 -0
- package/dist/analyzer/importStatementUtils.js +49 -1
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +5 -0
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +2 -2
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/properties.js +1 -1
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +158 -219
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeEvaluatorWithTracker.js +1 -0
- package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
- package/dist/analyzer/typeGuards.js +1 -1
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +7 -1
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +0 -1
- package/dist/analyzer/typeUtils.js +2 -17
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.js +10 -1
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/commandResult.js +1 -1
- package/dist/commands/commandResult.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +1 -0
- package/dist/common/workspaceEditUtils.js +10 -6
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +2 -1
- package/dist/languageServerBase.js +2 -1
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/completionProvider.js +0 -1
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.js +12 -0
- package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.init.fourslash.js +2 -2
- package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +5 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +6 -6
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/testState.test.js +1 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +5 -1
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +8 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/workspaceMap.js +1 -1
- package/dist/workspaceMap.js.map +1 -1
- package/package.json +2 -2
package/dist/analyzer/checker.js
CHANGED
@@ -2855,6 +2855,10 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2855
2855
|
if (this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable === 'none') {
|
2856
2856
|
return;
|
2857
2857
|
}
|
2858
|
+
// Protocol classes are exempted from this check.
|
2859
|
+
if (types_1.ClassType.isProtocolClass(classType)) {
|
2860
|
+
return;
|
2861
|
+
}
|
2858
2862
|
classType.details.fields.forEach((localSymbol, name) => {
|
2859
2863
|
// This applies only to instance members.
|
2860
2864
|
if (!localSymbol.isInstanceMember()) {
|
@@ -3519,6 +3523,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3519
3523
|
// Performs checks on a function that is located within a class
|
3520
3524
|
// and has been determined not to be a property accessor.
|
3521
3525
|
_validateMethod(node, functionType, classNode) {
|
3526
|
+
var _a, _b, _c, _d;
|
3522
3527
|
const classTypeInfo = this._evaluator.getTypeOfClass(classNode);
|
3523
3528
|
const classType = classTypeInfo === null || classTypeInfo === void 0 ? void 0 : classTypeInfo.classType;
|
3524
3529
|
if (node.name && classType) {
|
@@ -3531,7 +3536,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3531
3536
|
}
|
3532
3537
|
}
|
3533
3538
|
}
|
3534
|
-
if (node.name
|
3539
|
+
if (((_a = node.name) === null || _a === void 0 ? void 0 : _a.value) === '__new__') {
|
3535
3540
|
// __new__ overrides should have a "cls" parameter.
|
3536
3541
|
if (node.parameters.length === 0 ||
|
3537
3542
|
!node.parameters[0].name ||
|
@@ -3542,7 +3547,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3542
3547
|
this._validateClsSelfParameterType(functionType, classType, /* isCls */ true);
|
3543
3548
|
}
|
3544
3549
|
}
|
3545
|
-
else if (node.name
|
3550
|
+
else if (((_b = node.name) === null || _b === void 0 ? void 0 : _b.value) === '__init_subclass__') {
|
3546
3551
|
// __init_subclass__ overrides should have a "cls" parameter.
|
3547
3552
|
if (node.parameters.length === 0 || !node.parameters[0].name || node.parameters[0].name.value !== 'cls') {
|
3548
3553
|
this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName, diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.Localizer.Diagnostic.initSubclassClsParam(), node.parameters.length > 0 ? node.parameters[0] : node.name);
|
@@ -3551,7 +3556,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3551
3556
|
this._validateClsSelfParameterType(functionType, classType, /* isCls */ true);
|
3552
3557
|
}
|
3553
3558
|
}
|
3554
|
-
else if (node.name
|
3559
|
+
else if (((_c = node.name) === null || _c === void 0 ? void 0 : _c.value) === '__class_getitem__') {
|
3555
3560
|
// __class_getitem__ overrides should have a "cls" parameter.
|
3556
3561
|
if (node.parameters.length === 0 || !node.parameters[0].name || node.parameters[0].name.value !== 'cls') {
|
3557
3562
|
this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName, diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.Localizer.Diagnostic.classGetItemClsParam(), node.parameters.length > 0 ? node.parameters[0] : node.name);
|
@@ -3560,6 +3565,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3560
3565
|
this._validateClsSelfParameterType(functionType, classType, /* isCls */ true);
|
3561
3566
|
}
|
3562
3567
|
}
|
3568
|
+
else if (((_d = node.name) === null || _d === void 0 ? void 0 : _d.value) === '_generate_next_value_') {
|
3569
|
+
// Skip this check for _generate_next_value_.
|
3570
|
+
}
|
3563
3571
|
else if (types_1.FunctionType.isStaticMethod(functionType)) {
|
3564
3572
|
// Static methods should not have "self" or "cls" parameters.
|
3565
3573
|
if (node.parameters.length > 0 && node.parameters[0].name) {
|