@zzzen/pyright-internal 1.2.0-dev.20231015 → 1.2.0-dev.20231022
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 +6 -13
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +65 -28
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructors.js +3 -4
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/patternMatching.js +4 -0
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/properties.js +6 -2
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +28 -30
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/sourceFile.js +10 -4
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +114 -101
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
- package/dist/analyzer/typeGuards.js +28 -20
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +4 -1
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +9 -1
- package/dist/analyzer/typeUtils.js +51 -46
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +99 -27
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +2 -0
- package/dist/analyzer/types.js +27 -3
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/pathUtils.d.ts +3 -1
- package/dist/common/pathUtils.js +78 -27
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.js +11 -1
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +1 -3
- package/dist/common/serviceProviderExtensions.js +0 -7
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/uriParser.d.ts +10 -1
- package/dist/common/uriParser.js.map +1 -1
- package/dist/languageServerBase.d.ts +0 -2
- package/dist/languageServerBase.js +0 -14
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +6 -2
- package/dist/languageService/hoverProvider.js +33 -65
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.js +1 -0
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +1 -3
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +4 -3
- package/dist/localization/localize.js +1 -1
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +6 -1
- package/dist/localization/package.nls.de.json +6 -1
- package/dist/localization/package.nls.en-us.json +1 -1
- package/dist/localization/package.nls.es.json +6 -1
- package/dist/localization/package.nls.fr.json +6 -1
- package/dist/localization/package.nls.it.json +6 -1
- package/dist/localization/package.nls.ja.json +6 -1
- package/dist/localization/package.nls.ko.json +6 -1
- package/dist/localization/package.nls.pl.json +6 -1
- package/dist/localization/package.nls.pt-br.json +6 -1
- package/dist/localization/package.nls.qps-ploc.json +6 -1
- package/dist/localization/package.nls.ru.json +6 -1
- package/dist/localization/package.nls.tr.json +6 -1
- package/dist/localization/package.nls.zh-cn.json +6 -1
- package/dist/localization/package.nls.zh-tw.json +6 -1
- package/dist/pyrightFileSystem.d.ts +1 -15
- package/dist/pyrightFileSystem.js +1 -57
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.js +4 -0
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +10 -1
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +0 -20
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +10 -2
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +7 -1
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/package.json +1 -1
package/dist/analyzer/checker.js
CHANGED
@@ -2646,12 +2646,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2646
2646
|
}
|
2647
2647
|
break;
|
2648
2648
|
case 3 /* None */:
|
2649
|
-
|
2650
|
-
isSupported = false;
|
2651
|
-
}
|
2652
|
-
else {
|
2653
|
-
isSupported = types_1.TypeBase.isInstantiable(subtype);
|
2654
|
-
}
|
2649
|
+
isSupported = types_1.TypeBase.isInstantiable(subtype);
|
2655
2650
|
break;
|
2656
2651
|
case 5 /* Function */:
|
2657
2652
|
if (!types_1.TypeBase.isInstantiable(subtype) || subtype.isCallableWithTypeArgs) {
|
@@ -3635,8 +3630,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3635
3630
|
}
|
3636
3631
|
newMemberType = this._evaluator.bindFunctionToClassOrObject(classType, newMemberType,
|
3637
3632
|
/* memberClass */ undefined,
|
3638
|
-
/* errorNode */ undefined,
|
3639
|
-
/* recursionCount */ undefined,
|
3640
3633
|
/* treatConstructorAsClassMember */ true);
|
3641
3634
|
if (!newMemberType) {
|
3642
3635
|
return;
|
@@ -3746,10 +3739,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3746
3739
|
if (matchingMroClass && (0, types_1.isInstantiableClass)(matchingMroClass)) {
|
3747
3740
|
const matchingMroObject = types_1.ClassType.cloneAsInstance(matchingMroClass);
|
3748
3741
|
const baseClassMroObject = types_1.ClassType.cloneAsInstance(specializedBaseClassMroClass);
|
3749
|
-
// If the types match exactly, we can shortcut the remainder of the MRO chain.
|
3750
|
-
// if (isTypeSame(matchingMroObject, baseClassMroObject)) {
|
3751
|
-
// break;
|
3752
|
-
// }
|
3753
3742
|
if (!this._evaluator.assignType(matchingMroObject, baseClassMroObject)) {
|
3754
3743
|
const diag = new diagnostic_1.DiagnosticAddendum();
|
3755
3744
|
const baseClassObject = (0, typeUtils_1.convertToInstance)(baseClass);
|
@@ -4086,8 +4075,12 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
4086
4075
|
// false positives.
|
4087
4076
|
const enforceParamNameMatch = !SymbolNameUtils.isDunderName(memberName);
|
4088
4077
|
// Don't check certain magic functions or private symbols.
|
4078
|
+
// Also, skip this check if the class is a TypedDict. The methods for a TypedDict
|
4079
|
+
// are synthesized, and they can result in many overloads. We assume they
|
4080
|
+
// are correct and will not produce any errors.
|
4089
4081
|
if (!exemptMethods.some((exempt) => exempt === memberName) &&
|
4090
|
-
!SymbolNameUtils.isPrivateName(memberName)
|
4082
|
+
!SymbolNameUtils.isPrivateName(memberName) &&
|
4083
|
+
!types_1.ClassType.isTypedDictClass(childClassType)) {
|
4091
4084
|
if (!this._evaluator.validateOverrideMethod(baseType, overrideType, childClassType, diagAddendum, enforceParamNameMatch)) {
|
4092
4085
|
const decl = (0, types_1.isFunction)(overrideType) && overrideType.details.declaration
|
4093
4086
|
? overrideType.details.declaration
|