@zzzen/pyright-internal 1.2.0-dev.20230430 → 1.2.0-dev.20230514
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 +4 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +12 -0
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +89 -6
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +14 -15
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +6 -0
- package/dist/analyzer/constructors.js +513 -0
- package/dist/analyzer/constructors.js.map +1 -0
- package/dist/analyzer/dataClasses.js +86 -2
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/docStringConversion.js +1 -1
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/enums.js +62 -8
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.js +47 -29
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +2 -2
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -6
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +16 -0
- package/dist/analyzer/operations.js +749 -0
- package/dist/analyzer/operations.js.map +1 -0
- package/dist/analyzer/parseTreeUtils.d.ts +4 -2
- package/dist/analyzer/parseTreeUtils.js +32 -1
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +16 -0
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +11 -33
- package/dist/analyzer/program.js +73 -735
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/protocols.js +1 -1
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.d.ts +5 -21
- package/dist/analyzer/service.js +26 -33
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +9 -41
- package/dist/analyzer/sourceFile.js +219 -238
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.d.ts +3 -9
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/symbol.d.ts +3 -1
- package/dist/analyzer/symbol.js +5 -0
- package/dist/analyzer/symbol.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +460 -1425
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +42 -7
- package/dist/analyzer/typeEvaluatorTypes.js +33 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +2 -8
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +3 -3
- package/dist/analyzer/typePrinter.js +247 -100
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +14 -7
- package/dist/analyzer/typeUtils.js +204 -49
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +6 -7
- package/dist/analyzer/typeVarContext.js +21 -32
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typedDicts.js +2 -2
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +7 -4
- package/dist/analyzer/types.js +20 -10
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +1 -1
- package/dist/backgroundAnalysisBase.js +16 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/extensibility.d.ts +28 -4
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -0
- package/dist/common/logTracker.js +8 -1
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/lspUtils.d.ts +4 -1
- package/dist/common/lspUtils.js +38 -1
- package/dist/common/lspUtils.js.map +1 -1
- package/dist/common/pathUtils.d.ts +11 -11
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/pythonVersion.d.ts +2 -1
- package/dist/common/pythonVersion.js +1 -0
- package/dist/common/pythonVersion.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +10 -10
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +3 -7
- package/dist/languageServerBase.js +41 -73
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +50 -51
- package/dist/languageService/autoImporter.js +125 -210
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +1 -1
- package/dist/languageService/callHierarchyProvider.js +11 -37
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +39 -81
- package/dist/languageService/completionProvider.js +572 -801
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +1 -1
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +6 -7
- package/dist/languageService/documentSymbolCollector.js +47 -28
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +13 -35
- package/dist/languageService/documentSymbolProvider.js +52 -264
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +5 -6
- package/dist/languageService/hoverProvider.js +40 -132
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +6 -11
- package/dist/languageService/referencesProvider.js +23 -17
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +16 -0
- package/dist/languageService/renameProvider.js +139 -0
- package/dist/languageService/renameProvider.js.map +1 -0
- package/dist/languageService/symbolIndexer.d.ts +31 -0
- package/dist/languageService/symbolIndexer.js +105 -0
- package/dist/languageService/symbolIndexer.js.map +1 -0
- package/dist/languageService/tooltipUtils.d.ts +8 -1
- package/dist/languageService/tooltipUtils.js +102 -1
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +17 -0
- package/dist/languageService/workspaceSymbolProvider.js +133 -0
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -0
- package/dist/localization/localize.d.ts +33 -15
- package/dist/localization/localize.js +13 -7
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +14 -7
- package/dist/parser/parser.js +3 -0
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +26 -4
- package/dist/pyright.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +15 -20
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +14 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/completions.test.js +11 -236
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/docStringConversion.test.js +36 -2
- package/dist/tests/docStringConversion.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -3
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/fourslash/completions.override2.fourslash.js +1 -16
- package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/fourslash.d.ts +4 -4
- package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js +1 -1
- package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +17 -11
- package/dist/tests/harness/fourslash/testState.js +39 -50
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/importResolver.test.js +81 -1
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +1 -1
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -2
- package/dist/tests/testStateUtils.js +38 -8
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +13 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +5 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +9 -1
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +25 -9
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +95 -6
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/package.json +4 -4
- package/dist/languageService/importAdder.d.ts +0 -40
- package/dist/languageService/importAdder.js +0 -388
- package/dist/languageService/importAdder.js.map +0 -1
- package/dist/languageService/indentationUtils.d.ts +0 -16
- package/dist/languageService/indentationUtils.js +0 -727
- package/dist/languageService/indentationUtils.js.map +0 -1
- package/dist/languageService/insertionPointUtils.d.ts +0 -9
- package/dist/languageService/insertionPointUtils.js +0 -132
- package/dist/languageService/insertionPointUtils.js.map +0 -1
- package/dist/languageService/renameModuleProvider.d.ts +0 -65
- package/dist/languageService/renameModuleProvider.js +0 -939
- package/dist/languageService/renameModuleProvider.js.map +0 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +0 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.js +0 -81
- package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +0 -1
- package/dist/tests/importAdder.test.d.ts +0 -1
- package/dist/tests/importAdder.test.js +0 -1325
- package/dist/tests/importAdder.test.js.map +0 -1
- package/dist/tests/indentationUtils.ptvs.test.d.ts +0 -1
- package/dist/tests/indentationUtils.ptvs.test.js +0 -324
- package/dist/tests/indentationUtils.ptvs.test.js.map +0 -1
- package/dist/tests/indentationUtils.reindent.test.d.ts +0 -1
- package/dist/tests/indentationUtils.reindent.test.js +0 -372
- package/dist/tests/indentationUtils.reindent.test.js.map +0 -1
- package/dist/tests/indentationUtils.test.d.ts +0 -1
- package/dist/tests/indentationUtils.test.js +0 -502
- package/dist/tests/indentationUtils.test.js.map +0 -1
- package/dist/tests/insertionPointUtils.test.d.ts +0 -1
- package/dist/tests/insertionPointUtils.test.js +0 -154
- package/dist/tests/insertionPointUtils.test.js.map +0 -1
- package/dist/tests/moveSymbol.importAdder.test.d.ts +0 -1
- package/dist/tests/moveSymbol.importAdder.test.js +0 -298
- package/dist/tests/moveSymbol.importAdder.test.js.map +0 -1
- package/dist/tests/moveSymbol.insertion.test.d.ts +0 -1
- package/dist/tests/moveSymbol.insertion.test.js +0 -537
- package/dist/tests/moveSymbol.insertion.test.js.map +0 -1
- package/dist/tests/moveSymbol.misc.test.d.ts +0 -1
- package/dist/tests/moveSymbol.misc.test.js +0 -169
- package/dist/tests/moveSymbol.misc.test.js.map +0 -1
- package/dist/tests/moveSymbol.updateReference.test.d.ts +0 -1
- package/dist/tests/moveSymbol.updateReference.test.js +0 -1071
- package/dist/tests/moveSymbol.updateReference.test.js.map +0 -1
- package/dist/tests/renameModule.folder.test.d.ts +0 -1
- package/dist/tests/renameModule.folder.test.js +0 -229
- package/dist/tests/renameModule.folder.test.js.map +0 -1
- package/dist/tests/renameModule.fromImports.test.d.ts +0 -1
- package/dist/tests/renameModule.fromImports.test.js +0 -790
- package/dist/tests/renameModule.fromImports.test.js.map +0 -1
- package/dist/tests/renameModule.imports.test.d.ts +0 -1
- package/dist/tests/renameModule.imports.test.js +0 -380
- package/dist/tests/renameModule.imports.test.js.map +0 -1
- package/dist/tests/renameModule.misc.test.d.ts +0 -1
- package/dist/tests/renameModule.misc.test.js +0 -615
- package/dist/tests/renameModule.misc.test.js.map +0 -1
- package/dist/tests/renameModule.relativePath.test.d.ts +0 -1
- package/dist/tests/renameModule.relativePath.test.js +0 -231
- package/dist/tests/renameModule.relativePath.test.js.map +0 -1
- package/dist/tests/renameModuleTestUtils.d.ts +0 -4
- package/dist/tests/renameModuleTestUtils.js +0 -76
- package/dist/tests/renameModuleTestUtils.js.map +0 -1
@@ -39,17 +39,15 @@ const cancellationUtils_1 = require("../common/cancellationUtils");
|
|
39
39
|
const debug_1 = require("../common/debug");
|
40
40
|
const extensibility_1 = require("../common/extensibility");
|
41
41
|
const positionUtils_1 = require("../common/positionUtils");
|
42
|
-
const stringUtils_1 = require("../common/stringUtils");
|
43
42
|
const textRange_1 = require("../common/textRange");
|
44
43
|
const parseNodes_1 = require("../parser/parseNodes");
|
45
44
|
const tooltipUtils_1 = require("./tooltipUtils");
|
46
45
|
class HoverProvider {
|
47
|
-
constructor(_program, _filePath, _position, _format,
|
46
|
+
constructor(_program, _filePath, _position, _format, _token) {
|
48
47
|
this._program = _program;
|
49
48
|
this._filePath = _filePath;
|
50
49
|
this._position = _position;
|
51
50
|
this._format = _format;
|
52
|
-
this._supportTelemetry = _supportTelemetry;
|
53
51
|
this._token = _token;
|
54
52
|
this._parseResults = this._program.getParseResults(this._filePath);
|
55
53
|
this._sourceMapper = this._program.getSourceMapper(this._filePath, this._token, /* mapCompiled */ true);
|
@@ -57,6 +55,27 @@ class HoverProvider {
|
|
57
55
|
getHover() {
|
58
56
|
return this._convertHoverResults(this._getHoverResult());
|
59
57
|
}
|
58
|
+
static getPrimaryDeclaration(declarations) {
|
59
|
+
// In most cases, it's best to treat the first declaration as the
|
60
|
+
// "primary". This works well for properties that have setters
|
61
|
+
// which often have doc strings on the getter but not the setter.
|
62
|
+
// The one case where using the first declaration doesn't work as
|
63
|
+
// well is the case where an import statement within an __init__.py
|
64
|
+
// file uses the form "from .A import A". In this case, if we use
|
65
|
+
// the first declaration, it will show up as a module rather than
|
66
|
+
// the imported symbol type.
|
67
|
+
const primaryDeclaration = declarations[0];
|
68
|
+
if (primaryDeclaration.type === 8 /* Alias */ && declarations.length > 1) {
|
69
|
+
return declarations[1];
|
70
|
+
}
|
71
|
+
else if (primaryDeclaration.type === 1 /* Variable */ &&
|
72
|
+
declarations.length > 1 &&
|
73
|
+
primaryDeclaration.isDefinedBySlots) {
|
74
|
+
// Slots cannot have docstrings, so pick the secondary.
|
75
|
+
return declarations[1];
|
76
|
+
}
|
77
|
+
return primaryDeclaration;
|
78
|
+
}
|
60
79
|
get _evaluator() {
|
61
80
|
return this._program.evaluator;
|
62
81
|
}
|
@@ -67,15 +86,15 @@ class HoverProvider {
|
|
67
86
|
var _a;
|
68
87
|
(0, cancellationUtils_1.throwIfCancellationRequested)(this._token);
|
69
88
|
if (!this._parseResults) {
|
70
|
-
return
|
89
|
+
return null;
|
71
90
|
}
|
72
91
|
const offset = (0, positionUtils_1.convertPositionToOffset)(this._position, this._parseResults.tokenizerOutput.lines);
|
73
92
|
if (offset === undefined) {
|
74
|
-
return
|
93
|
+
return null;
|
75
94
|
}
|
76
95
|
const node = ParseTreeUtils.findNodeByOffset(this._parseResults.parseTree, offset);
|
77
96
|
if (node === undefined) {
|
78
|
-
return
|
97
|
+
return null;
|
79
98
|
}
|
80
99
|
const results = {
|
81
100
|
parts: [],
|
@@ -96,28 +115,8 @@ class HoverProvider {
|
|
96
115
|
declarations = this._evaluator.getDeclarationsForNameNode(node);
|
97
116
|
}
|
98
117
|
if (declarations && declarations.length > 0) {
|
99
|
-
|
100
|
-
// "primary". This works well for properties that have setters
|
101
|
-
// which often have doc strings on the getter but not the setter.
|
102
|
-
// The one case where using the first declaration doesn't work as
|
103
|
-
// well is the case where an import statement within an __init__.py
|
104
|
-
// file uses the form "from .A import A". In this case, if we use
|
105
|
-
// the first declaration, it will show up as a module rather than
|
106
|
-
// the imported symbol type.
|
107
|
-
let primaryDeclaration = declarations[0];
|
108
|
-
if (primaryDeclaration.type === 8 /* Alias */ && declarations.length > 1) {
|
109
|
-
primaryDeclaration = declarations[1];
|
110
|
-
}
|
111
|
-
else if (primaryDeclaration.type === 1 /* Variable */ &&
|
112
|
-
declarations.length > 1 &&
|
113
|
-
primaryDeclaration.isDefinedBySlots) {
|
114
|
-
// Slots cannot have docstrings, so pick the secondary.
|
115
|
-
primaryDeclaration = declarations[1];
|
116
|
-
}
|
118
|
+
const primaryDeclaration = HoverProvider.getPrimaryDeclaration(declarations);
|
117
119
|
this._addResultsForDeclaration(results.parts, primaryDeclaration, node);
|
118
|
-
// Add the lastKnownModule for this declaration. We'll use this
|
119
|
-
// in telemetry for hover.
|
120
|
-
results.lastKnownModule = primaryDeclaration.moduleName;
|
121
120
|
}
|
122
121
|
else if (!node.parent || node.parent.nodeType !== 37 /* ModuleName */) {
|
123
122
|
// If we had no declaration, see if we can provide a minimal tooltip. We'll skip
|
@@ -153,7 +152,7 @@ class HoverProvider {
|
|
153
152
|
this._tryAddPartsForTypedDictKey(node, type, results.parts);
|
154
153
|
}
|
155
154
|
}
|
156
|
-
return results.parts.length > 0 ? results :
|
155
|
+
return results.parts.length > 0 ? results : null;
|
157
156
|
}
|
158
157
|
_addResultsForDeclaration(parts, declaration, node) {
|
159
158
|
var _a, _b;
|
@@ -335,73 +334,26 @@ class HoverProvider {
|
|
335
334
|
});
|
336
335
|
}
|
337
336
|
_addInitOrNewMethodInsteadIfCallNode(node, parts, declaration) {
|
338
|
-
|
339
|
-
|
340
|
-
// instantiated), include the constructor arguments within the
|
341
|
-
// hover text.
|
342
|
-
let callLeftNode = node;
|
343
|
-
// Allow the left to be a member access chain (e.g. a.b.c) if the
|
344
|
-
// node in question is the last item in the chain.
|
345
|
-
if (((_a = callLeftNode === null || callLeftNode === void 0 ? void 0 : callLeftNode.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 35 /* MemberAccess */ && node === callLeftNode.parent.memberName) {
|
346
|
-
callLeftNode = node.parent;
|
347
|
-
// Allow the left to be a generic class constructor (e.g. foo[int]())
|
348
|
-
}
|
349
|
-
else if (((_b = callLeftNode === null || callLeftNode === void 0 ? void 0 : callLeftNode.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 24 /* Index */) {
|
350
|
-
callLeftNode = node.parent;
|
351
|
-
}
|
352
|
-
if (!callLeftNode ||
|
353
|
-
!callLeftNode.parent ||
|
354
|
-
callLeftNode.parent.nodeType !== 9 /* Call */ ||
|
355
|
-
callLeftNode.parent.leftExpression !== callLeftNode) {
|
337
|
+
const result = (0, tooltipUtils_1.getClassAndConstructorTypes)(node, this._evaluator);
|
338
|
+
if (!result) {
|
356
339
|
return false;
|
357
340
|
}
|
358
|
-
|
359
|
-
|
360
|
-
if (!(0, types_1.isInstantiableClass)(classType)) {
|
361
|
-
return false;
|
362
|
-
}
|
363
|
-
const instanceType = this._getType(callLeftNode.parent);
|
364
|
-
if (!(0, types_1.isClassInstance)(instanceType)) {
|
365
|
-
return false;
|
366
|
-
}
|
367
|
-
let methodType;
|
368
|
-
// Try to get the `__init__` method first because it typically has more type information than `__new__`.
|
369
|
-
// Don't exclude `object.__init__` since in the plain case we want to show Foo().
|
370
|
-
const initMember = (0, typeUtils_1.lookUpClassMember)(classType, '__init__', 8 /* SkipInstanceVariables */);
|
371
|
-
if (initMember) {
|
372
|
-
const functionType = this._evaluator.getTypeOfMember(initMember);
|
373
|
-
if ((0, types_1.isFunction)(functionType) || (0, types_1.isOverloadedFunction)(functionType)) {
|
374
|
-
methodType = this._bindFunctionToClassOrObject(node, instanceType, functionType);
|
375
|
-
}
|
376
|
-
}
|
377
|
-
// If there was no `__init__`, excluding `object` class `__init__`, or if `__init__` only had default params (*args: Any, **kwargs: Any) or no params (),
|
378
|
-
// see if we can find a better `__new__` method.
|
379
|
-
if (!methodType ||
|
380
|
-
(methodType &&
|
381
|
-
(0, types_1.isFunction)(methodType) &&
|
382
|
-
(types_1.FunctionType.hasDefaultParameters(methodType) || methodType.details.parameters.length === 0))) {
|
383
|
-
const newMember = (0, typeUtils_1.lookUpClassMember)(classType, '__new__', 4 /* SkipObjectBaseClass */ | 8 /* SkipInstanceVariables */);
|
384
|
-
if (newMember) {
|
385
|
-
const newMemberType = this._evaluator.getTypeOfMember(newMember);
|
386
|
-
// Prefer `__new__` if it doesn't have default params (*args: Any, **kwargs: Any) or no params ().
|
387
|
-
if ((0, types_1.isFunction)(newMemberType) || (0, types_1.isOverloadedFunction)(newMemberType)) {
|
388
|
-
// Set `treatConstructorAsClassMember` to true to exclude `cls` as a parameter.
|
389
|
-
methodType = this._bindFunctionToClassOrObject(node, instanceType, newMemberType,
|
390
|
-
/* treatConstructorAsClassMember */ true);
|
391
|
-
}
|
392
|
-
}
|
393
|
-
}
|
394
|
-
if (methodType && ((0, types_1.isFunction)(methodType) || (0, types_1.isOverloadedFunction)(methodType))) {
|
395
|
-
this._addResultsPart(parts, (0, tooltipUtils_1.getConstructorTooltip)(node.value, methodType, this._evaluator, this._functionSignatureDisplay),
|
341
|
+
if (result.methodType && ((0, types_1.isFunction)(result.methodType) || (0, types_1.isOverloadedFunction)(result.methodType))) {
|
342
|
+
this._addResultsPart(parts, (0, tooltipUtils_1.getConstructorTooltip)(node.value, result.methodType, this._evaluator, this._functionSignatureDisplay),
|
396
343
|
/* python */ true);
|
397
|
-
const addedDoc = this._addDocumentationPartForType(parts, methodType, declaration);
|
344
|
+
const addedDoc = this._addDocumentationPartForType(parts, result.methodType, declaration);
|
398
345
|
if (!addedDoc) {
|
399
|
-
this._addDocumentationPartForType(parts, classType, declaration);
|
346
|
+
this._addDocumentationPartForType(parts, result.classType, declaration);
|
400
347
|
}
|
401
348
|
return true;
|
402
349
|
}
|
403
350
|
return false;
|
404
351
|
}
|
352
|
+
_getType(node) {
|
353
|
+
// It does common work necessary for hover for a type we got
|
354
|
+
// from raw type evaluator.
|
355
|
+
return (0, tooltipUtils_1.getTypeForToolTip)(this._evaluator, node);
|
356
|
+
}
|
405
357
|
_getTypeText(node, expandTypeAlias = false) {
|
406
358
|
const type = this._getType(node);
|
407
359
|
return ': ' + this._evaluator.printType(type, { expandTypeAlias });
|
@@ -410,45 +362,6 @@ class HoverProvider {
|
|
410
362
|
const type = (0, tooltipUtils_1.combineExpressionTypes)(nodes, this._evaluator);
|
411
363
|
return ': ' + this._evaluator.printType(type, { expandTypeAlias });
|
412
364
|
}
|
413
|
-
_bindFunctionToClassOrObject(node, baseType, memberType, treatConstructorAsClassMember) {
|
414
|
-
const methodType = this._evaluator.bindFunctionToClassOrObject(baseType, memberType,
|
415
|
-
/* memberClass */ undefined,
|
416
|
-
/* errorNode */ undefined,
|
417
|
-
/* recursiveCount */ undefined, treatConstructorAsClassMember);
|
418
|
-
if (!methodType) {
|
419
|
-
return undefined;
|
420
|
-
}
|
421
|
-
return this._limitOverloadBasedOnCall(methodType, node);
|
422
|
-
}
|
423
|
-
_getType(node) {
|
424
|
-
var _a;
|
425
|
-
// It does common work necessary for hover for a type we got
|
426
|
-
// from raw type evaluator.
|
427
|
-
const type = (_a = this._evaluator.getType(node)) !== null && _a !== void 0 ? _a : types_1.UnknownType.create();
|
428
|
-
return this._limitOverloadBasedOnCall(type, node);
|
429
|
-
}
|
430
|
-
_limitOverloadBasedOnCall(type, node) {
|
431
|
-
// If it's an overloaded function, see if it's part of a call expression.
|
432
|
-
// If so, we may be able to eliminate some of the overloads based on
|
433
|
-
// the overload resolution.
|
434
|
-
if (!(0, types_1.isOverloadedFunction)(type) || node.nodeType !== 38 /* Name */) {
|
435
|
-
return type;
|
436
|
-
}
|
437
|
-
const callNode = ParseTreeUtils.getCallForName(node);
|
438
|
-
if (!callNode) {
|
439
|
-
return type;
|
440
|
-
}
|
441
|
-
const callTypeResult = this._evaluator.getTypeResult(callNode);
|
442
|
-
if (!callTypeResult ||
|
443
|
-
!callTypeResult.overloadsUsedForCall ||
|
444
|
-
callTypeResult.overloadsUsedForCall.length === 0) {
|
445
|
-
return type;
|
446
|
-
}
|
447
|
-
if (callTypeResult.overloadsUsedForCall.length === 1) {
|
448
|
-
return callTypeResult.overloadsUsedForCall[0];
|
449
|
-
}
|
450
|
-
return types_1.OverloadedFunctionType.create(callTypeResult.overloadsUsedForCall);
|
451
|
-
}
|
452
365
|
_addDocumentationPart(parts, node, resolvedDecl) {
|
453
366
|
const type = this._getType(node);
|
454
367
|
this._addDocumentationPartForType(parts, type, resolvedDecl, node.value);
|
@@ -488,9 +401,9 @@ class HoverProvider {
|
|
488
401
|
}
|
489
402
|
_convertHoverResults(hoverResults) {
|
490
403
|
if (!hoverResults) {
|
491
|
-
return
|
404
|
+
return null;
|
492
405
|
}
|
493
|
-
|
406
|
+
const markupString = hoverResults.parts
|
494
407
|
.map((part) => {
|
495
408
|
if (part.python) {
|
496
409
|
if (this._format === vscode_languageserver_1.MarkupKind.Markdown) {
|
@@ -507,11 +420,6 @@ class HoverProvider {
|
|
507
420
|
})
|
508
421
|
.join('')
|
509
422
|
.trimEnd();
|
510
|
-
// If we have a lastKnownModule in the hover results, stick in a comment with
|
511
|
-
// the hashed module name. This is used by the other side to send telemetry.
|
512
|
-
if (hoverResults.lastKnownModule && this._format === vscode_languageserver_1.MarkupKind.Markdown && this._supportTelemetry) {
|
513
|
-
markupString += `\n<!--moduleHash:${(0, stringUtils_1.hashString)(hoverResults.lastKnownModule)}-->`;
|
514
|
-
}
|
515
423
|
return {
|
516
424
|
contents: {
|
517
425
|
kind: this._format,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../../src/languageService/hoverProvider.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../../src/languageService/hoverProvider.ts"],"names":[],"mappings":"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"}
|
@@ -1,12 +1,8 @@
|
|
1
1
|
import { CancellationToken, Location, ResultProgressReporter } from 'vscode-languageserver';
|
2
2
|
import { Declaration } from '../analyzer/declaration';
|
3
|
-
import { SourceFile } from '../analyzer/sourceFile';
|
4
|
-
import { SourceMapper } from '../analyzer/sourceMapper';
|
5
|
-
import { TypeEvaluator } from '../analyzer/typeEvaluatorTypes';
|
6
3
|
import { ProgramView } from '../common/extensibility';
|
7
4
|
import { DocumentRange, Position } from '../common/textRange';
|
8
5
|
import { NameNode, ParseNode } from '../parser/parseNodes';
|
9
|
-
import { ParseResults } from '../parser/parser';
|
10
6
|
import { DocumentSymbolCollectorUseCase } from './documentSymbolCollector';
|
11
7
|
export declare type ReferenceCallback = (locations: DocumentRange[]) => void;
|
12
8
|
export declare class ReferencesResult {
|
@@ -24,14 +20,14 @@ export declare class ReferencesResult {
|
|
24
20
|
addLocations(...locs: DocumentRange[]): void;
|
25
21
|
}
|
26
22
|
export declare class FindReferencesTreeWalker {
|
27
|
-
private
|
23
|
+
private _program;
|
28
24
|
private _filePath;
|
29
25
|
private _referencesResult;
|
30
26
|
private _includeDeclaration;
|
31
|
-
private _evaluator;
|
32
27
|
private _cancellationToken;
|
33
|
-
|
34
|
-
|
28
|
+
private _parseResults;
|
29
|
+
constructor(_program: ProgramView, _filePath: string, _referencesResult: ReferencesResult, _includeDeclaration: boolean, _cancellationToken: CancellationToken);
|
30
|
+
findReferences(rootNode?: import("../parser/parseNodes").ModuleNode | undefined): DocumentRange[];
|
35
31
|
}
|
36
32
|
export declare class ReferencesProvider {
|
37
33
|
private _program;
|
@@ -39,7 +35,6 @@ export declare class ReferencesProvider {
|
|
39
35
|
constructor(_program: ProgramView, _token: CancellationToken);
|
40
36
|
reportReferences(filePath: string, position: Position, includeDeclaration: boolean, resultReporter?: ResultProgressReporter<Location[]>): Location[] | undefined;
|
41
37
|
addReferencesToResult(filePath: string, includeDeclaration: boolean, referencesResult: ReferencesResult): void;
|
42
|
-
static getDeclarationForNode(
|
43
|
-
static getDeclarationForPosition(
|
44
|
-
private get _evaluator();
|
38
|
+
static getDeclarationForNode(program: ProgramView, filePath: string, node: NameNode, reporter: ReferenceCallback | undefined, useCase: DocumentSymbolCollectorUseCase, token: CancellationToken): ReferencesResult | undefined;
|
39
|
+
static getDeclarationForPosition(program: ProgramView, filePath: string, position: Position, reporter: ReferenceCallback | undefined, useCase: DocumentSymbolCollectorUseCase, token: CancellationToken): ReferencesResult | undefined;
|
45
40
|
}
|
@@ -93,19 +93,24 @@ class ReferencesResult {
|
|
93
93
|
}
|
94
94
|
exports.ReferencesResult = ReferencesResult;
|
95
95
|
class FindReferencesTreeWalker {
|
96
|
-
constructor(
|
97
|
-
this.
|
96
|
+
constructor(_program, _filePath, _referencesResult, _includeDeclaration, _cancellationToken) {
|
97
|
+
this._program = _program;
|
98
98
|
this._filePath = _filePath;
|
99
99
|
this._referencesResult = _referencesResult;
|
100
100
|
this._includeDeclaration = _includeDeclaration;
|
101
|
-
this._evaluator = _evaluator;
|
102
101
|
this._cancellationToken = _cancellationToken;
|
102
|
+
this._parseResults = this._program.getParseResults(this._filePath);
|
103
103
|
}
|
104
|
-
findReferences(rootNode
|
105
|
-
|
104
|
+
findReferences(rootNode) {
|
105
|
+
var _a;
|
106
|
+
if (rootNode === void 0) { rootNode = (_a = this._parseResults) === null || _a === void 0 ? void 0 : _a.parseTree; }
|
107
|
+
const results = [];
|
108
|
+
if (!this._parseResults) {
|
109
|
+
return results;
|
110
|
+
}
|
111
|
+
const collector = new documentSymbolCollector_1.DocumentSymbolCollector(this._program, this._referencesResult.symbolNames, this._referencesResult.declarations, this._cancellationToken, rootNode,
|
106
112
|
/* treatModuleInImportAndFromImportSame */ true,
|
107
113
|
/* skipUnreachableCode */ false, this._referencesResult.useCase);
|
108
|
-
const results = [];
|
109
114
|
for (const result of collector.collect()) {
|
110
115
|
// Is it the same symbol?
|
111
116
|
if (this._includeDeclaration || result.node !== this._referencesResult.nodeAtOffset) {
|
@@ -142,7 +147,7 @@ class ReferencesProvider {
|
|
142
147
|
? (range) => resultReporter.report((0, navigationUtils_1.convertDocumentRangesToLocation)(this._program.fileSystem, range))
|
143
148
|
: (range) => (0, collectionUtils_1.appendArray)(locations, (0, navigationUtils_1.convertDocumentRangesToLocation)(this._program.fileSystem, range));
|
144
149
|
const invokedFromUserFile = (0, sourceFileInfoUtils_1.isUserCode)(sourceFileInfo);
|
145
|
-
const referencesResult = ReferencesProvider.getDeclarationForPosition(this._program
|
150
|
+
const referencesResult = ReferencesProvider.getDeclarationForPosition(this._program, filePath, position, reporter, documentSymbolCollector_1.DocumentSymbolCollectorUseCase.Reference, this._token);
|
146
151
|
if (!referencesResult) {
|
147
152
|
return;
|
148
153
|
}
|
@@ -197,23 +202,27 @@ class ReferencesProvider {
|
|
197
202
|
if (!parseResults) {
|
198
203
|
return;
|
199
204
|
}
|
200
|
-
const refTreeWalker = new FindReferencesTreeWalker(
|
205
|
+
const refTreeWalker = new FindReferencesTreeWalker(this._program, filePath, referencesResult, includeDeclaration, this._token);
|
201
206
|
referencesResult.addLocations(...refTreeWalker.findReferences());
|
202
207
|
}
|
203
|
-
static getDeclarationForNode(
|
208
|
+
static getDeclarationForNode(program, filePath, node, reporter, useCase, token) {
|
204
209
|
(0, cancellationUtils_1.throwIfCancellationRequested)(token);
|
205
|
-
const declarations = documentSymbolCollector_1.DocumentSymbolCollector.getDeclarationsForNode(
|
206
|
-
/* resolveLocalNames */ false, useCase, token
|
210
|
+
const declarations = documentSymbolCollector_1.DocumentSymbolCollector.getDeclarationsForNode(program, node,
|
211
|
+
/* resolveLocalNames */ false, useCase, token);
|
207
212
|
if (declarations.length === 0) {
|
208
213
|
return undefined;
|
209
214
|
}
|
210
|
-
const requiresGlobalSearch = isVisibleOutside(evaluator, filePath, node, declarations);
|
215
|
+
const requiresGlobalSearch = isVisibleOutside(program.evaluator, filePath, node, declarations);
|
211
216
|
const symbolNames = new Set(declarations.map((d) => (0, declarationUtils_1.getNameFromDeclaration)(d)).filter((n) => !!n));
|
212
217
|
symbolNames.add(node.value);
|
213
218
|
return new ReferencesResult(requiresGlobalSearch, node, [...symbolNames.values()], declarations, useCase, reporter);
|
214
219
|
}
|
215
|
-
static getDeclarationForPosition(
|
220
|
+
static getDeclarationForPosition(program, filePath, position, reporter, useCase, token) {
|
216
221
|
(0, cancellationUtils_1.throwIfCancellationRequested)(token);
|
222
|
+
const parseResults = program.getParseResults(filePath);
|
223
|
+
if (!parseResults) {
|
224
|
+
return undefined;
|
225
|
+
}
|
217
226
|
const offset = (0, positionUtils_1.convertPositionToOffset)(position, parseResults.tokenizerOutput.lines);
|
218
227
|
if (offset === undefined) {
|
219
228
|
return undefined;
|
@@ -226,10 +235,7 @@ class ReferencesProvider {
|
|
226
235
|
if (node.nodeType !== 38 /* Name */) {
|
227
236
|
return undefined;
|
228
237
|
}
|
229
|
-
return this.getDeclarationForNode(
|
230
|
-
}
|
231
|
-
get _evaluator() {
|
232
|
-
return this._program.evaluator;
|
238
|
+
return this.getDeclarationForNode(program, filePath, node, reporter, useCase, token);
|
233
239
|
}
|
234
240
|
}
|
235
241
|
exports.ReferencesProvider = ReferencesProvider;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"referencesProvider.js","sourceRoot":"","sources":["../../../src/languageService/referencesProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;AAIH,yDAA2F;AAC3F,mEAAsE;AACtE,2EAA6D;
|
1
|
+
{"version":3,"file":"referencesProvider.js","sourceRoot":"","sources":["../../../src/languageService/referencesProvider.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { CancellationToken, WorkspaceEdit } from 'vscode-languageserver';
|
2
|
+
import { ProgramView } from '../common/extensibility';
|
3
|
+
import { Position, Range } from '../common/textRange';
|
4
|
+
import { ReferencesResult } from '../languageService/referencesProvider';
|
5
|
+
export declare class RenameProvider {
|
6
|
+
private _program;
|
7
|
+
private _filePath;
|
8
|
+
private _position;
|
9
|
+
private _token;
|
10
|
+
private readonly _parseResults;
|
11
|
+
constructor(_program: ProgramView, _filePath: string, _position: Position, _token: CancellationToken);
|
12
|
+
canRenameSymbol(isDefaultWorkspace: boolean): Range | null;
|
13
|
+
renameSymbol(newName: string, isDefaultWorkspace: boolean): WorkspaceEdit | null;
|
14
|
+
static getRenameSymbolMode(program: ProgramView, filePath: string, referencesResult: ReferencesResult, isDefaultWorkspace: boolean): "none" | "singleFileMode" | "multiFileMode";
|
15
|
+
private _getReferenceResult;
|
16
|
+
}
|