@zzzen/pyright-internal 1.2.0-dev.20240526 → 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/analyzerNodeInfo.d.ts +2 -2
- package/dist/analyzer/binder.d.ts +3 -3
- package/dist/analyzer/binder.js +32 -32
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +3 -3
- package/dist/analyzer/checker.js +35 -35
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +4 -4
- package/dist/analyzer/codeFlowTypes.js +3 -3
- package/dist/analyzer/constructors.js +10 -3
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/declarationUtils.js +3 -3
- package/dist/analyzer/enums.js +6 -6
- package/dist/analyzer/importResolver.d.ts +1 -0
- package/dist/analyzer/importResolver.js +6 -3
- 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/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 +1 -1
- package/dist/analyzer/program.js +23 -29
- 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/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 +1 -1
- package/dist/analyzer/typeEvaluator.js +290 -311
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +6 -6
- package/dist/analyzer/typeStubWriter.js +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +11 -4
- 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/commands/dumpFileDebugInfoCommand.d.ts +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +14 -14
- package/dist/commands/dumpFileDebugInfoCommand.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 +16 -0
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/languageService/autoImporter.js +4 -4
- package/dist/languageService/callHierarchyProvider.js +1 -1
- package/dist/languageService/completionProvider.js +30 -30
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +7 -7
- package/dist/languageService/hoverProvider.js +2 -2
- package/dist/languageService/importSorter.js +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/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 +3 -1
- package/dist/localization/package.nls.de.json +3 -1
- package/dist/localization/package.nls.en-us.json +1 -1
- package/dist/localization/package.nls.es.json +3 -1
- package/dist/localization/package.nls.fr.json +3 -1
- package/dist/localization/package.nls.it.json +3 -1
- package/dist/localization/package.nls.ja.json +3 -1
- package/dist/localization/package.nls.ko.json +3 -1
- package/dist/localization/package.nls.pl.json +3 -1
- package/dist/localization/package.nls.pt-br.json +3 -1
- package/dist/localization/package.nls.qps-ploc.json +3 -1
- package/dist/localization/package.nls.ru.json +3 -1
- package/dist/localization/package.nls.tr.json +3 -1
- package/dist/localization/package.nls.zh-cn.json +3 -1
- package/dist/localization/package.nls.zh-tw.json +3 -1
- 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/pyright.js +3 -3
- package/dist/pyright.js.map +1 -1
- package/dist/tests/classDeclaration.test.js +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/typeEvaluator2.test.js +5 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +1 -1
- package/dist/tests/typeEvaluator7.test.js +0 -6
- 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
@@ -165,13 +165,13 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
|
|
165
165
|
// Some left-hand expressions must be parenthesized.
|
166
166
|
if (node.leftExpression.nodeType !== 35 /* ParseNodeType.MemberAccess */ &&
|
167
167
|
node.leftExpression.nodeType !== 38 /* ParseNodeType.Name */ &&
|
168
|
-
node.leftExpression.nodeType !==
|
168
|
+
node.leftExpression.nodeType !== 27 /* ParseNodeType.Index */ &&
|
169
169
|
node.leftExpression.nodeType !== 9 /* ParseNodeType.Call */) {
|
170
170
|
lhs = `(${lhs})`;
|
171
171
|
}
|
172
172
|
return lhs + '(' + node.arguments.map((arg) => printArgument(arg, flags)).join(', ') + ')';
|
173
173
|
}
|
174
|
-
case
|
174
|
+
case 27 /* ParseNodeType.Index */: {
|
175
175
|
return (printExpression(node.baseExpression, flags) +
|
176
176
|
'[' +
|
177
177
|
node.items.map((item) => printArgument(item, flags)).join(', ') +
|
@@ -250,7 +250,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
|
|
250
250
|
}
|
251
251
|
return exprString;
|
252
252
|
}
|
253
|
-
case
|
253
|
+
case 30 /* ParseNodeType.FormatString */: {
|
254
254
|
let exprString = 'f';
|
255
255
|
let escapedString = '';
|
256
256
|
const itemsToPrint = [...node.middleTokens, ...node.fieldExpressions].sort((a, b) => a.start - b.start);
|
@@ -308,7 +308,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
|
|
308
308
|
' else ' +
|
309
309
|
printExpression(node.elseExpression, flags));
|
310
310
|
}
|
311
|
-
case
|
311
|
+
case 34 /* ParseNodeType.List */: {
|
312
312
|
const expressions = node.entries.map((expr) => {
|
313
313
|
return printExpression(expr, flags);
|
314
314
|
});
|
@@ -337,15 +337,15 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
|
|
337
337
|
case 61 /* ParseNodeType.YieldFrom */: {
|
338
338
|
return 'yield from ' + printExpression(node.expression, flags);
|
339
339
|
}
|
340
|
-
case
|
340
|
+
case 21 /* ParseNodeType.Ellipsis */: {
|
341
341
|
return '...';
|
342
342
|
}
|
343
|
-
case
|
343
|
+
case 11 /* ParseNodeType.Comprehension */: {
|
344
344
|
let listStr = '<ListExpression>';
|
345
345
|
if ((0, parseNodes_1.isExpressionNode)(node.expression)) {
|
346
346
|
listStr = printExpression(node.expression, flags);
|
347
347
|
}
|
348
|
-
else if (node.expression.nodeType ===
|
348
|
+
else if (node.expression.nodeType === 20 /* ParseNodeType.DictionaryKeyEntry */) {
|
349
349
|
const keyStr = printExpression(node.expression.keyExpression, flags);
|
350
350
|
const valueStr = printExpression(node.expression.valueExpression, flags);
|
351
351
|
listStr = `${keyStr}: ${valueStr}`;
|
@@ -355,7 +355,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
|
|
355
355
|
' ' +
|
356
356
|
node.forIfNodes
|
357
357
|
.map((expr) => {
|
358
|
-
if (expr.nodeType ===
|
358
|
+
if (expr.nodeType === 12 /* ParseNodeType.ComprehensionFor */) {
|
359
359
|
return (`${expr.isAsync ? 'async ' : ''}for ` +
|
360
360
|
printExpression(expr.targetExpression, flags) +
|
361
361
|
` in ${printExpression(expr.iterableExpression, flags)}`);
|
@@ -385,7 +385,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
|
|
385
385
|
}
|
386
386
|
return result;
|
387
387
|
}
|
388
|
-
case
|
388
|
+
case 33 /* ParseNodeType.Lambda */: {
|
389
389
|
return ('lambda ' +
|
390
390
|
node.parameters
|
391
391
|
.map((param) => {
|
@@ -411,7 +411,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
|
|
411
411
|
': ' +
|
412
412
|
printExpression(node.expression, flags));
|
413
413
|
}
|
414
|
-
case
|
414
|
+
case 14 /* ParseNodeType.Constant */: {
|
415
415
|
if (node.constType === 33 /* KeywordType.True */) {
|
416
416
|
return 'True';
|
417
417
|
}
|
@@ -426,13 +426,13 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
|
|
426
426
|
}
|
427
427
|
break;
|
428
428
|
}
|
429
|
-
case
|
429
|
+
case 18 /* ParseNodeType.Dictionary */: {
|
430
430
|
const dictContents = `${node.entries.map((entry) => {
|
431
|
-
if (entry.nodeType ===
|
431
|
+
if (entry.nodeType === 20 /* ParseNodeType.DictionaryKeyEntry */) {
|
432
432
|
return (`${printExpression(entry.keyExpression, flags)}: ` +
|
433
433
|
`${printExpression(entry.valueExpression, flags)}`);
|
434
434
|
}
|
435
|
-
else if (entry.nodeType ===
|
435
|
+
else if (entry.nodeType === 19 /* ParseNodeType.DictionaryExpandEntry */) {
|
436
436
|
return `**${printExpression(entry.expandExpression, flags)}`;
|
437
437
|
}
|
438
438
|
else {
|
@@ -526,12 +526,12 @@ function getCallForName(node) {
|
|
526
526
|
exports.getCallForName = getCallForName;
|
527
527
|
function getDecoratorForName(node) {
|
528
528
|
var _a, _b, _c;
|
529
|
-
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) ===
|
529
|
+
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 16 /* ParseNodeType.Decorator */ && node.parent.expression === node) {
|
530
530
|
return node.parent;
|
531
531
|
}
|
532
532
|
if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* ParseNodeType.MemberAccess */ &&
|
533
533
|
node.parent.memberName === node &&
|
534
|
-
((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) ===
|
534
|
+
((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 16 /* ParseNodeType.Decorator */ &&
|
535
535
|
node.parent.parent.expression === node.parent) {
|
536
536
|
return node.parent.parent;
|
537
537
|
}
|
@@ -558,7 +558,7 @@ function getEnclosingClass(node, stopAtFunction = false) {
|
|
558
558
|
if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
559
559
|
return undefined;
|
560
560
|
}
|
561
|
-
if (curNode.nodeType ===
|
561
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
|
562
562
|
if (stopAtFunction) {
|
563
563
|
return undefined;
|
564
564
|
}
|
@@ -589,7 +589,7 @@ function getEnclosingClassOrModule(node, stopAtFunction = false) {
|
|
589
589
|
if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
590
590
|
return curNode;
|
591
591
|
}
|
592
|
-
if (curNode.nodeType ===
|
592
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
|
593
593
|
if (stopAtFunction) {
|
594
594
|
return undefined;
|
595
595
|
}
|
@@ -603,7 +603,7 @@ function getEnclosingFunction(node) {
|
|
603
603
|
let curNode = node.parent;
|
604
604
|
let prevNode;
|
605
605
|
while (curNode) {
|
606
|
-
if (curNode.nodeType ===
|
606
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
|
607
607
|
// Don't treat a decorator as being "enclosed" in the function.
|
608
608
|
if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
|
609
609
|
return curNode;
|
@@ -626,7 +626,7 @@ exports.getEnclosingFunction = getEnclosingFunction;
|
|
626
626
|
function getEnclosingFunctionEvaluationScope(node) {
|
627
627
|
let curNode = getEvaluationScopeNode(node).node;
|
628
628
|
while (curNode) {
|
629
|
-
if (curNode.nodeType ===
|
629
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
|
630
630
|
return curNode;
|
631
631
|
}
|
632
632
|
if (curNode.nodeType === 10 /* ParseNodeType.Class */ || !curNode.parent) {
|
@@ -640,7 +640,7 @@ exports.getEnclosingFunctionEvaluationScope = getEnclosingFunctionEvaluationScop
|
|
640
640
|
function getEnclosingLambda(node) {
|
641
641
|
let curNode = node.parent;
|
642
642
|
while (curNode) {
|
643
|
-
if (curNode.nodeType ===
|
643
|
+
if (curNode.nodeType === 33 /* ParseNodeType.Lambda */) {
|
644
644
|
return curNode;
|
645
645
|
}
|
646
646
|
if (curNode.nodeType === 50 /* ParseNodeType.Suite */) {
|
@@ -654,7 +654,7 @@ exports.getEnclosingLambda = getEnclosingLambda;
|
|
654
654
|
function getEnclosingClassOrFunction(node) {
|
655
655
|
let curNode = node.parent;
|
656
656
|
while (curNode) {
|
657
|
-
if (curNode.nodeType ===
|
657
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
|
658
658
|
return curNode;
|
659
659
|
}
|
660
660
|
if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
|
@@ -674,12 +674,12 @@ function getEnclosingSuiteOrModule(node, stopAtFunction = false, stopAtLambda =
|
|
674
674
|
if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
675
675
|
return curNode;
|
676
676
|
}
|
677
|
-
if (curNode.nodeType ===
|
677
|
+
if (curNode.nodeType === 33 /* ParseNodeType.Lambda */) {
|
678
678
|
if (stopAtLambda) {
|
679
679
|
return undefined;
|
680
680
|
}
|
681
681
|
}
|
682
|
-
if (curNode.nodeType ===
|
682
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
|
683
683
|
if (stopAtFunction) {
|
684
684
|
return undefined;
|
685
685
|
}
|
@@ -693,18 +693,18 @@ function getEvaluationNodeForAssignmentExpression(node) {
|
|
693
693
|
// PEP 572 indicates that the evaluation node for an assignment expression
|
694
694
|
// target within a list comprehension is contained within a lambda,
|
695
695
|
// function or module, but not a class.
|
696
|
-
let
|
696
|
+
let sawComprehension = false;
|
697
697
|
let curNode = getEvaluationScopeNode(node).node;
|
698
698
|
while (curNode !== undefined) {
|
699
699
|
switch (curNode.nodeType) {
|
700
|
-
case
|
701
|
-
case
|
700
|
+
case 31 /* ParseNodeType.Function */:
|
701
|
+
case 33 /* ParseNodeType.Lambda */:
|
702
702
|
case 36 /* ParseNodeType.Module */:
|
703
703
|
return curNode;
|
704
704
|
case 10 /* ParseNodeType.Class */:
|
705
|
-
return
|
706
|
-
case
|
707
|
-
|
705
|
+
return sawComprehension ? undefined : curNode;
|
706
|
+
case 11 /* ParseNodeType.Comprehension */:
|
707
|
+
sawComprehension = true;
|
708
708
|
curNode = getEvaluationScopeNode(curNode.parent).node;
|
709
709
|
break;
|
710
710
|
default:
|
@@ -740,7 +740,7 @@ function getEvaluationScopeNode(node) {
|
|
740
740
|
case 76 /* ParseNodeType.TypeParameterList */: {
|
741
741
|
return { node: curNode, useProxyScope: true };
|
742
742
|
}
|
743
|
-
case
|
743
|
+
case 31 /* ParseNodeType.Function */: {
|
744
744
|
if (!prevNode) {
|
745
745
|
break;
|
746
746
|
}
|
@@ -775,7 +775,7 @@ function getEvaluationScopeNode(node) {
|
|
775
775
|
}
|
776
776
|
break;
|
777
777
|
}
|
778
|
-
case
|
778
|
+
case 33 /* ParseNodeType.Lambda */: {
|
779
779
|
if (curNode.parameters.some((param) => param === prevNode)) {
|
780
780
|
if (isParamNameNode) {
|
781
781
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
@@ -814,12 +814,12 @@ function getEvaluationScopeNode(node) {
|
|
814
814
|
}
|
815
815
|
break;
|
816
816
|
}
|
817
|
-
case
|
817
|
+
case 11 /* ParseNodeType.Comprehension */: {
|
818
818
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
819
819
|
// The iterable expression of the first subnode of a list comprehension
|
820
820
|
// is evaluated within the scope of its parent.
|
821
821
|
const isFirstIterableExpr = prevNode === curNode.forIfNodes[0] &&
|
822
|
-
curNode.forIfNodes[0].nodeType ===
|
822
|
+
curNode.forIfNodes[0].nodeType === 12 /* ParseNodeType.ComprehensionFor */ &&
|
823
823
|
curNode.forIfNodes[0].iterableExpression === prevPrevNode;
|
824
824
|
if (!isFirstIterableExpr) {
|
825
825
|
return { node: curNode };
|
@@ -858,7 +858,7 @@ function getTypeVarScopeNode(node) {
|
|
858
858
|
let curNode = node;
|
859
859
|
while (curNode) {
|
860
860
|
switch (curNode.nodeType) {
|
861
|
-
case
|
861
|
+
case 31 /* ParseNodeType.Function */: {
|
862
862
|
if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
|
863
863
|
return curNode;
|
864
864
|
}
|
@@ -888,7 +888,7 @@ function getExecutionScopeNode(node) {
|
|
888
888
|
// within the context of their containing module or function. Likewise, list
|
889
889
|
// comprehensions are executed within their container.
|
890
890
|
while (evaluationScope.nodeType === 10 /* ParseNodeType.Class */ ||
|
891
|
-
evaluationScope.nodeType ===
|
891
|
+
evaluationScope.nodeType === 11 /* ParseNodeType.Comprehension */) {
|
892
892
|
evaluationScope = getEvaluationScopeNode(evaluationScope.parent).node;
|
893
893
|
}
|
894
894
|
return evaluationScope;
|
@@ -995,7 +995,7 @@ function getParentAnnotationNode(node) {
|
|
995
995
|
let curNode = node;
|
996
996
|
let prevNode;
|
997
997
|
while (curNode) {
|
998
|
-
if (curNode.nodeType ===
|
998
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
|
999
999
|
if (prevNode === curNode.returnTypeAnnotation) {
|
1000
1000
|
return prevNode;
|
1001
1001
|
}
|
@@ -1041,7 +1041,7 @@ function isSuiteEmpty(node) {
|
|
1041
1041
|
for (const statement of node.statements) {
|
1042
1042
|
if (statement.nodeType === 47 /* ParseNodeType.StatementList */) {
|
1043
1043
|
for (const substatement of statement.statements) {
|
1044
|
-
if (substatement.nodeType ===
|
1044
|
+
if (substatement.nodeType === 21 /* ParseNodeType.Ellipsis */) {
|
1045
1045
|
// Allow an ellipsis
|
1046
1046
|
sawEllipsis = true;
|
1047
1047
|
}
|
@@ -1088,7 +1088,7 @@ function isMatchingExpression(reference, expression) {
|
|
1088
1088
|
return (isMatchingExpression(reference.leftExpression, expression.leftExpression) &&
|
1089
1089
|
reference.memberName.value === expression.memberName.value);
|
1090
1090
|
}
|
1091
|
-
else if (reference.nodeType ===
|
1091
|
+
else if (reference.nodeType === 27 /* ParseNodeType.Index */ && expression.nodeType === 27 /* ParseNodeType.Index */) {
|
1092
1092
|
if (!isMatchingExpression(reference.baseExpression, expression.baseExpression)) {
|
1093
1093
|
return false;
|
1094
1094
|
}
|
@@ -1142,7 +1142,7 @@ function isPartialMatchingExpression(reference, expression) {
|
|
1142
1142
|
return (isMatchingExpression(reference.leftExpression, expression) ||
|
1143
1143
|
isPartialMatchingExpression(reference.leftExpression, expression));
|
1144
1144
|
}
|
1145
|
-
else if (reference.nodeType ===
|
1145
|
+
else if (reference.nodeType === 27 /* ParseNodeType.Index */) {
|
1146
1146
|
return (isMatchingExpression(reference.baseExpression, expression) ||
|
1147
1147
|
isPartialMatchingExpression(reference.baseExpression, expression));
|
1148
1148
|
}
|
@@ -1156,8 +1156,8 @@ function isWithinDefaultParamInitializer(node) {
|
|
1156
1156
|
if (curNode.nodeType === 41 /* ParseNodeType.Parameter */ && prevNode === curNode.defaultValue) {
|
1157
1157
|
return true;
|
1158
1158
|
}
|
1159
|
-
if (curNode.nodeType ===
|
1160
|
-
curNode.nodeType ===
|
1159
|
+
if (curNode.nodeType === 33 /* ParseNodeType.Lambda */ ||
|
1160
|
+
curNode.nodeType === 31 /* ParseNodeType.Function */ ||
|
1161
1161
|
curNode.nodeType === 10 /* ParseNodeType.Class */ ||
|
1162
1162
|
curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
1163
1163
|
return false;
|
@@ -1177,10 +1177,10 @@ function isWithinTypeAnnotation(node, requireQuotedAnnotation) {
|
|
1177
1177
|
(prevNode === curNode.typeAnnotation || prevNode === curNode.typeAnnotationComment)) {
|
1178
1178
|
return isQuoted || !requireQuotedAnnotation;
|
1179
1179
|
}
|
1180
|
-
if (curNode.nodeType ===
|
1180
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */ && prevNode === curNode.returnTypeAnnotation) {
|
1181
1181
|
return isQuoted || !requireQuotedAnnotation;
|
1182
1182
|
}
|
1183
|
-
if (curNode.nodeType ===
|
1183
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
|
1184
1184
|
// Type comments are always considered forward declarations even though
|
1185
1185
|
// they're not "quoted".
|
1186
1186
|
return true;
|
@@ -1196,8 +1196,8 @@ function isWithinTypeAnnotation(node, requireQuotedAnnotation) {
|
|
1196
1196
|
if (curNode.nodeType === 48 /* ParseNodeType.StringList */ && prevNode === curNode.typeAnnotation) {
|
1197
1197
|
isQuoted = true;
|
1198
1198
|
}
|
1199
|
-
if (curNode.nodeType ===
|
1200
|
-
curNode.nodeType ===
|
1199
|
+
if (curNode.nodeType === 33 /* ParseNodeType.Lambda */ ||
|
1200
|
+
curNode.nodeType === 31 /* ParseNodeType.Function */ ||
|
1201
1201
|
curNode.nodeType === 10 /* ParseNodeType.Class */ ||
|
1202
1202
|
curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
1203
1203
|
return false;
|
@@ -1212,7 +1212,7 @@ function isWithinAnnotationComment(node) {
|
|
1212
1212
|
let curNode = node;
|
1213
1213
|
let prevNode;
|
1214
1214
|
while (curNode) {
|
1215
|
-
if (curNode.nodeType ===
|
1215
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
|
1216
1216
|
// Type comments are always considered forward declarations even though
|
1217
1217
|
// they're not "quoted".
|
1218
1218
|
return true;
|
@@ -1222,8 +1222,8 @@ function isWithinAnnotationComment(node) {
|
|
1222
1222
|
// they're not "quoted".
|
1223
1223
|
return true;
|
1224
1224
|
}
|
1225
|
-
if (curNode.nodeType ===
|
1226
|
-
curNode.nodeType ===
|
1225
|
+
if (curNode.nodeType === 33 /* ParseNodeType.Lambda */ ||
|
1226
|
+
curNode.nodeType === 31 /* ParseNodeType.Function */ ||
|
1227
1227
|
curNode.nodeType === 10 /* ParseNodeType.Class */ ||
|
1228
1228
|
curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
1229
1229
|
return false;
|
@@ -1238,7 +1238,7 @@ function isWithinLoop(node) {
|
|
1238
1238
|
let curNode = node;
|
1239
1239
|
while (curNode) {
|
1240
1240
|
switch (curNode.nodeType) {
|
1241
|
-
case
|
1241
|
+
case 29 /* ParseNodeType.For */:
|
1242
1242
|
case 57 /* ParseNodeType.While */: {
|
1243
1243
|
return true;
|
1244
1244
|
}
|
@@ -1297,7 +1297,7 @@ function isDocString(statementList) {
|
|
1297
1297
|
return false;
|
1298
1298
|
}
|
1299
1299
|
// Any f-strings invalidate the entire docstring.
|
1300
|
-
if (strings.some((n) => n.nodeType ===
|
1300
|
+
if (strings.some((n) => n.nodeType === 30 /* ParseNodeType.FormatString */)) {
|
1301
1301
|
return false;
|
1302
1302
|
}
|
1303
1303
|
// It's up to the user to convert normalize/convert this as needed.
|
@@ -1404,7 +1404,7 @@ function getEnclosingParameter(node) {
|
|
1404
1404
|
if (curNode.nodeType === 41 /* ParseNodeType.Parameter */) {
|
1405
1405
|
return curNode;
|
1406
1406
|
}
|
1407
|
-
if (curNode.nodeType ===
|
1407
|
+
if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
|
1408
1408
|
return undefined;
|
1409
1409
|
}
|
1410
1410
|
curNode = curNode.parent;
|
@@ -1626,54 +1626,54 @@ function printParseNodeType(type) {
|
|
1626
1626
|
return 'Call';
|
1627
1627
|
case 10 /* ParseNodeType.Class */:
|
1628
1628
|
return 'Class';
|
1629
|
-
case
|
1629
|
+
case 14 /* ParseNodeType.Constant */:
|
1630
1630
|
return 'Constant';
|
1631
|
-
case
|
1631
|
+
case 15 /* ParseNodeType.Continue */:
|
1632
1632
|
return 'Continue';
|
1633
|
-
case
|
1633
|
+
case 16 /* ParseNodeType.Decorator */:
|
1634
1634
|
return 'Decorator';
|
1635
|
-
case
|
1635
|
+
case 17 /* ParseNodeType.Del */:
|
1636
1636
|
return 'Del';
|
1637
|
-
case
|
1637
|
+
case 18 /* ParseNodeType.Dictionary */:
|
1638
1638
|
return 'Dictionary';
|
1639
|
-
case
|
1639
|
+
case 19 /* ParseNodeType.DictionaryExpandEntry */:
|
1640
1640
|
return 'DictionaryExpandEntry';
|
1641
|
-
case
|
1641
|
+
case 20 /* ParseNodeType.DictionaryKeyEntry */:
|
1642
1642
|
return 'DictionaryKeyEntry';
|
1643
|
-
case
|
1643
|
+
case 21 /* ParseNodeType.Ellipsis */:
|
1644
1644
|
return 'Ellipsis';
|
1645
|
-
case
|
1645
|
+
case 22 /* ParseNodeType.If */:
|
1646
1646
|
return 'If';
|
1647
|
-
case
|
1647
|
+
case 23 /* ParseNodeType.Import */:
|
1648
1648
|
return 'Import';
|
1649
|
-
case
|
1649
|
+
case 24 /* ParseNodeType.ImportAs */:
|
1650
1650
|
return 'ImportAs';
|
1651
|
-
case
|
1651
|
+
case 25 /* ParseNodeType.ImportFrom */:
|
1652
1652
|
return 'ImportFrom';
|
1653
|
-
case
|
1653
|
+
case 26 /* ParseNodeType.ImportFromAs */:
|
1654
1654
|
return 'ImportFromAs';
|
1655
|
-
case
|
1655
|
+
case 27 /* ParseNodeType.Index */:
|
1656
1656
|
return 'Index';
|
1657
|
-
case
|
1657
|
+
case 28 /* ParseNodeType.Except */:
|
1658
1658
|
return 'Except';
|
1659
|
-
case
|
1659
|
+
case 29 /* ParseNodeType.For */:
|
1660
1660
|
return 'For';
|
1661
|
-
case
|
1661
|
+
case 30 /* ParseNodeType.FormatString */:
|
1662
1662
|
return 'FormatString';
|
1663
|
-
case
|
1663
|
+
case 31 /* ParseNodeType.Function */:
|
1664
1664
|
return 'Function';
|
1665
|
-
case
|
1665
|
+
case 32 /* ParseNodeType.Global */:
|
1666
1666
|
return 'Global';
|
1667
|
-
case
|
1667
|
+
case 33 /* ParseNodeType.Lambda */:
|
1668
1668
|
return 'Lambda';
|
1669
|
-
case
|
1669
|
+
case 34 /* ParseNodeType.List */:
|
1670
1670
|
return 'List';
|
1671
|
-
case
|
1672
|
-
return '
|
1673
|
-
case
|
1674
|
-
return '
|
1675
|
-
case
|
1676
|
-
return '
|
1671
|
+
case 11 /* ParseNodeType.Comprehension */:
|
1672
|
+
return 'Comprehension';
|
1673
|
+
case 12 /* ParseNodeType.ComprehensionFor */:
|
1674
|
+
return 'ComprehensionFor';
|
1675
|
+
case 13 /* ParseNodeType.ComprehensionIf */:
|
1676
|
+
return 'ComprehensionIf';
|
1677
1677
|
case 35 /* ParseNodeType.MemberAccess */:
|
1678
1678
|
return 'MemberAccess';
|
1679
1679
|
case 36 /* ParseNodeType.Module */:
|
@@ -1778,17 +1778,17 @@ function isWriteAccess(node) {
|
|
1778
1778
|
case 4 /* ParseNodeType.AssignmentExpression */: {
|
1779
1779
|
return prevNode === curNode.name;
|
1780
1780
|
}
|
1781
|
-
case
|
1781
|
+
case 17 /* ParseNodeType.Del */: {
|
1782
1782
|
return true;
|
1783
1783
|
}
|
1784
|
-
case
|
1784
|
+
case 29 /* ParseNodeType.For */: {
|
1785
1785
|
return prevNode === curNode.targetExpression;
|
1786
1786
|
}
|
1787
|
-
case
|
1787
|
+
case 24 /* ParseNodeType.ImportAs */: {
|
1788
1788
|
return (prevNode === curNode.alias ||
|
1789
1789
|
(curNode.module.nameParts.length > 0 && prevNode === curNode.module.nameParts[0]));
|
1790
1790
|
}
|
1791
|
-
case
|
1791
|
+
case 26 /* ParseNodeType.ImportFromAs */: {
|
1792
1792
|
return prevNode === curNode.alias || (!curNode.alias && prevNode === curNode.name);
|
1793
1793
|
}
|
1794
1794
|
case 35 /* ParseNodeType.MemberAccess */: {
|
@@ -1797,13 +1797,13 @@ function isWriteAccess(node) {
|
|
1797
1797
|
}
|
1798
1798
|
break;
|
1799
1799
|
}
|
1800
|
-
case
|
1800
|
+
case 28 /* ParseNodeType.Except */: {
|
1801
1801
|
return prevNode === curNode.name;
|
1802
1802
|
}
|
1803
1803
|
case 58 /* ParseNodeType.With */: {
|
1804
1804
|
return curNode.withItems.some((item) => item === prevNode);
|
1805
1805
|
}
|
1806
|
-
case
|
1806
|
+
case 12 /* ParseNodeType.ComprehensionFor */: {
|
1807
1807
|
return prevNode === curNode.targetExpression;
|
1808
1808
|
}
|
1809
1809
|
case 54 /* ParseNodeType.TypeAnnotation */: {
|
@@ -1812,7 +1812,7 @@ function isWriteAccess(node) {
|
|
1812
1812
|
}
|
1813
1813
|
break;
|
1814
1814
|
}
|
1815
|
-
case
|
1815
|
+
case 31 /* ParseNodeType.Function */:
|
1816
1816
|
case 10 /* ParseNodeType.Class */:
|
1817
1817
|
case 36 /* ParseNodeType.Module */: {
|
1818
1818
|
return false;
|
@@ -1846,7 +1846,7 @@ function isFunctionSuiteEmpty(node) {
|
|
1846
1846
|
else if (statement.nodeType === 47 /* ParseNodeType.StatementList */) {
|
1847
1847
|
statement.statements.forEach((subStatement) => {
|
1848
1848
|
// Allow docstrings, ellipsis, and pass statements.
|
1849
|
-
if (subStatement.nodeType !==
|
1849
|
+
if (subStatement.nodeType !== 21 /* ParseNodeType.Ellipsis */ &&
|
1850
1850
|
subStatement.nodeType !== 48 /* ParseNodeType.StringList */ &&
|
1851
1851
|
subStatement.nodeType !== 42 /* ParseNodeType.Pass */) {
|
1852
1852
|
isEmpty = false;
|
@@ -1888,27 +1888,27 @@ function getTypeAnnotationForParameter(node, paramIndex) {
|
|
1888
1888
|
exports.getTypeAnnotationForParameter = getTypeAnnotationForParameter;
|
1889
1889
|
function isImportModuleName(node) {
|
1890
1890
|
var _a, _b;
|
1891
|
-
return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) ===
|
1891
|
+
return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 24 /* ParseNodeType.ImportAs */;
|
1892
1892
|
}
|
1893
1893
|
exports.isImportModuleName = isImportModuleName;
|
1894
1894
|
function isImportAlias(node) {
|
1895
1895
|
var _a;
|
1896
|
-
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) ===
|
1896
|
+
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 24 /* ParseNodeType.ImportAs */ && node.parent.alias === node;
|
1897
1897
|
}
|
1898
1898
|
exports.isImportAlias = isImportAlias;
|
1899
1899
|
function isFromImportModuleName(node) {
|
1900
1900
|
var _a, _b;
|
1901
|
-
return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) ===
|
1901
|
+
return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 25 /* ParseNodeType.ImportFrom */;
|
1902
1902
|
}
|
1903
1903
|
exports.isFromImportModuleName = isFromImportModuleName;
|
1904
1904
|
function isFromImportName(node) {
|
1905
1905
|
var _a;
|
1906
|
-
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) ===
|
1906
|
+
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 26 /* ParseNodeType.ImportFromAs */ && node.parent.name === node;
|
1907
1907
|
}
|
1908
1908
|
exports.isFromImportName = isFromImportName;
|
1909
1909
|
function isFromImportAlias(node) {
|
1910
1910
|
var _a;
|
1911
|
-
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) ===
|
1911
|
+
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 26 /* ParseNodeType.ImportFromAs */ && node.parent.alias === node;
|
1912
1912
|
}
|
1913
1913
|
exports.isFromImportAlias = isFromImportAlias;
|
1914
1914
|
function isLastNameOfModuleName(node) {
|
@@ -2120,7 +2120,7 @@ function isValidLocationForFutureImport(node) {
|
|
2120
2120
|
}
|
2121
2121
|
sawDocString = true;
|
2122
2122
|
}
|
2123
|
-
else if (simpleStatement.nodeType ===
|
2123
|
+
else if (simpleStatement.nodeType === 25 /* ParseNodeType.ImportFrom */) {
|
2124
2124
|
if (simpleStatement.module.leadingDots !== 0 ||
|
2125
2125
|
simpleStatement.module.nameParts.length !== 1 ||
|
2126
2126
|
simpleStatement.module.nameParts[0].value !== '__future__') {
|
@@ -2302,7 +2302,7 @@ function getScopeIdForNode(node) {
|
|
2302
2302
|
if (node.nodeType === 10 /* ParseNodeType.Class */) {
|
2303
2303
|
name = node.name.value;
|
2304
2304
|
}
|
2305
|
-
else if (node.nodeType ===
|
2305
|
+
else if (node.nodeType === 31 /* ParseNodeType.Function */) {
|
2306
2306
|
name = node.name.value;
|
2307
2307
|
}
|
2308
2308
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
|
@@ -2332,7 +2332,7 @@ exports.checkDecorator = checkDecorator;
|
|
2332
2332
|
function isSimpleDefault(node) {
|
2333
2333
|
switch (node.nodeType) {
|
2334
2334
|
case 40 /* ParseNodeType.Number */:
|
2335
|
-
case
|
2335
|
+
case 14 /* ParseNodeType.Constant */:
|
2336
2336
|
case 35 /* ParseNodeType.MemberAccess */:
|
2337
2337
|
return true;
|
2338
2338
|
case 49 /* ParseNodeType.String */:
|