@zzzen/pyright-internal 1.2.0-dev.20240519 → 1.2.0-dev.20240602
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/analysis.d.ts +5 -1
- package/dist/analyzer/analysis.js +3 -3
- package/dist/analyzer/analysis.js.map +1 -1
- package/dist/analyzer/analyzerNodeInfo.d.ts +2 -2
- package/dist/analyzer/backgroundAnalysisProgram.js +1 -1
- package/dist/analyzer/binder.d.ts +3 -3
- package/dist/analyzer/binder.js +38 -32
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +3 -3
- package/dist/analyzer/checker.js +45 -37
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +9 -5
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.js +3 -3
- package/dist/analyzer/constraintSolver.js +2 -1
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.d.ts +2 -1
- package/dist/analyzer/constructorTransform.js +7 -6
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +2 -2
- package/dist/analyzer/constructors.js +35 -25
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/declarationUtils.js +3 -3
- package/dist/analyzer/decorators.js +3 -1
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +9 -8
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +1 -0
- package/dist/analyzer/importResolver.js +17 -7
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +6 -6
- package/dist/analyzer/namedTuples.js +2 -2
- package/dist/analyzer/operations.js +2 -2
- package/dist/analyzer/parameterUtils.d.ts +5 -5
- package/dist/analyzer/parameterUtils.js +16 -16
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.js +1 -2
- package/dist/analyzer/parentDirectoryCache.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +94 -94
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.d.ts +5 -5
- package/dist/analyzer/parseTreeWalker.js +64 -64
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.js +1 -1
- package/dist/analyzer/program.d.ts +2 -1
- package/dist/analyzer/program.js +36 -35
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/scope.d.ts +1 -1
- package/dist/analyzer/scope.js +2 -2
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/service.d.ts +4 -2
- package/dist/analyzer/service.js +67 -33
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +1 -1
- package/dist/analyzer/sourceFile.js +20 -6
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.js +4 -4
- package/dist/analyzer/staticExpressions.js +3 -3
- package/dist/analyzer/testWalker.js +1 -1
- package/dist/analyzer/tracePrinter.js +4 -4
- package/dist/analyzer/typeDocStringUtils.js +7 -4
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +638 -559
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +5 -4
- package/dist/analyzer/typeEvaluatorTypes.js +3 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +6 -6
- package/dist/analyzer/typePrinter.js +7 -1
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +1 -1
- package/dist/analyzer/typeUtils.d.ts +4 -5
- package/dist/analyzer/typeUtils.js +18 -11
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +1 -2
- package/dist/analyzer/typedDicts.js +5 -17
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/backgroundAnalysisBase.js +4 -4
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +2 -0
- package/dist/backgroundThreadBase.js +7 -3
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/createTypeStub.d.ts +7 -1
- package/dist/commands/createTypeStub.js +45 -32
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.d.ts +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +14 -14
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +4 -3
- package/dist/common/configOptions.js +36 -31
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/console.d.ts +3 -0
- package/dist/common/console.js +4 -0
- package/dist/common/console.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +46 -0
- package/dist/common/languageServerInterface.js.map +1 -1
- package/dist/common/textEditTracker.js +5 -5
- package/dist/common/uri/fileUri.js +1 -0
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/uri.d.ts +3 -0
- package/dist/common/uri/uri.js +18 -0
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +1 -1
- package/dist/common/uri/uriUtils.js +3 -3
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/workspaceEditUtils.js +8 -6
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +4 -45
- package/dist/languageServerBase.js +36 -28
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +2 -2
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.js +4 -4
- package/dist/languageService/callHierarchyProvider.js +6 -6
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +31 -31
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +7 -7
- package/dist/languageService/documentSymbolProvider.js +1 -1
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/fileWatcherDynamicFeature.d.ts +2 -2
- package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
- package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
- package/dist/languageService/hoverProvider.js +2 -2
- package/dist/languageService/importSorter.js +1 -1
- package/dist/languageService/navigationUtils.js +1 -1
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/referencesProvider.js +4 -4
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +3 -3
- package/dist/languageService/tooltipUtils.js +2 -2
- package/dist/languageService/workspaceSymbolProvider.js +1 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +1 -1
- package/dist/localization/localize.js +1 -1
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +4 -2
- package/dist/localization/package.nls.de.json +5 -3
- package/dist/localization/package.nls.en-us.json +3 -3
- package/dist/localization/package.nls.es.json +5 -3
- package/dist/localization/package.nls.fr.json +5 -3
- package/dist/localization/package.nls.it.json +4 -2
- package/dist/localization/package.nls.ja.json +5 -3
- package/dist/localization/package.nls.ko.json +4 -2
- package/dist/localization/package.nls.pl.json +4 -2
- package/dist/localization/package.nls.pt-br.json +4 -2
- package/dist/localization/package.nls.qps-ploc.json +5 -3
- package/dist/localization/package.nls.ru.json +5 -3
- package/dist/localization/package.nls.tr.json +4 -2
- package/dist/localization/package.nls.zh-cn.json +5 -3
- package/dist/localization/package.nls.zh-tw.json +4 -2
- package/dist/parser/parseNodes.d.ts +42 -42
- package/dist/parser/parseNodes.js +69 -69
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.d.ts +1 -1
- package/dist/parser/parser.js +35 -35
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.js +2 -2
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/pyright.js +4 -4
- package/dist/pyright.js.map +1 -1
- package/dist/tests/classDeclaration.test.js +1 -1
- package/dist/tests/config.test.js +15 -3
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +2 -1
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/hoverProvider.test.js +17 -0
- package/dist/tests/hoverProvider.test.js.map +1 -1
- package/dist/tests/importResolver.test.js +16 -0
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +4 -4
- package/dist/tests/parser.test.js +3 -3
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +8 -4
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +6 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +5 -7
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/uri.test.js +11 -3
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/workspaceFactory.js +16 -14
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
package/dist/parser/parser.js
CHANGED
@@ -884,7 +884,7 @@ class Parser {
|
|
884
884
|
(0, debug_1.assert)(stringList.nodeType === 48 /* ParseNodeType.StringList */);
|
885
885
|
// Check for f-strings, which are not allowed.
|
886
886
|
stringList.strings.forEach((stringAtom) => {
|
887
|
-
if (stringAtom.nodeType ===
|
887
|
+
if (stringAtom.nodeType === 30 /* ParseNodeType.FormatString */) {
|
888
888
|
this._addSyntaxError(localize_1.LocMessage.formatStringInPattern(), stringAtom);
|
889
889
|
}
|
890
890
|
});
|
@@ -1253,7 +1253,7 @@ class Parser {
|
|
1253
1253
|
return forNode;
|
1254
1254
|
}
|
1255
1255
|
// comp_iter: comp_for | comp_if
|
1256
|
-
|
1256
|
+
_tryParseComprehension(target, isGenerator) {
|
1257
1257
|
const compFor = this._tryParseCompForStatement();
|
1258
1258
|
if (!compFor) {
|
1259
1259
|
return undefined;
|
@@ -1261,27 +1261,27 @@ class Parser {
|
|
1261
1261
|
if (target.nodeType === 56 /* ParseNodeType.Unpack */) {
|
1262
1262
|
this._addSyntaxError(localize_1.LocMessage.unpackIllegalInComprehension(), target);
|
1263
1263
|
}
|
1264
|
-
else if (target.nodeType ===
|
1264
|
+
else if (target.nodeType === 19 /* ParseNodeType.DictionaryExpandEntry */) {
|
1265
1265
|
this._addSyntaxError(localize_1.LocMessage.dictExpandIllegalInComprehension(), target);
|
1266
1266
|
}
|
1267
|
-
const
|
1267
|
+
const compNode = parseNodes_1.ComprehensionNode.create(target, isGenerator);
|
1268
1268
|
const forIfList = [compFor];
|
1269
1269
|
while (true) {
|
1270
1270
|
const compIter = this._tryParseCompForStatement() || this._tryParseCompIfStatement();
|
1271
1271
|
if (!compIter) {
|
1272
1272
|
break;
|
1273
1273
|
}
|
1274
|
-
compIter.parent =
|
1274
|
+
compIter.parent = compNode;
|
1275
1275
|
forIfList.push(compIter);
|
1276
1276
|
}
|
1277
|
-
|
1277
|
+
compNode.forIfNodes = forIfList;
|
1278
1278
|
if (forIfList.length > 0) {
|
1279
1279
|
forIfList.forEach((comp) => {
|
1280
|
-
comp.parent =
|
1280
|
+
comp.parent = compNode;
|
1281
1281
|
});
|
1282
|
-
(0, parseNodes_1.extendRange)(
|
1282
|
+
(0, parseNodes_1.extendRange)(compNode, forIfList[forIfList.length - 1]);
|
1283
1283
|
}
|
1284
|
-
return
|
1284
|
+
return compNode;
|
1285
1285
|
}
|
1286
1286
|
// comp_for: ['async'] 'for' exprlist 'in' or_test [comp_iter]
|
1287
1287
|
_tryParseCompForStatement() {
|
@@ -1310,7 +1310,7 @@ class Parser {
|
|
1310
1310
|
seqExpr = this._parseOrTest();
|
1311
1311
|
});
|
1312
1312
|
}
|
1313
|
-
const compForNode = parseNodes_1.
|
1313
|
+
const compForNode = parseNodes_1.ComprehensionForNode.create(asyncToken || forToken, targetExpr, seqExpr);
|
1314
1314
|
if (asyncToken) {
|
1315
1315
|
compForNode.isAsync = true;
|
1316
1316
|
compForNode.asyncToken = asyncToken;
|
@@ -1326,7 +1326,7 @@ class Parser {
|
|
1326
1326
|
const ifToken = this._getKeywordToken(20 /* KeywordType.If */);
|
1327
1327
|
const ifExpr = this._tryParseLambdaExpression() ||
|
1328
1328
|
this._parseAssignmentExpression(/* disallowAssignmentExpression */ true);
|
1329
|
-
const compIfNode = parseNodes_1.
|
1329
|
+
const compIfNode = parseNodes_1.ComprehensionIfNode.create(ifToken, ifExpr);
|
1330
1330
|
return compIfNode;
|
1331
1331
|
}
|
1332
1332
|
// while_stmt: 'while' test suite ['else' suite]
|
@@ -2757,7 +2757,7 @@ class Parser {
|
|
2757
2757
|
const callNode = parseNodes_1.CallNode.create(atomExpression, argListResult.args, argListResult.trailingComma);
|
2758
2758
|
if (argListResult.args.length > 1 || argListResult.trailingComma) {
|
2759
2759
|
argListResult.args.forEach((arg) => {
|
2760
|
-
if (arg.valueExpression.nodeType ===
|
2760
|
+
if (arg.valueExpression.nodeType === 11 /* ParseNodeType.Comprehension */) {
|
2761
2761
|
if (!arg.valueExpression.isParenthesized) {
|
2762
2762
|
this._addSyntaxError(localize_1.LocMessage.generatorNotParenthesized(), arg.valueExpression);
|
2763
2763
|
}
|
@@ -3030,9 +3030,9 @@ class Parser {
|
|
3030
3030
|
}
|
3031
3031
|
}
|
3032
3032
|
else {
|
3033
|
-
const
|
3034
|
-
if (
|
3035
|
-
valueExpr =
|
3033
|
+
const comprehension = this._tryParseComprehension(valueExpr, /* isGenerator */ true);
|
3034
|
+
if (comprehension) {
|
3035
|
+
valueExpr = comprehension;
|
3036
3036
|
}
|
3037
3037
|
}
|
3038
3038
|
}
|
@@ -3085,7 +3085,7 @@ class Parser {
|
|
3085
3085
|
if (possibleTupleNode.nodeType === 48 /* ParseNodeType.StringList */) {
|
3086
3086
|
possibleTupleNode.isParenthesized = true;
|
3087
3087
|
}
|
3088
|
-
if (possibleTupleNode.nodeType ===
|
3088
|
+
if (possibleTupleNode.nodeType === 11 /* ParseNodeType.Comprehension */) {
|
3089
3089
|
possibleTupleNode.isParenthesized = true;
|
3090
3090
|
}
|
3091
3091
|
return possibleTupleNode;
|
@@ -3218,9 +3218,9 @@ class Parser {
|
|
3218
3218
|
let sawComprehension = false;
|
3219
3219
|
return this._parseExpressionListGeneric(() => {
|
3220
3220
|
let expr = this._parseTestOrStarExpression(/* allowAssignmentExpression */ true);
|
3221
|
-
const
|
3222
|
-
if (
|
3223
|
-
expr =
|
3221
|
+
const comprehension = this._tryParseComprehension(expr, isGenerator);
|
3222
|
+
if (comprehension) {
|
3223
|
+
expr = comprehension;
|
3224
3224
|
sawComprehension = true;
|
3225
3225
|
}
|
3226
3226
|
return expr;
|
@@ -3240,7 +3240,7 @@ class Parser {
|
|
3240
3240
|
const setEntries = [];
|
3241
3241
|
let isDictionary = false;
|
3242
3242
|
let isSet = false;
|
3243
|
-
let
|
3243
|
+
let sawComprehension = false;
|
3244
3244
|
let isFirstEntry = true;
|
3245
3245
|
let trailingCommaToken;
|
3246
3246
|
while (true) {
|
@@ -3271,10 +3271,10 @@ class Parser {
|
|
3271
3271
|
else {
|
3272
3272
|
const keyEntryNode = parseNodes_1.DictionaryKeyEntryNode.create(keyExpression, valueExpression);
|
3273
3273
|
let dictEntry = keyEntryNode;
|
3274
|
-
const
|
3275
|
-
if (
|
3276
|
-
dictEntry =
|
3277
|
-
|
3274
|
+
const comprehension = this._tryParseComprehension(keyEntryNode, /* isGenerator */ false);
|
3275
|
+
if (comprehension) {
|
3276
|
+
dictEntry = comprehension;
|
3277
|
+
sawComprehension = true;
|
3278
3278
|
if (!isFirstEntry) {
|
3279
3279
|
this._addSyntaxError(localize_1.LocMessage.comprehensionInDict(), dictEntry);
|
3280
3280
|
}
|
@@ -3291,10 +3291,10 @@ class Parser {
|
|
3291
3291
|
const listEntryNode = parseNodes_1.DictionaryExpandEntryNode.create(doubleStarExpression);
|
3292
3292
|
(0, parseNodes_1.extendRange)(listEntryNode, doubleStar);
|
3293
3293
|
let expandEntryNode = listEntryNode;
|
3294
|
-
const
|
3295
|
-
if (
|
3296
|
-
expandEntryNode =
|
3297
|
-
|
3294
|
+
const comprehension = this._tryParseComprehension(listEntryNode, /* isGenerator */ false);
|
3295
|
+
if (comprehension) {
|
3296
|
+
expandEntryNode = comprehension;
|
3297
|
+
sawComprehension = true;
|
3298
3298
|
if (!isFirstEntry) {
|
3299
3299
|
this._addSyntaxError(localize_1.LocMessage.comprehensionInDict(), doubleStarExpression);
|
3300
3300
|
}
|
@@ -3313,10 +3313,10 @@ class Parser {
|
|
3313
3313
|
this._addSyntaxError(localize_1.LocMessage.dictKeyValuePairs(), keyExpression);
|
3314
3314
|
}
|
3315
3315
|
else {
|
3316
|
-
const
|
3317
|
-
if (
|
3318
|
-
keyExpression =
|
3319
|
-
|
3316
|
+
const comprehension = this._tryParseComprehension(keyExpression, /* isGenerator */ false);
|
3317
|
+
if (comprehension) {
|
3318
|
+
keyExpression = comprehension;
|
3319
|
+
sawComprehension = true;
|
3320
3320
|
if (!isFirstEntry) {
|
3321
3321
|
this._addSyntaxError(localize_1.LocMessage.comprehensionInSet(), keyExpression);
|
3322
3322
|
}
|
@@ -3327,7 +3327,7 @@ class Parser {
|
|
3327
3327
|
}
|
3328
3328
|
}
|
3329
3329
|
// List comprehension statements always end the list.
|
3330
|
-
if (
|
3330
|
+
if (sawComprehension) {
|
3331
3331
|
break;
|
3332
3332
|
}
|
3333
3333
|
if (this._peekTokenType() !== 12 /* TokenType.Comma */) {
|
@@ -3531,7 +3531,7 @@ class Parser {
|
|
3531
3531
|
}
|
3532
3532
|
const returnType = this._parseTypeAnnotation();
|
3533
3533
|
let isParamListEllipsis = false;
|
3534
|
-
if (paramAnnotations.length === 1 && paramAnnotations[0].nodeType ===
|
3534
|
+
if (paramAnnotations.length === 1 && paramAnnotations[0].nodeType === 21 /* ParseNodeType.Ellipsis */) {
|
3535
3535
|
paramAnnotations = [];
|
3536
3536
|
isParamListEllipsis = true;
|
3537
3537
|
}
|
@@ -3812,7 +3812,7 @@ class Parser {
|
|
3812
3812
|
this._addSyntaxError(localize_1.LocMessage.annotationSpansStrings(), stringNode);
|
3813
3813
|
}
|
3814
3814
|
}
|
3815
|
-
else if (stringNode.strings[0].nodeType ===
|
3815
|
+
else if (stringNode.strings[0].nodeType === 30 /* ParseNodeType.FormatString */) {
|
3816
3816
|
if (this._isParsingQuotedText) {
|
3817
3817
|
this._addSyntaxError(localize_1.LocMessage.annotationFormatString(), stringNode);
|
3818
3818
|
}
|