@zzzen/pyright-internal 1.2.0-dev.20240307 → 1.2.0-dev.20240317
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/backgroundAnalysisProgram.d.ts +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +58 -55
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +3 -4
- package/dist/analyzer/codeFlowEngine.js +20 -13
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +2 -1
- package/dist/analyzer/importStatementUtils.js +6 -1
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/operations.js +25 -10
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +2 -0
- package/dist/analyzer/parseTreeUtils.js +31 -5
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +16 -12
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/service.d.ts +6 -1
- package/dist/analyzer/service.js +8 -5
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.js +3 -3
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +242 -101
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +6 -1
- package/dist/analyzer/typeGuards.js +15 -16
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +13 -14
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +2 -1
- package/dist/analyzer/types.js +1 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +4 -1
- package/dist/backgroundThreadBase.js +14 -1
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +5 -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/logTracker.d.ts +5 -5
- package/dist/common/logTracker.js +7 -6
- package/dist/common/logTracker.js.map +1 -1
- package/dist/languageServerBase.d.ts +2 -2
- package/dist/languageServerBase.js +1 -8
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +4 -1
- package/dist/languageService/completionProvider.js +19 -19
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +4 -0
- package/dist/localization/localize.js +1 -8
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +19 -9
- package/dist/localization/package.nls.de.json +19 -9
- package/dist/localization/package.nls.en-us.json +1 -0
- package/dist/localization/package.nls.es.json +19 -9
- package/dist/localization/package.nls.fr.json +21 -11
- package/dist/localization/package.nls.it.json +16 -6
- package/dist/localization/package.nls.ja.json +19 -9
- package/dist/localization/package.nls.ko.json +19 -9
- package/dist/localization/package.nls.pl.json +19 -9
- package/dist/localization/package.nls.pt-br.json +19 -9
- package/dist/localization/package.nls.qps-ploc.json +19 -9
- package/dist/localization/package.nls.ru.json +18 -8
- package/dist/localization/package.nls.tr.json +19 -9
- package/dist/localization/package.nls.zh-cn.json +16 -6
- package/dist/localization/package.nls.zh-tw.json +19 -9
- package/dist/parser/parser.js +1 -1
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/stringTokenUtils.js +12 -12
- package/dist/parser/stringTokenUtils.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +0 -1
- package/dist/parser/tokenizer.js +41 -41
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.d.ts +1 -2
- package/dist/parser/tokenizerTypes.js +0 -1
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/tests/fourslash/completions.override2.fourslash.js +1 -1
- package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.js +22 -0
- package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.js.map +1 -0
- package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.js +20 -0
- package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.js.map +1 -0
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +2 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +2 -2
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +27 -2
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/tokenizer.test.js +22 -0
- package/dist/tests/tokenizer.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 +1 -1
- package/dist/tests/typeEvaluator3.test.js +1 -1
- package/dist/tests/typeEvaluator4.test.js +2 -2
- package/dist/tests/typeEvaluator5.test.js +9 -7
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/package.json +1 -1
@@ -49,7 +49,7 @@ export declare class BackgroundAnalysisProgram {
|
|
49
49
|
setCompletionCallback(callback?: AnalysisCompleteCallback): void;
|
50
50
|
startAnalysis(token: CancellationToken): boolean;
|
51
51
|
analyzeFile(fileUri: Uri, token: CancellationToken): Promise<boolean>;
|
52
|
-
libraryUpdated():
|
52
|
+
libraryUpdated(): boolean;
|
53
53
|
getDiagnosticsForRange(fileUri: Uri, range: Range, token: CancellationToken): Promise<Diagnostic[]>;
|
54
54
|
writeTypeStub(targetImportUri: Uri, targetIsSingleFile: boolean, stubUri: Uri, token: CancellationToken): Promise<any>;
|
55
55
|
invalidateAndForceReanalysis(reason: InvalidatedReason): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
|
@@ -93,6 +93,7 @@ export declare class Checker extends ParseTreeWalker {
|
|
93
93
|
private _isLegalOverloadImplementation;
|
94
94
|
private _walkStatementsAndReportUnreachable;
|
95
95
|
private _validateStubStatement;
|
96
|
+
private _validateExceptionTypeRecursive;
|
96
97
|
private _validateExceptionType;
|
97
98
|
private _reportUnusedDunderAllSymbols;
|
98
99
|
private _validateSymbolTables;
|
package/dist/analyzer/checker.js
CHANGED
@@ -1094,7 +1094,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
1094
1094
|
// Handle both absolute and relative imports.
|
1095
1095
|
const moduleName = moduleNameNode.leadingDots === 0
|
1096
1096
|
? this._importResolver.getModuleNameForImport(uri, execEnv).moduleName
|
1097
|
-
: (0, importStatementUtils_1.getRelativeModuleName)(this._importResolver.fileSystem, this._fileInfo.fileUri, uri);
|
1097
|
+
: (0, importStatementUtils_1.getRelativeModuleName)(this._importResolver.fileSystem, this._fileInfo.fileUri, uri, this._importResolver.getConfigOptions());
|
1098
1098
|
if (!moduleName) {
|
1099
1099
|
return undefined;
|
1100
1100
|
}
|
@@ -1121,7 +1121,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
1121
1121
|
}
|
1122
1122
|
let isTypeBool = true;
|
1123
1123
|
const diag = new diagnostic_1.DiagnosticAddendum();
|
1124
|
-
this._evaluator.mapSubtypesExpandTypeVars(operandType, /*
|
1124
|
+
this._evaluator.mapSubtypesExpandTypeVars(operandType, /* options */ undefined, (expandedSubtype) => {
|
1125
1125
|
if ((0, types_1.isAnyOrUnknown)(expandedSubtype)) {
|
1126
1126
|
return undefined;
|
1127
1127
|
}
|
@@ -1556,7 +1556,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
1556
1556
|
// other types, and ParamSpecs. There are legitimate uses for singleton
|
1557
1557
|
// instances in these particular cases.
|
1558
1558
|
let isExempt = nameType.details.constraints.length > 0 ||
|
1559
|
-
|
1559
|
+
nameType.details.isDefaultExplicit ||
|
1560
1560
|
(exemptBoundTypeVar && subscriptIndex !== undefined) ||
|
1561
1561
|
(0, types_1.isParamSpec)(nameType);
|
1562
1562
|
if (!isExempt && baseExpression && subscriptIndex !== undefined) {
|
@@ -1604,7 +1604,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
1604
1604
|
if (constructorClass && nameType.scopeId === constructorClass.details.typeVarScopeId) {
|
1605
1605
|
const existingEntry = classTypeVarUsage.get(nameType.details.name);
|
1606
1606
|
const isParamTypeWithEllipsisUsage = ((_d = curParamNode === null || curParamNode === void 0 ? void 0 : curParamNode.defaultValue) === null || _d === void 0 ? void 0 : _d.nodeType) === 18 /* ParseNodeType.Ellipsis */;
|
1607
|
-
const isExempt = !!nameType.details.
|
1607
|
+
const isExempt = !!nameType.details.isDefaultExplicit;
|
1608
1608
|
if (!existingEntry) {
|
1609
1609
|
classTypeVarUsage.set(nameType.details.name, {
|
1610
1610
|
typeVar: nameType,
|
@@ -1935,57 +1935,48 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
1935
1935
|
}
|
1936
1936
|
}
|
1937
1937
|
}
|
1938
|
-
|
1939
|
-
var _a, _b;
|
1940
|
-
const baseExceptionType = this._evaluator.getBuiltInType(errorNode, 'BaseException');
|
1938
|
+
_validateExceptionTypeRecursive(exceptionType, diag, baseExceptionType, allowTuple) {
|
1941
1939
|
const derivesFromBaseException = (classType) => {
|
1942
1940
|
if (!baseExceptionType || !(0, types_1.isInstantiableClass)(baseExceptionType)) {
|
1943
1941
|
return true;
|
1944
1942
|
}
|
1945
1943
|
return (0, typeUtils_1.derivesFromClassRecursive)(classType, baseExceptionType, /* ignoreUnknown */ false);
|
1946
1944
|
};
|
1947
|
-
|
1948
|
-
|
1949
|
-
|
1950
|
-
resultingExceptionType = exceptionType;
|
1951
|
-
}
|
1952
|
-
else {
|
1953
|
-
if ((0, types_1.isInstantiableClass)(exceptionType)) {
|
1954
|
-
if (!derivesFromBaseException(exceptionType)) {
|
1955
|
-
diagAddendum.addMessage(localize_1.LocMessage.exceptionTypeIncorrect().format({
|
1956
|
-
type: this._evaluator.printType(exceptionType),
|
1957
|
-
}));
|
1958
|
-
}
|
1959
|
-
resultingExceptionType = types_1.ClassType.cloneAsInstance(exceptionType);
|
1945
|
+
(0, typeUtils_1.doForEachSubtype)(exceptionType, (exceptionSubtype) => {
|
1946
|
+
if ((0, types_1.isAnyOrUnknown)(exceptionSubtype)) {
|
1947
|
+
return;
|
1960
1948
|
}
|
1961
|
-
|
1962
|
-
|
1963
|
-
|
1964
|
-
|
1965
|
-
|
1966
|
-
|
1967
|
-
}
|
1968
|
-
if ((0, types_1.isInstantiableClass)(subtype)) {
|
1969
|
-
if (!derivesFromBaseException(subtype)) {
|
1970
|
-
diagAddendum.addMessage(localize_1.LocMessage.exceptionTypeIncorrect().format({
|
1971
|
-
type: this._evaluator.printType(exceptionType),
|
1972
|
-
}));
|
1973
|
-
}
|
1974
|
-
return types_1.ClassType.cloneAsInstance(subtype);
|
1949
|
+
if ((0, types_1.isClass)(exceptionSubtype)) {
|
1950
|
+
if (types_1.TypeBase.isInstantiable(exceptionSubtype)) {
|
1951
|
+
if (!derivesFromBaseException(exceptionSubtype)) {
|
1952
|
+
diag.addMessage(localize_1.LocMessage.exceptionTypeIncorrect().format({
|
1953
|
+
type: this._evaluator.printType(exceptionSubtype),
|
1954
|
+
}));
|
1975
1955
|
}
|
1976
|
-
|
1977
|
-
|
1978
|
-
|
1979
|
-
|
1980
|
-
|
1956
|
+
return;
|
1957
|
+
}
|
1958
|
+
if (allowTuple && exceptionSubtype.tupleTypeArguments) {
|
1959
|
+
exceptionSubtype.tupleTypeArguments.forEach((typeArg) => {
|
1960
|
+
this._validateExceptionTypeRecursive(typeArg.type, diag, baseExceptionType,
|
1961
|
+
/* allowTuple */ false);
|
1962
|
+
});
|
1963
|
+
return;
|
1964
|
+
}
|
1965
|
+
diag.addMessage(localize_1.LocMessage.exceptionTypeIncorrect().format({
|
1966
|
+
type: this._evaluator.printType(exceptionSubtype),
|
1967
|
+
}));
|
1981
1968
|
}
|
1982
|
-
}
|
1969
|
+
});
|
1970
|
+
}
|
1971
|
+
_validateExceptionType(exceptionType, errorNode) {
|
1972
|
+
const baseExceptionType = this._evaluator.getBuiltInType(errorNode, 'BaseException');
|
1973
|
+
const diagAddendum = new diagnostic_1.DiagnosticAddendum();
|
1974
|
+
this._validateExceptionTypeRecursive(exceptionType, diagAddendum, baseExceptionType, /* allowTuple */ true);
|
1983
1975
|
if (!diagAddendum.isEmpty()) {
|
1984
1976
|
this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.exceptionTypeNotClass().format({
|
1985
1977
|
type: this._evaluator.printType(exceptionType),
|
1986
1978
|
}), errorNode);
|
1987
1979
|
}
|
1988
|
-
return resultingExceptionType || types_1.UnknownType.create();
|
1989
1980
|
}
|
1990
1981
|
_reportUnusedDunderAllSymbols(nodes) {
|
1991
1982
|
// If this rule is disabled, don't bother doing the work.
|
@@ -2122,23 +2113,33 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
2122
2113
|
let sawFinal = false;
|
2123
2114
|
let sawAssignment = false;
|
2124
2115
|
decls.forEach((decl) => {
|
2116
|
+
var _a;
|
2125
2117
|
if (this._evaluator.isFinalVariableDeclaration(decl)) {
|
2126
2118
|
if (sawFinal) {
|
2127
2119
|
this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.finalRedeclaration().format({ name }), decl.node);
|
2128
2120
|
}
|
2129
2121
|
sawFinal = true;
|
2130
2122
|
}
|
2131
|
-
|
2132
|
-
|
2133
|
-
|
2134
|
-
|
2135
|
-
|
2136
|
-
|
2137
|
-
|
2138
|
-
|
2123
|
+
let reportRedeclaration = false;
|
2124
|
+
if (decl.type === 1 /* DeclarationType.Variable */) {
|
2125
|
+
if (decl.inferredTypeSource) {
|
2126
|
+
if (sawAssignment) {
|
2127
|
+
// We check for assignment of Final instance and class variables
|
2128
|
+
// the type evaluator because we need to take into account whether
|
2129
|
+
// the assignment is within an `__init__` method, so ignore class
|
2130
|
+
// scopes here.
|
2131
|
+
if (scopeType !== 2 /* ScopeType.Class */) {
|
2132
|
+
reportRedeclaration = true;
|
2133
|
+
}
|
2139
2134
|
}
|
2135
|
+
sawAssignment = true;
|
2140
2136
|
}
|
2141
|
-
|
2137
|
+
}
|
2138
|
+
else {
|
2139
|
+
reportRedeclaration = true;
|
2140
|
+
}
|
2141
|
+
if (reportRedeclaration) {
|
2142
|
+
this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.finalReassigned().format({ name }), (_a = (0, declarationUtils_1.getNameNodeForDeclaration)(decl)) !== null && _a !== void 0 ? _a : decl.node);
|
2142
2143
|
}
|
2143
2144
|
});
|
2144
2145
|
// If it's not a stub file, an assignment must be provided.
|
@@ -4337,9 +4338,11 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
4337
4338
|
return;
|
4338
4339
|
}
|
4339
4340
|
// If the symbol has no declaration, and the type is inferred,
|
4340
|
-
// skip
|
4341
|
-
|
4342
|
-
|
4341
|
+
// skip the type validation but still check for other issues like
|
4342
|
+
// Final overrides and class/instance variable mismatches.
|
4343
|
+
let validateType = true;
|
4344
|
+
if (!symbol.hasTypedDeclarations()) {
|
4345
|
+
validateType = false;
|
4343
4346
|
}
|
4344
4347
|
// Get the symbol type defined in this class.
|
4345
4348
|
const typeOfSymbol = this._evaluator.getEffectiveTypeOfSymbol(symbol);
|
@@ -4364,7 +4367,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
4364
4367
|
continue;
|
4365
4368
|
}
|
4366
4369
|
firstOverride = firstOverride !== null && firstOverride !== void 0 ? firstOverride : baseClassAndSymbol;
|
4367
|
-
this._validateBaseClassOverride(baseClassAndSymbol, symbol, typeOfSymbol, classType, name);
|
4370
|
+
this._validateBaseClassOverride(baseClassAndSymbol, symbol, validateType ? typeOfSymbol : types_1.AnyType.create(), classType, name);
|
4368
4371
|
}
|
4369
4372
|
if (!firstOverride) {
|
4370
4373
|
// If this is a method decorated with @override, validate that there
|
@@ -4547,7 +4550,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
4547
4550
|
// Handle properties specially.
|
4548
4551
|
if (!(0, typeUtils_1.isProperty)(overrideType)) {
|
4549
4552
|
const decls = overrideSymbol.getDeclarations();
|
4550
|
-
if (decls.length > 0) {
|
4553
|
+
if (decls.length > 0 && overrideSymbol.isClassMember()) {
|
4551
4554
|
const lastDecl = decls[decls.length - 1];
|
4552
4555
|
this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleMethodOverride, localize_1.LocMessage.propertyOverridden().format({
|
4553
4556
|
name: memberName,
|