@zzzen/pyright-internal 1.2.0-dev.20230924 → 1.2.0-dev.20231008
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 +3 -1
- package/dist/analyzer/checker.js +59 -18
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +17 -3
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/decorators.d.ts +6 -1
- package/dist/analyzer/decorators.js +34 -24
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/operations.js +4 -2
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -0
- package/dist/analyzer/parseTreeUtils.js +21 -2
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +47 -16
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +2 -3
- package/dist/analyzer/program.js +6 -6
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +4 -0
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +7 -1
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/scopeUtils.js +3 -2
- package/dist/analyzer/scopeUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +4 -4
- package/dist/analyzer/service.js +4 -18
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +3 -1
- package/dist/analyzer/sourceFile.js +9 -5
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.d.ts +2 -1
- package/dist/analyzer/typeEvaluator.js +211 -233
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +7 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -1
- package/dist/analyzer/typeGuards.js +55 -43
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -0
- package/dist/analyzer/typeUtils.js +22 -3
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +2 -1
- package/dist/analyzer/types.js +9 -3
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.js +0 -22
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +4 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +1 -0
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/extensibility.d.ts +26 -28
- package/dist/common/extensibility.js +6 -97
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/pathUtils.d.ts +3 -0
- package/dist/common/pathUtils.js +13 -8
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/pythonVersion.d.ts +1 -1
- package/dist/common/pythonVersion.js +1 -1
- package/dist/common/realFileSystem.js +9 -16
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.d.ts +22 -3
- package/dist/common/serviceProvider.js +89 -9
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +5 -1
- package/dist/common/serviceProviderExtensions.js +5 -2
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/languageServerBase.d.ts +2 -0
- package/dist/languageServerBase.js +28 -4
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +0 -1
- package/dist/languageService/callHierarchyProvider.js +33 -16
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +3 -2
- package/dist/languageService/definitionProvider.js +13 -11
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +5 -2
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +32 -23
- package/dist/languageService/documentSymbolCollector.js +171 -266
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.js +5 -9
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +6 -6
- package/dist/languageService/referencesProvider.js +23 -8
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.js +3 -3
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +29 -1
- package/dist/localization/localize.js +11 -1
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +8 -1
- package/dist/localization/package.nls.de.json +8 -1
- package/dist/localization/package.nls.en-us.json +11 -1
- package/dist/localization/package.nls.es.json +8 -1
- package/dist/localization/package.nls.fr.json +8 -1
- package/dist/localization/package.nls.it.json +8 -1
- package/dist/localization/package.nls.ja.json +8 -1
- package/dist/localization/package.nls.ko.json +8 -1
- package/dist/localization/package.nls.pl.json +8 -1
- package/dist/localization/package.nls.pt-br.json +8 -1
- package/dist/localization/package.nls.qps-ploc.json +8 -1
- package/dist/localization/package.nls.ru.json +8 -1
- package/dist/localization/package.nls.tr.json +8 -1
- package/dist/localization/package.nls.zh-cn.json +8 -1
- package/dist/localization/package.nls.zh-tw.json +8 -1
- package/dist/parser/stringTokenUtils.js +9 -5
- package/dist/parser/stringTokenUtils.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +1 -0
- package/dist/parser/tokenizer.js +5 -5
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/tests/checker.test.js +8 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +8 -363
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/importResolver.test.js +654 -481
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +39 -1
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +2 -1
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +3 -0
- package/dist/tests/testStateUtils.js +25 -1
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator2.test.js +12 -6
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +14 -4
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +9 -8
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +4 -2
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +2 -1
- package/dist/workspaceFactory.js +3 -1
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +3 -2
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.d.ts +0 -1
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js +0 -40
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js.map +0 -1
@@ -103,7 +103,9 @@ export declare class Checker extends ParseTreeWalker {
|
|
103
103
|
private _validateIsInstanceCall;
|
104
104
|
private _isTypeSupportedTypeForIsInstance;
|
105
105
|
private _isSymbolPrivate;
|
106
|
-
private
|
106
|
+
private _reportDeprecatedUseForMemberAccess;
|
107
|
+
private _reportDeprecatedUseForType;
|
108
|
+
private _reportDeprecatedDiagnostic;
|
107
109
|
private _reportUnboundName;
|
108
110
|
private _conditionallyReportShadowedModule;
|
109
111
|
private _conditionallyReportShadowedImport;
|
package/dist/analyzer/checker.js
CHANGED
@@ -892,7 +892,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
892
892
|
}
|
893
893
|
// Report the use of a deprecated symbol.
|
894
894
|
const type = this._evaluator.getType(node);
|
895
|
-
this.
|
895
|
+
this._reportDeprecatedUseForType(node, type);
|
896
896
|
return true;
|
897
897
|
}
|
898
898
|
visitDel(node) {
|
@@ -903,9 +903,14 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
903
903
|
return false;
|
904
904
|
}
|
905
905
|
visitMemberAccess(node) {
|
906
|
-
|
906
|
+
var _a;
|
907
|
+
const typeResult = this._evaluator.getTypeResult(node);
|
908
|
+
const type = (_a = typeResult === null || typeResult === void 0 ? void 0 : typeResult.type) !== null && _a !== void 0 ? _a : types_1.UnknownType.create();
|
907
909
|
const leftExprType = this._evaluator.getType(node.leftExpression);
|
908
|
-
this.
|
910
|
+
this._reportDeprecatedUseForType(node.memberName, type, leftExprType && (0, types_1.isModule)(leftExprType) && leftExprType.moduleName === 'typing');
|
911
|
+
if (typeResult === null || typeResult === void 0 ? void 0 : typeResult.memberAccessDeprecationInfo) {
|
912
|
+
this._reportDeprecatedUseForMemberAccess(node.memberName, typeResult.memberAccessDeprecationInfo);
|
913
|
+
}
|
909
914
|
this._conditionallyReportPrivateUsage(node.memberName);
|
910
915
|
// Walk the leftExpression but not the memberName.
|
911
916
|
this.walk(node.leftExpression);
|
@@ -977,7 +982,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
977
982
|
}
|
978
983
|
}
|
979
984
|
const type = this._evaluator.getType((_b = node.alias) !== null && _b !== void 0 ? _b : node.name);
|
980
|
-
this.
|
985
|
+
this._reportDeprecatedUseForType(node.name, type, isImportFromTyping);
|
981
986
|
return false;
|
982
987
|
}
|
983
988
|
visitModuleName(node) {
|
@@ -1919,7 +1924,10 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
1919
1924
|
for (const paramList of this._typeParameterLists) {
|
1920
1925
|
for (const param of paramList.parameters) {
|
1921
1926
|
const symbol = AnalyzerNodeInfo.getTypeParameterSymbol(param.name);
|
1922
|
-
|
1927
|
+
if (!symbol) {
|
1928
|
+
// This can happen if the code is unreachable.
|
1929
|
+
return;
|
1930
|
+
}
|
1923
1931
|
if (!accessedSymbolSet.has(symbol.id)) {
|
1924
1932
|
const decls = symbol.getDeclarations();
|
1925
1933
|
decls.forEach((decl) => {
|
@@ -2538,7 +2546,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2538
2546
|
const filterType = (varType) => {
|
2539
2547
|
const filteredTypes = [];
|
2540
2548
|
for (const filterType of classTypeList) {
|
2541
|
-
const filterIsSuperclass = (0, typeGuards_1.isIsinstanceFilterSuperclass)(this._evaluator, varType, filterType, filterType, isInstanceCheck);
|
2549
|
+
const filterIsSuperclass = (0, typeGuards_1.isIsinstanceFilterSuperclass)(this._evaluator, varType, varType, filterType, filterType, isInstanceCheck);
|
2542
2550
|
const filterIsSubclass = (0, typeGuards_1.isIsinstanceFilterSubclass)(this._evaluator, varType, filterType, isInstanceCheck);
|
2543
2551
|
// Normally, a class should never be both a subclass and a
|
2544
2552
|
// superclass. However, this can happen if one of the classes
|
@@ -2645,7 +2653,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2645
2653
|
}
|
2646
2654
|
break;
|
2647
2655
|
case 5 /* Function */:
|
2648
|
-
|
2656
|
+
if (!types_1.TypeBase.isInstantiable(subtype) || subtype.isCallableWithTypeArgs) {
|
2657
|
+
isSupported = false;
|
2658
|
+
}
|
2649
2659
|
break;
|
2650
2660
|
case 9 /* Union */:
|
2651
2661
|
isSupported = this._isTypeSupportedTypeForIsInstance(subtype, isInstanceCheck);
|
@@ -2674,7 +2684,35 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2674
2684
|
}
|
2675
2685
|
return false;
|
2676
2686
|
}
|
2677
|
-
|
2687
|
+
_reportDeprecatedUseForMemberAccess(node, info) {
|
2688
|
+
let errorMessage;
|
2689
|
+
if (info.accessType === 'property') {
|
2690
|
+
if (info.accessMethod === 'get') {
|
2691
|
+
errorMessage = localize_1.Localizer.Diagnostic.deprecatedPropertyGetter().format({ name: node.value });
|
2692
|
+
}
|
2693
|
+
else if (info.accessMethod === 'set') {
|
2694
|
+
errorMessage = localize_1.Localizer.Diagnostic.deprecatedPropertySetter().format({ name: node.value });
|
2695
|
+
}
|
2696
|
+
else {
|
2697
|
+
errorMessage = localize_1.Localizer.Diagnostic.deprecatedPropertyDeleter().format({ name: node.value });
|
2698
|
+
}
|
2699
|
+
}
|
2700
|
+
else if (info.accessType === 'descriptor') {
|
2701
|
+
if (info.accessMethod === 'get') {
|
2702
|
+
errorMessage = localize_1.Localizer.Diagnostic.deprecatedDescriptorGetter().format({ name: node.value });
|
2703
|
+
}
|
2704
|
+
else if (info.accessMethod === 'set') {
|
2705
|
+
errorMessage = localize_1.Localizer.Diagnostic.deprecatedDescriptorSetter().format({ name: node.value });
|
2706
|
+
}
|
2707
|
+
else {
|
2708
|
+
errorMessage = localize_1.Localizer.Diagnostic.deprecatedDescriptorDeleter().format({ name: node.value });
|
2709
|
+
}
|
2710
|
+
}
|
2711
|
+
if (errorMessage) {
|
2712
|
+
this._reportDeprecatedDiagnostic(node, errorMessage, info.deprecationMessage);
|
2713
|
+
}
|
2714
|
+
}
|
2715
|
+
_reportDeprecatedUseForType(node, type, isImportFromTyping = false) {
|
2678
2716
|
var _a, _b;
|
2679
2717
|
if (!type) {
|
2680
2718
|
return;
|
@@ -2762,16 +2800,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2762
2800
|
}
|
2763
2801
|
});
|
2764
2802
|
if (errorMessage) {
|
2765
|
-
|
2766
|
-
if (deprecatedMessage) {
|
2767
|
-
diag.addMessage(deprecatedMessage);
|
2768
|
-
}
|
2769
|
-
if (this._fileInfo.diagnosticRuleSet.reportDeprecated === 'none') {
|
2770
|
-
this._evaluator.addDeprecated(errorMessage + diag.getString(), node);
|
2771
|
-
}
|
2772
|
-
else {
|
2773
|
-
this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDeprecated, diagnosticRules_1.DiagnosticRule.reportDeprecated, errorMessage + diag.getString(), node);
|
2774
|
-
}
|
2803
|
+
this._reportDeprecatedDiagnostic(node, errorMessage, deprecatedMessage);
|
2775
2804
|
}
|
2776
2805
|
if (this._fileInfo.diagnosticRuleSet.deprecateTypingAliases) {
|
2777
2806
|
const deprecatedForm = (_a = deprecatedSymbols_1.deprecatedAliases.get(node.value)) !== null && _a !== void 0 ? _a : deprecatedSymbols_1.deprecatedSpecialForms.get(node.value);
|
@@ -2798,6 +2827,18 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2798
2827
|
}
|
2799
2828
|
}
|
2800
2829
|
}
|
2830
|
+
_reportDeprecatedDiagnostic(node, diagnosticMessage, deprecatedMessage) {
|
2831
|
+
const diag = new diagnostic_1.DiagnosticAddendum();
|
2832
|
+
if (deprecatedMessage) {
|
2833
|
+
diag.addMessage(deprecatedMessage);
|
2834
|
+
}
|
2835
|
+
if (this._fileInfo.diagnosticRuleSet.reportDeprecated === 'none') {
|
2836
|
+
this._evaluator.addDeprecated(diagnosticMessage + diag.getString(), node);
|
2837
|
+
}
|
2838
|
+
else {
|
2839
|
+
this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDeprecated, diagnosticRules_1.DiagnosticRule.reportDeprecated, diagnosticMessage + diag.getString(), node);
|
2840
|
+
}
|
2841
|
+
}
|
2801
2842
|
_reportUnboundName(node) {
|
2802
2843
|
if (this._fileInfo.diagnosticRuleSet.reportUnboundVariable === 'none') {
|
2803
2844
|
return;
|