@zzzen/pyright-internal 1.2.0-dev.20230115 → 1.2.0-dev.20230122
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.d.ts +0 -1
- package/dist/analyzer/checker.js +15 -38
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +6 -5
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +2 -1
- package/dist/analyzer/importResolver.js +5 -1
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -0
- package/dist/analyzer/parseTreeUtils.js +18 -2
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/program.d.ts +1 -1
- package/dist/analyzer/program.js +5 -1
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/regions.js +8 -12
- package/dist/analyzer/regions.js.map +1 -1
- package/dist/analyzer/service.js +1 -1
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +82 -23
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +0 -1
- package/dist/analyzer/typeGuards.js +3 -1
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +32 -12
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -0
- package/dist/analyzer/typeUtils.js +23 -3
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +1 -1
- package/dist/analyzer/types.js +3 -3
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/envVarUtils.js +30 -7
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +1 -0
- package/dist/languageService/hoverProvider.js +24 -2
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/indentationUtils.js +54 -43
- package/dist/languageService/indentationUtils.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +1 -1
- package/dist/parser/stringTokenUtils.js +1 -1
- package/dist/parser/stringTokenUtils.js.map +1 -1
- package/dist/tests/fourslash/hover.overloadedFunction.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js +23 -0
- package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js.map +1 -0
- package/dist/tests/indentationUtils.test.js +51 -0
- package/dist/tests/indentationUtils.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +10 -0
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +8 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +4 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/package.json +1 -1
@@ -111,7 +111,6 @@ export declare class Checker extends ParseTreeWalker {
|
|
111
111
|
private _validateFunctionReturn;
|
112
112
|
private _validateFinalMemberOverrides;
|
113
113
|
private _reportDuplicateEnumMembers;
|
114
|
-
private _validateInitSubclassArgs;
|
115
114
|
private _validateProtocolCompatibility;
|
116
115
|
private _validateDataClassPostInit;
|
117
116
|
private _validateFinalClassNotAbstract;
|
package/dist/analyzer/checker.js
CHANGED
@@ -215,7 +215,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
215
215
|
this._validateFinalClassNotAbstract(classTypeResult.classType, node);
|
216
216
|
this._validateDataClassPostInit(classTypeResult.classType, node);
|
217
217
|
this._validateProtocolCompatibility(classTypeResult.classType, node);
|
218
|
-
this._validateInitSubclassArgs(classTypeResult.classType, node);
|
219
218
|
this._reportDuplicateEnumMembers(classTypeResult.classType);
|
220
219
|
if (types_1.ClassType.isTypedDictClass(classTypeResult.classType)) {
|
221
220
|
this._validateTypedDictClassSuite(node.suite);
|
@@ -989,7 +988,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
989
988
|
return false;
|
990
989
|
}
|
991
990
|
_getImportResult(node, filePath) {
|
992
|
-
const execEnv = this._importResolver.
|
991
|
+
const execEnv = this._importResolver.getConfigOptions().findExecEnvironment(filePath);
|
993
992
|
const moduleNameNode = node.parent.module;
|
994
993
|
// Handle both absolute and relative imports.
|
995
994
|
const moduleName = moduleNameNode.leadingDots === 0
|
@@ -2501,7 +2500,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2501
2500
|
let errorMessage;
|
2502
2501
|
let deprecatedMessage;
|
2503
2502
|
(0, typeUtils_1.doForEachSubtype)(type, (subtype) => {
|
2504
|
-
var _a, _b, _c;
|
2505
2503
|
if ((0, types_1.isClass)(subtype)) {
|
2506
2504
|
if (!subtype.includeSubclasses &&
|
2507
2505
|
subtype.details.deprecatedMessage !== undefined &&
|
@@ -2521,25 +2519,20 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2521
2519
|
// we can determine which overload(s) were used to satisfy
|
2522
2520
|
// the call expression and determine whether any of them
|
2523
2521
|
// are deprecated.
|
2524
|
-
|
2525
|
-
if (
|
2526
|
-
callTypeResult = this._evaluator.getTypeResult(
|
2527
|
-
|
2528
|
-
|
2529
|
-
|
2530
|
-
|
2531
|
-
|
2532
|
-
|
2533
|
-
|
2534
|
-
|
2535
|
-
|
2536
|
-
|
2537
|
-
|
2538
|
-
if (overload.details.deprecatedMessage !== undefined && node.value === overload.details.name) {
|
2539
|
-
deprecatedMessage = overload.details.deprecatedMessage;
|
2540
|
-
errorMessage = localize_1.Localizer.Diagnostic.deprecatedFunction();
|
2541
|
-
}
|
2542
|
-
});
|
2522
|
+
const callNode = ParseTreeUtils.getCallForName(node);
|
2523
|
+
if (callNode) {
|
2524
|
+
const callTypeResult = this._evaluator.getTypeResult(callNode);
|
2525
|
+
if (callTypeResult &&
|
2526
|
+
callTypeResult.overloadsUsedForCall &&
|
2527
|
+
callTypeResult.overloadsUsedForCall.length > 0) {
|
2528
|
+
callTypeResult.overloadsUsedForCall.forEach((overload) => {
|
2529
|
+
if (overload.details.deprecatedMessage !== undefined &&
|
2530
|
+
node.value === overload.details.name) {
|
2531
|
+
deprecatedMessage = overload.details.deprecatedMessage;
|
2532
|
+
errorMessage = localize_1.Localizer.Diagnostic.deprecatedFunction();
|
2533
|
+
}
|
2534
|
+
});
|
2535
|
+
}
|
2543
2536
|
}
|
2544
2537
|
}
|
2545
2538
|
});
|
@@ -2999,22 +2992,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2999
2992
|
}
|
3000
2993
|
});
|
3001
2994
|
}
|
3002
|
-
_validateInitSubclassArgs(classType, node) {
|
3003
|
-
const argList = [];
|
3004
|
-
// Collect arguments that will be passed to the `__init_subclass__`
|
3005
|
-
// method described in PEP 487.
|
3006
|
-
node.arguments.forEach((arg) => {
|
3007
|
-
if (arg.name && arg.name.value !== 'metaclass') {
|
3008
|
-
argList.push({
|
3009
|
-
argumentCategory: 0 /* Simple */,
|
3010
|
-
node: arg,
|
3011
|
-
name: arg.name,
|
3012
|
-
valueExpression: arg.valueExpression,
|
3013
|
-
});
|
3014
|
-
}
|
3015
|
-
});
|
3016
|
-
this._evaluator.validateInitSubclassArgs(node, classType, argList);
|
3017
|
-
}
|
3018
2995
|
// If a non-protocol class explicitly inherits from a protocol class, this method
|
3019
2996
|
// verifies that any class or instance variables declared but not assigned
|
3020
2997
|
// in the protocol class are implemented in the subclass. It also checks that any
|