@zzzen/pyright-internal 1.2.0-dev.20261011 → 1.2.0-dev.20261101
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/binder.js +28 -9
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +8 -3
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +76 -30
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/dataClasses.js +14 -5
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/decorators.d.ts +1 -1
- package/dist/analyzer/decorators.js +22 -2
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/namedTuples.d.ts +2 -1
- package/dist/analyzer/namedTuples.js +63 -35
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +45 -1
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/overloadResultAdmission.js +115 -3
- package/dist/analyzer/overloadResultAdmission.js.map +1 -1
- package/dist/analyzer/overloadResultController.js +36 -10
- package/dist/analyzer/overloadResultController.js.map +1 -1
- package/dist/analyzer/overloadResultSelector.js +32 -12
- package/dist/analyzer/overloadResultSelector.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +3 -0
- package/dist/analyzer/parseTreeUtils.js +56 -0
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +67 -27
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +3 -0
- package/dist/analyzer/program.js +34 -9
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/sentinel.js +7 -1
- package/dist/analyzer/sentinel.js.map +1 -1
- package/dist/analyzer/service.js +6 -2
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceEnumerator.d.ts +3 -1
- package/dist/analyzer/sourceEnumerator.js +30 -11
- package/dist/analyzer/sourceEnumerator.js.map +1 -1
- package/dist/analyzer/sourceFile.js +13 -6
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +1 -0
- package/dist/analyzer/sourceMapper.js +10 -4
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/tupleComparison.d.ts +6 -0
- package/dist/analyzer/tupleComparison.js +731 -0
- package/dist/analyzer/tupleComparison.js.map +1 -0
- package/dist/analyzer/tuples.js +52 -10
- package/dist/analyzer/tuples.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +508 -63
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
- package/dist/analyzer/typeEvaluatorTypes.js +2 -3
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +6 -1
- package/dist/analyzer/typeGuards.js +373 -72
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeStubRenderer.d.ts +6 -1
- package/dist/analyzer/typeStubRenderer.js +19 -12
- package/dist/analyzer/typeStubRenderer.js.map +1 -1
- package/dist/analyzer/typeUtils.js +3 -0
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +2 -1
- package/dist/analyzer/typedDicts.js +49 -10
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +14 -0
- package/dist/analyzer/types.js +215 -10
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +9 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/processUtils.d.ts +6 -0
- package/dist/common/processUtils.js +56 -1
- package/dist/common/processUtils.js.map +1 -1
- package/dist/common/textEditTracker.js +1 -1
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/windowsProcessTree.d.ts +2 -0
- package/dist/common/windowsProcessTree.js +23 -0
- package/dist/common/windowsProcessTree.js.map +1 -1
- package/dist/common/windowsProcessTree.json +273 -34
- package/dist/languageServerBase.d.ts +3 -0
- package/dist/languageServerBase.js +44 -12
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +6 -6
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.js +3 -3
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.js +1 -1
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +2 -2
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/localization/localize.d.ts +2 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +8 -0
- package/dist/parser/parseTreeTokenReuse.d.ts +34 -0
- package/dist/parser/parseTreeTokenReuse.js +897 -0
- package/dist/parser/parseTreeTokenReuse.js.map +1 -0
- package/dist/parser/tokenizer.d.ts +10 -1
- package/dist/parser/tokenizer.js +184 -130
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/tests/checker.test.js +58 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/config.test.js +126 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +35 -0
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/hover.typedDict.get.fourslash.js +11 -0
- package/dist/tests/fourslash/hover.typedDict.get.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +14 -4
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/languageServer.test.js +15 -0
- package/dist/tests/languageServer.test.js.map +1 -1
- package/dist/tests/lsp/languageServer.js +6 -6
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/mypyPrimerAnalysis.test.js +133 -0
- package/dist/tests/mypyPrimerAnalysis.test.js.map +1 -1
- package/dist/tests/overloadResultController.test.js +379 -1
- package/dist/tests/overloadResultController.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +34 -0
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceEnumeratorSymlink.test.js +98 -13
- package/dist/tests/sourceEnumeratorSymlink.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +143 -0
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +22 -3
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +54 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +10 -3
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +1 -1
- package/dist/tests/typeEvaluator6.test.js +55 -0
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +30 -0
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +1293 -2
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/tests/types.test.js +55 -0
- package/dist/tests/types.test.js.map +1 -1
- package/dist/typeServer/programWrapper.js +8 -2
- package/dist/typeServer/programWrapper.js.map +1 -1
- package/dist/typeServer/server.d.ts +12 -2
- package/dist/typeServer/server.js +97 -0
- package/dist/typeServer/server.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overloadResultController.js","sourceRoot":"","sources":["../../../../../src/analyzer/overloadResultController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overloadResultController.js","sourceRoot":"","sources":["../../../../../src/analyzer/overloadResultController.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,26 +97,46 @@ function hasNestedOverloadAny(type) {
|
|
|
97
97
|
// This is an over-approximation for local-use preflight, not a type match.
|
|
98
98
|
// Parameter-only operands avoid contextual inference and dependent producers.
|
|
99
99
|
function isAutomaticOverloadSeedSyntax(node) {
|
|
100
|
-
|
|
101
|
-
node.d.
|
|
100
|
+
if (node.nodeType !== 9 /* ParseNodeType.Call */ ||
|
|
101
|
+
node.d.args.length > 8 ||
|
|
102
|
+
!node.d.args.every((arg) => arg.d.argCategory === 0 /* ArgCategory.Simple */ &&
|
|
103
|
+
!arg.d.name &&
|
|
104
|
+
arg.d.valueExpr.nodeType === 38 /* ParseNodeType.Name */)) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
if (node.d.leftExpr.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
|
108
|
+
return node.d.leftExpr.d.leftExpr.nodeType === 38 /* ParseNodeType.Name */;
|
|
109
|
+
}
|
|
110
|
+
return (node.d.leftExpr.nodeType === 38 /* ParseNodeType.Name */ &&
|
|
102
111
|
node.parent?.nodeType === 3 /* ParseNodeType.Assignment */ &&
|
|
103
112
|
node.parent.d.rightExpr === node &&
|
|
104
|
-
node.d.args.length > 0
|
|
105
|
-
node.d.args.length <= 8 &&
|
|
106
|
-
node.d.args.every((arg) => arg.d.argCategory === 0 /* ArgCategory.Simple */ &&
|
|
107
|
-
!arg.d.name &&
|
|
108
|
-
arg.d.valueExpr.nodeType === 38 /* ParseNodeType.Name */));
|
|
113
|
+
node.d.args.length > 0);
|
|
109
114
|
}
|
|
110
115
|
function findAutomaticOverloadSeeds(nodes, evaluator) {
|
|
111
116
|
const declarations = (name) => evaluator.lookUpSymbolRecursive(name, name.d.value, true)?.symbol.getDeclarations() ?? [];
|
|
112
117
|
return nodes.filter((node) => {
|
|
113
|
-
if (!isAutomaticOverloadSeedSyntax(node)
|
|
118
|
+
if (!isAutomaticOverloadSeedSyntax(node)) {
|
|
114
119
|
return false;
|
|
115
120
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
121
|
+
if (node.d.leftExpr.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
|
122
|
+
const receiver = node.d.leftExpr.d.leftExpr;
|
|
123
|
+
if (receiver.nodeType !== 38 /* ParseNodeType.Name */) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
const decls = declarations(receiver);
|
|
127
|
+
if (decls.length !== 1 || decls[0].type !== 2 /* DeclarationType.Param */) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else if (node.d.leftExpr.nodeType === 38 /* ParseNodeType.Name */) {
|
|
132
|
+
const callee = declarations(node.d.leftExpr);
|
|
133
|
+
if (callee.length < 2 ||
|
|
134
|
+
callee.length > 33 ||
|
|
135
|
+
callee.some((d) => d.type !== 5 /* DeclarationType.Function */ || d.isMethod || !d.node.d.returnAnnotation)) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
120
140
|
return false;
|
|
121
141
|
}
|
|
122
142
|
return node.d.args.every((arg) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overloadResultSelector.js","sourceRoot":"","sources":["../../../../../src/analyzer/overloadResultSelector.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAmCH,oEAEC;AAED,gEAGC;AA4BD,4DAmCC;AAED,oDAEC;AAID,
|
|
1
|
+
{"version":3,"file":"overloadResultSelector.js","sourceRoot":"","sources":["../../../../../src/analyzer/overloadResultSelector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as AnalyzerNodeInfo from '../analyzer/analyzerNodeInfo';
|
|
2
|
+
import { PythonVersion } from '../common/pythonVersion';
|
|
2
3
|
import { Position, Range, TextRange } from '../common/textRange';
|
|
3
4
|
import { TextRangeCollection } from '../common/textRangeCollection';
|
|
4
5
|
import { ArgumentNode, AssignmentExpressionNode, AwaitNode, CallNode, ClassNode, DecoratorNode, EvaluationScopeNode, ExecutionScopeNode, ExpressionNode, FunctionNode, ImportFromNode, IndexNode, LambdaNode, MemberAccessNode, ModuleNode, NameNode, ParameterNode, ParseNode, ParseNodeType, StatementListNode, StatementNode, StringListNode, StringNode, SuiteNode, TypeAnnotationNode, TypeParameterScopeNode } from '../parser/parseNodes';
|
|
@@ -27,6 +28,7 @@ export declare function printArg(node: ArgumentNode, flags: PrintExpressionFlags
|
|
|
27
28
|
export declare function printExpression(node: ExpressionNode, flags?: PrintExpressionFlags): string;
|
|
28
29
|
export declare function printOperator(operator: OperatorType): string;
|
|
29
30
|
export declare function isImplicitRevealTypeName(node: ExpressionNode): node is NameNode;
|
|
31
|
+
export declare function getTypedDictKeyDeletionCall(node: CallNode): MemberAccessNode | undefined;
|
|
30
32
|
export declare function getCallForName(node: NameNode): CallNode | undefined;
|
|
31
33
|
export declare function getDecoratorForName(node: NameNode): DecoratorNode | undefined;
|
|
32
34
|
export declare function getEnclosingSuite(node: ParseNode): SuiteNode | undefined;
|
|
@@ -34,6 +36,7 @@ export declare function getEnclosingClass(node: ParseNode, stopAtFunction?: bool
|
|
|
34
36
|
export declare function getEnclosingModule(node: ParseNode): ModuleNode;
|
|
35
37
|
export declare function getEnclosingClassOrModule(node: ParseNode, stopAtFunction?: boolean): ClassNode | ModuleNode | undefined;
|
|
36
38
|
export declare function getEnclosingFunction(node: ParseNode): FunctionNode | undefined;
|
|
39
|
+
export declare function isZeroArgSuperCallAllowed(node: ParseNode, pythonVersion: PythonVersion, nodeInfo: AnalyzerNodeInfo.AnalyzerNodeInfoReader): boolean;
|
|
37
40
|
export declare function getEnclosingFunctionEvaluationScope(node: ParseNode, nodeInfo: AnalyzerNodeInfo.AnalyzerNodeInfoReader): FunctionNode | undefined;
|
|
38
41
|
export declare function getEnclosingLambda(node: ParseNode): LambdaNode | undefined;
|
|
39
42
|
export declare function getEnclosingClassOrFunction(node: ParseNode): FunctionNode | ClassNode | undefined;
|
|
@@ -52,6 +52,7 @@ exports.printArg = printArg;
|
|
|
52
52
|
exports.printExpression = printExpression;
|
|
53
53
|
exports.printOperator = printOperator;
|
|
54
54
|
exports.isImplicitRevealTypeName = isImplicitRevealTypeName;
|
|
55
|
+
exports.getTypedDictKeyDeletionCall = getTypedDictKeyDeletionCall;
|
|
55
56
|
exports.getCallForName = getCallForName;
|
|
56
57
|
exports.getDecoratorForName = getDecoratorForName;
|
|
57
58
|
exports.getEnclosingSuite = getEnclosingSuite;
|
|
@@ -59,6 +60,7 @@ exports.getEnclosingClass = getEnclosingClass;
|
|
|
59
60
|
exports.getEnclosingModule = getEnclosingModule;
|
|
60
61
|
exports.getEnclosingClassOrModule = getEnclosingClassOrModule;
|
|
61
62
|
exports.getEnclosingFunction = getEnclosingFunction;
|
|
63
|
+
exports.isZeroArgSuperCallAllowed = isZeroArgSuperCallAllowed;
|
|
62
64
|
exports.getEnclosingFunctionEvaluationScope = getEnclosingFunctionEvaluationScope;
|
|
63
65
|
exports.getEnclosingLambda = getEnclosingLambda;
|
|
64
66
|
exports.getEnclosingClassOrFunction = getEnclosingClassOrFunction;
|
|
@@ -141,6 +143,7 @@ const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
|
|
|
141
143
|
const core_1 = require("../common/core");
|
|
142
144
|
const debug_1 = require("../common/debug");
|
|
143
145
|
const positionUtils_1 = require("../common/positionUtils");
|
|
146
|
+
const pythonVersion_1 = require("../common/pythonVersion");
|
|
144
147
|
const textRange_1 = require("../common/textRange");
|
|
145
148
|
const textRangeCollection_1 = require("../common/textRangeCollection");
|
|
146
149
|
const parseNodes_1 = require("../parser/parseNodes");
|
|
@@ -591,6 +594,18 @@ function printOperator(operator) {
|
|
|
591
594
|
function isImplicitRevealTypeName(node) {
|
|
592
595
|
return node.nodeType === 38 /* ParseNodeType.Name */ && node.d.value === 'reveal_type';
|
|
593
596
|
}
|
|
597
|
+
// The receiver's type must be checked by the caller; this classifies only the syntax.
|
|
598
|
+
function getTypedDictKeyDeletionCall(node) {
|
|
599
|
+
const callee = node.d.leftExpr;
|
|
600
|
+
if (callee.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
|
|
601
|
+
(callee.d.member.d.value === 'pop' ||
|
|
602
|
+
callee.d.member.d.value === 'popitem' ||
|
|
603
|
+
callee.d.member.d.value === 'clear' ||
|
|
604
|
+
callee.d.member.d.value === '__delitem__')) {
|
|
605
|
+
return callee;
|
|
606
|
+
}
|
|
607
|
+
return undefined;
|
|
608
|
+
}
|
|
594
609
|
function getCallForName(node) {
|
|
595
610
|
if (node.parent?.nodeType === 9 /* ParseNodeType.Call */ && node.parent.d.leftExpr === node) {
|
|
596
611
|
return node.parent;
|
|
@@ -690,6 +705,47 @@ function getEnclosingFunction(node) {
|
|
|
690
705
|
}
|
|
691
706
|
return undefined;
|
|
692
707
|
}
|
|
708
|
+
// Checks whether the evaluation scope can supply a first positional argument
|
|
709
|
+
// for a zero-argument `super()` call. This is not proof of runtime validity:
|
|
710
|
+
// the caller must check for an enclosing class, and this routine does not
|
|
711
|
+
// establish compatibility of the implicit receiver or model annotation frames.
|
|
712
|
+
function isZeroArgSuperCallAllowed(node, pythonVersion, nodeInfo) {
|
|
713
|
+
// Use the evaluation scope machinery to determine which frame executes
|
|
714
|
+
// the call. This handles decorators, parameter default values, class
|
|
715
|
+
// headers, lambdas, and comprehensions.
|
|
716
|
+
let curNode = getEvaluationScopeNode(node, nodeInfo).node;
|
|
717
|
+
while (curNode) {
|
|
718
|
+
switch (curNode.nodeType) {
|
|
719
|
+
case 31 /* ParseNodeType.Function */:
|
|
720
|
+
case 33 /* ParseNodeType.Lambda */: {
|
|
721
|
+
// The zero-argument form requires that the executing frame
|
|
722
|
+
// accept a first positional argument.
|
|
723
|
+
const firstParam = curNode.d.params.length > 0 ? curNode.d.params[0] : undefined;
|
|
724
|
+
return firstParam?.d.category === 0 /* ParamCategory.Simple */ && firstParam.d.name !== undefined;
|
|
725
|
+
}
|
|
726
|
+
case 11 /* ParseNodeType.Comprehension */: {
|
|
727
|
+
// A separate comprehension frame receives its iterator as the
|
|
728
|
+
// first argument. That iterator could itself be an instance of
|
|
729
|
+
// the enclosing class, so this frame alone cannot prove failure.
|
|
730
|
+
if (curNode.d.isGenerator || pythonVersion_1.PythonVersion.isLessThan(pythonVersion, pythonVersion_1.pythonVersion3_12)) {
|
|
731
|
+
return true;
|
|
732
|
+
}
|
|
733
|
+
break;
|
|
734
|
+
}
|
|
735
|
+
case 76 /* ParseNodeType.TypeParameterList */: {
|
|
736
|
+
// A type parameter scope is a proxy scope, so continue
|
|
737
|
+
// searching for the enclosing execution frame.
|
|
738
|
+
break;
|
|
739
|
+
}
|
|
740
|
+
default: {
|
|
741
|
+
// A class body or module frame receives no first argument.
|
|
742
|
+
return false;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
curNode = curNode.parent ? getEvaluationScopeNode(curNode.parent, nodeInfo).node : undefined;
|
|
746
|
+
}
|
|
747
|
+
return false;
|
|
748
|
+
}
|
|
693
749
|
// This is similar to getEnclosingFunction except that it uses evaluation
|
|
694
750
|
// scopes rather than the parse tree to determine whether the specified node
|
|
695
751
|
// is within the scope. That means if the node is within a class decorator
|