@zzzen/pyright-internal 1.2.0-dev.20230423 → 1.2.0-dev.20230430

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.
Files changed (166) hide show
  1. package/dist/analyzer/analyzerFileInfo.d.ts +4 -1
  2. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  3. package/dist/analyzer/backgroundAnalysisProgram.d.ts +4 -4
  4. package/dist/analyzer/backgroundAnalysisProgram.js +10 -7
  5. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  6. package/dist/analyzer/binder.js +12 -7
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/checker.js +6 -3
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/dataClasses.js +5 -2
  11. package/dist/analyzer/dataClasses.js.map +1 -1
  12. package/dist/analyzer/declarationUtils.d.ts +6 -1
  13. package/dist/analyzer/declarationUtils.js +10 -8
  14. package/dist/analyzer/declarationUtils.js.map +1 -1
  15. package/dist/analyzer/importResolver.d.ts +15 -15
  16. package/dist/analyzer/importResolver.js +477 -477
  17. package/dist/analyzer/importResolver.js.map +1 -1
  18. package/dist/analyzer/namedTuples.d.ts +1 -1
  19. package/dist/analyzer/namedTuples.js +29 -41
  20. package/dist/analyzer/namedTuples.js.map +1 -1
  21. package/dist/analyzer/packageTypeReport.d.ts +2 -1
  22. package/dist/analyzer/packageTypeReport.js +2 -1
  23. package/dist/analyzer/packageTypeReport.js.map +1 -1
  24. package/dist/analyzer/packageTypeVerifier.d.ts +1 -1
  25. package/dist/analyzer/packageTypeVerifier.js +27 -13
  26. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  27. package/dist/analyzer/program.d.ts +25 -37
  28. package/dist/analyzer/program.js +1356 -1508
  29. package/dist/analyzer/program.js.map +1 -1
  30. package/dist/analyzer/protocols.js +1 -1
  31. package/dist/analyzer/protocols.js.map +1 -1
  32. package/dist/analyzer/service.d.ts +12 -25
  33. package/dist/analyzer/service.js +76 -109
  34. package/dist/analyzer/service.js.map +1 -1
  35. package/dist/analyzer/sourceFile.d.ts +6 -18
  36. package/dist/analyzer/sourceFile.js +57 -121
  37. package/dist/analyzer/sourceFile.js.map +1 -1
  38. package/dist/analyzer/sourceFileInfoUtils.d.ts +7 -1
  39. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  40. package/dist/analyzer/typeEvaluator.js +354 -322
  41. package/dist/analyzer/typeEvaluator.js.map +1 -1
  42. package/dist/analyzer/typeEvaluatorTypes.d.ts +6 -2
  43. package/dist/analyzer/typeGuards.js +3 -1
  44. package/dist/analyzer/typeGuards.js.map +1 -1
  45. package/dist/analyzer/typeStubWriter.js.map +1 -1
  46. package/dist/analyzer/typeUtils.d.ts +1 -0
  47. package/dist/analyzer/typeUtils.js +35 -8
  48. package/dist/analyzer/typeUtils.js.map +1 -1
  49. package/dist/backgroundAnalysisBase.d.ts +10 -11
  50. package/dist/backgroundAnalysisBase.js +87 -87
  51. package/dist/backgroundAnalysisBase.js.map +1 -1
  52. package/dist/commands/dumpFileDebugInfoCommand.js +8 -8
  53. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  54. package/dist/commands/quickActionCommand.js +4 -1
  55. package/dist/commands/quickActionCommand.js.map +1 -1
  56. package/dist/common/cancellationUtils.d.ts +1 -1
  57. package/dist/common/cancellationUtils.js +9 -9
  58. package/dist/common/cancellationUtils.js.map +1 -1
  59. package/dist/common/commandLineOptions.d.ts +1 -2
  60. package/dist/common/commandLineOptions.js.map +1 -1
  61. package/dist/common/configOptions.d.ts +2 -2
  62. package/dist/common/configOptions.js.map +1 -1
  63. package/dist/common/console.d.ts +5 -9
  64. package/dist/common/console.js +46 -33
  65. package/dist/common/console.js.map +1 -1
  66. package/dist/common/deferred.js +10 -10
  67. package/dist/common/deferred.js.map +1 -1
  68. package/dist/common/extensibility.d.ts +26 -5
  69. package/dist/common/extensibility.js +1 -1
  70. package/dist/common/extensibility.js.map +1 -1
  71. package/dist/common/fileBasedCancellationUtils.js +5 -5
  72. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  73. package/dist/common/fileSystem.d.ts +12 -10
  74. package/dist/common/fileSystem.js.map +1 -1
  75. package/dist/common/fullAccessHost.d.ts +3 -3
  76. package/dist/common/fullAccessHost.js +6 -6
  77. package/dist/common/fullAccessHost.js.map +1 -1
  78. package/dist/common/pathUtils.d.ts +2 -2
  79. package/dist/common/pathUtils.js.map +1 -1
  80. package/dist/common/realFileSystem.js +12 -7
  81. package/dist/common/realFileSystem.js.map +1 -1
  82. package/dist/common/uriParser.d.ts +2 -2
  83. package/dist/common/uriParser.js +3 -3
  84. package/dist/common/uriParser.js.map +1 -1
  85. package/dist/common/workspaceEditUtils.js +7 -4
  86. package/dist/common/workspaceEditUtils.js.map +1 -1
  87. package/dist/languageServerBase.d.ts +32 -30
  88. package/dist/languageServerBase.js +274 -336
  89. package/dist/languageServerBase.js.map +1 -1
  90. package/dist/languageService/analyzerServiceExecutor.js +0 -1
  91. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  92. package/dist/languageService/callHierarchyProvider.d.ts +16 -12
  93. package/dist/languageService/callHierarchyProvider.js +125 -41
  94. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  95. package/dist/languageService/definitionProvider.d.ts +23 -9
  96. package/dist/languageService/definitionProvider.js +116 -91
  97. package/dist/languageService/definitionProvider.js.map +1 -1
  98. package/dist/languageService/documentHighlightProvider.d.ts +8 -3
  99. package/dist/languageService/documentHighlightProvider.js +17 -6
  100. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  101. package/dist/languageService/documentSymbolCollector.d.ts +2 -2
  102. package/dist/languageService/documentSymbolCollector.js +4 -3
  103. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  104. package/dist/languageService/documentSymbolProvider.js +5 -3
  105. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  106. package/dist/languageService/hoverProvider.js +1 -1
  107. package/dist/languageService/hoverProvider.js.map +1 -1
  108. package/dist/languageService/insertionPointUtils.js +3 -3
  109. package/dist/languageService/insertionPointUtils.js.map +1 -1
  110. package/dist/languageService/navigationUtils.d.ts +6 -0
  111. package/dist/languageService/navigationUtils.js +28 -0
  112. package/dist/languageService/navigationUtils.js.map +1 -0
  113. package/dist/languageService/quickActions.d.ts +2 -2
  114. package/dist/languageService/quickActions.js +12 -1
  115. package/dist/languageService/quickActions.js.map +1 -1
  116. package/dist/languageService/referencesProvider.d.ts +8 -2
  117. package/dist/languageService/referencesProvider.js +81 -3
  118. package/dist/languageService/referencesProvider.js.map +1 -1
  119. package/dist/languageService/renameModuleProvider.d.ts +13 -13
  120. package/dist/languageService/renameModuleProvider.js +43 -43
  121. package/dist/languageService/renameModuleProvider.js.map +1 -1
  122. package/dist/languageService/signatureHelpProvider.d.ts +19 -23
  123. package/dist/languageService/signatureHelpProvider.js +111 -18
  124. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  125. package/dist/parser/characterStream.d.ts +3 -3
  126. package/dist/parser/characterStream.js +12 -12
  127. package/dist/parser/characterStream.js.map +1 -1
  128. package/dist/parser/parser.d.ts +1 -1
  129. package/dist/parser/parser.js.map +1 -1
  130. package/dist/pyright.js +57 -54
  131. package/dist/pyright.js.map +1 -1
  132. package/dist/pyrightFileSystem.d.ts +1 -1
  133. package/dist/pyrightFileSystem.js +21 -21
  134. package/dist/pyrightFileSystem.js.map +1 -1
  135. package/dist/readonlyAugmentedFileSystem.d.ts +6 -6
  136. package/dist/readonlyAugmentedFileSystem.js +28 -28
  137. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  138. package/dist/server.js +6 -6
  139. package/dist/server.js.map +1 -1
  140. package/dist/tests/chainedSourceFiles.test.js +1 -1
  141. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  142. package/dist/tests/checker.test.js +1 -1
  143. package/dist/tests/harness/fourslash/testLanguageService.d.ts +3 -3
  144. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  145. package/dist/tests/harness/fourslash/testState.d.ts +8 -8
  146. package/dist/tests/harness/fourslash/testState.js +109 -99
  147. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  148. package/dist/tests/harness/vfs/filesystem.d.ts +8 -8
  149. package/dist/tests/harness/vfs/filesystem.js +68 -68
  150. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  151. package/dist/tests/importStatementUtils.test.js +34 -0
  152. package/dist/tests/importStatementUtils.test.js.map +1 -1
  153. package/dist/tests/moveSymbol.updateReference.test.js +14 -0
  154. package/dist/tests/moveSymbol.updateReference.test.js.map +1 -1
  155. package/dist/tests/signatureHelp.test.js +5 -1
  156. package/dist/tests/signatureHelp.test.js.map +1 -1
  157. package/dist/tests/sourceFile.test.js +1 -1
  158. package/dist/tests/sourceFile.test.js.map +1 -1
  159. package/dist/tests/testStateUtils.js +1 -1
  160. package/dist/tests/testStateUtils.js.map +1 -1
  161. package/dist/tests/typeEvaluator1.test.js +8 -0
  162. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  163. package/dist/tests/typeEvaluator2.test.js +12 -0
  164. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  165. package/dist/tests/typeEvaluator3.test.js +1 -1
  166. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"languageServerBase.js","sourceRoot":"","sources":["../../src/languageServerBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languageServerBase.js","sourceRoot":"","sources":["../../src/languageServerBase.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,6 @@ function getEffectiveCommandLineOptions(languageServiceRootPath, workspaceRootPa
53
53
  var _a, _b, _c, _d, _e;
54
54
  const commandLineOptions = new commandLineOptions_1.CommandLineOptions(workspaceRootPath, true);
55
55
  commandLineOptions.checkOnlyOpenFiles = serverSettings.openFilesOnly;
56
- commandLineOptions.useLibraryCodeForTypes = serverSettings.useLibraryCodeForTypes;
57
56
  commandLineOptions.typeCheckingMode = serverSettings.typeCheckingMode;
58
57
  commandLineOptions.autoImportCompletions = serverSettings.autoImportCompletions;
59
58
  commandLineOptions.indexing = serverSettings.indexing;
@@ -1 +1 @@
1
- {"version":3,"file":"analyzerServiceExecutor.js","sourceRoot":"","sources":["../../../src/languageService/analyzerServiceExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzerServiceExecutor.js","sourceRoot":"","sources":["../../../src/languageService/analyzerServiceExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,20 @@
1
1
  import { CancellationToken } from 'vscode-languageserver';
2
2
  import { CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall } from 'vscode-languageserver-types';
3
- import { Declaration } from '../analyzer/declaration';
4
- import { TypeEvaluator } from '../analyzer/typeEvaluatorTypes';
5
- import { ReferencesResult } from '../languageService/referencesProvider';
6
- import { ParseResults } from '../parser/parser';
3
+ import { ProgramView } from '../common/extensibility';
4
+ import { Position } from '../common/textRange';
7
5
  export declare class CallHierarchyProvider {
8
- static getCallForDeclaration(symbolName: string, declaration: Declaration, evaluator: TypeEvaluator, token: CancellationToken, callItemUri: string): CallHierarchyItem | undefined;
9
- static getIncomingCallsForDeclaration(filePath: string, symbolName: string, declaration: Declaration, parseResults: ParseResults, evaluator: TypeEvaluator, token: CancellationToken): CallHierarchyIncomingCall[] | undefined;
10
- static getOutgoingCallsForDeclaration(declaration: Declaration, parseResults: ParseResults, evaluator: TypeEvaluator, token: CancellationToken): CallHierarchyOutgoingCall[] | undefined;
11
- static getTargetDeclaration(referencesResult: ReferencesResult, filePath: string): {
12
- targetDecl: Declaration;
13
- callItemUri: string;
14
- symbolName: string;
15
- };
6
+ private _program;
7
+ private _filePath;
8
+ private _position;
9
+ private _token;
10
+ private readonly _parseResults;
11
+ private readonly _sourceMapper;
12
+ constructor(_program: ProgramView, _filePath: string, _position: Position, _token: CancellationToken);
13
+ onPrepare(): CallHierarchyItem[] | null;
14
+ getIncomingCalls(): CallHierarchyIncomingCall[] | null;
15
+ getOutgoingCalls(): CallHierarchyOutgoingCall[] | null;
16
+ private get _evaluator();
17
+ private _getTargetDeclaration;
18
+ private _getIncomingCallsForDeclaration;
19
+ private _getDeclarationForPosition;
16
20
  }
@@ -33,60 +33,123 @@ const vscode_languageserver_1 = require("vscode-languageserver");
33
33
  const DeclarationUtils = __importStar(require("../analyzer/declarationUtils"));
34
34
  const ParseTreeUtils = __importStar(require("../analyzer/parseTreeUtils"));
35
35
  const parseTreeWalker_1 = require("../analyzer/parseTreeWalker");
36
- const types_1 = require("../analyzer/types");
36
+ const sourceFileInfoUtils_1 = require("../analyzer/sourceFileInfoUtils");
37
37
  const typeUtils_1 = require("../analyzer/typeUtils");
38
+ const types_1 = require("../analyzer/types");
38
39
  const cancellationUtils_1 = require("../common/cancellationUtils");
39
40
  const pathUtils_1 = require("../common/pathUtils");
40
41
  const positionUtils_1 = require("../common/positionUtils");
41
42
  const textRange_1 = require("../common/textRange");
43
+ const referencesProvider_1 = require("../languageService/referencesProvider");
44
+ const documentSymbolCollector_1 = require("./documentSymbolCollector");
45
+ const navigationUtils_1 = require("./navigationUtils");
42
46
  class CallHierarchyProvider {
43
- static getCallForDeclaration(symbolName, declaration, evaluator, token, callItemUri) {
44
- (0, cancellationUtils_1.throwIfCancellationRequested)(token);
45
- if (declaration.type === 5 /* Function */ ||
46
- declaration.type === 6 /* Class */ ||
47
- declaration.type === 8 /* Alias */) {
48
- // make sure the alias is resolved to class or function
49
- if (declaration.type === 8 /* Alias */) {
50
- const resolvedDecl = evaluator.resolveAliasDeclaration(declaration, true);
51
- if (!resolvedDecl) {
52
- return undefined;
53
- }
54
- if (resolvedDecl.type !== 5 /* Function */ && resolvedDecl.type !== 6 /* Class */) {
55
- return undefined;
56
- }
47
+ constructor(_program, _filePath, _position, _token) {
48
+ this._program = _program;
49
+ this._filePath = _filePath;
50
+ this._position = _position;
51
+ this._token = _token;
52
+ this._parseResults = this._program.getParseResults(this._filePath);
53
+ this._sourceMapper = this._program.getSourceMapper(this._filePath, this._token);
54
+ }
55
+ onPrepare() {
56
+ (0, cancellationUtils_1.throwIfCancellationRequested)(this._token);
57
+ if (!this._parseResults) {
58
+ return null;
59
+ }
60
+ const referencesResult = this._getDeclarationForPosition();
61
+ if (!referencesResult || referencesResult.declarations.length === 0) {
62
+ return null;
63
+ }
64
+ const { targetDecl, callItemUri, symbolName } = this._getTargetDeclaration(referencesResult);
65
+ if (targetDecl.type !== 5 /* Function */ &&
66
+ targetDecl.type !== 6 /* Class */ &&
67
+ targetDecl.type !== 8 /* Alias */) {
68
+ return null;
69
+ }
70
+ // make sure the alias is resolved to class or function
71
+ if (targetDecl.type === 8 /* Alias */) {
72
+ const resolvedDecl = this._evaluator.resolveAliasDeclaration(targetDecl, true);
73
+ if (!resolvedDecl) {
74
+ return null;
75
+ }
76
+ if (resolvedDecl.type !== 5 /* Function */ && resolvedDecl.type !== 6 /* Class */) {
77
+ return null;
57
78
  }
58
- const callItem = {
59
- name: symbolName,
60
- kind: getSymbolKind(declaration, evaluator),
61
- uri: callItemUri,
62
- range: declaration.range,
63
- selectionRange: declaration.range,
64
- };
65
- return callItem;
66
79
  }
67
- return undefined;
80
+ const callItem = {
81
+ name: symbolName,
82
+ kind: getSymbolKind(targetDecl, this._evaluator),
83
+ uri: callItemUri,
84
+ range: targetDecl.range,
85
+ selectionRange: targetDecl.range,
86
+ };
87
+ if (!(0, navigationUtils_1.canNavigateToFile)(this._program.fileSystem, callItem.uri)) {
88
+ return null;
89
+ }
90
+ // Convert the file path in the item to proper URI.
91
+ callItem.uri = (0, pathUtils_1.convertPathToUri)(this._program.fileSystem, callItem.uri);
92
+ return [callItem];
68
93
  }
69
- static getIncomingCallsForDeclaration(filePath, symbolName, declaration, parseResults, evaluator, token) {
70
- (0, cancellationUtils_1.throwIfCancellationRequested)(token);
71
- const callFinder = new FindIncomingCallTreeWalker(filePath, symbolName, declaration, parseResults, evaluator, token);
72
- const incomingCalls = callFinder.findCalls();
73
- return incomingCalls.length > 0 ? incomingCalls : undefined;
94
+ getIncomingCalls() {
95
+ (0, cancellationUtils_1.throwIfCancellationRequested)(this._token);
96
+ if (!this._parseResults) {
97
+ return null;
98
+ }
99
+ const referencesResult = this._getDeclarationForPosition();
100
+ if (!referencesResult || referencesResult.declarations.length === 0) {
101
+ return null;
102
+ }
103
+ const { targetDecl, symbolName } = this._getTargetDeclaration(referencesResult);
104
+ const items = [];
105
+ const sourceFiles = targetDecl.type === 8 /* Alias */
106
+ ? [this._program.getSourceFileInfo(this._filePath)]
107
+ : this._program.getSourceFileInfoList();
108
+ for (const curSourceFileInfo of sourceFiles) {
109
+ if ((0, sourceFileInfoUtils_1.isUserCode)(curSourceFileInfo) || curSourceFileInfo.isOpenByClient) {
110
+ const filePath = curSourceFileInfo.sourceFile.getFilePath();
111
+ const itemsToAdd = this._getIncomingCallsForDeclaration(this._program.getParseResults(filePath), filePath, symbolName, targetDecl);
112
+ if (itemsToAdd) {
113
+ items.push(...itemsToAdd);
114
+ }
115
+ // This operation can consume significant memory, so check
116
+ // for situations where we need to discard the type cache.
117
+ this._program.handleMemoryHighUsage();
118
+ }
119
+ }
120
+ if (items.length === 0) {
121
+ return null;
122
+ }
123
+ const callItems = items.filter((item) => (0, navigationUtils_1.canNavigateToFile)(this._program.fileSystem, item.from.uri));
124
+ // Convert the file paths in the items to proper URIs.
125
+ callItems.forEach((item) => {
126
+ item.from.uri = (0, pathUtils_1.convertPathToUri)(this._program.fileSystem, item.from.uri);
127
+ });
128
+ return callItems;
74
129
  }
75
- static getOutgoingCallsForDeclaration(declaration, parseResults, evaluator, token) {
130
+ getOutgoingCalls() {
76
131
  var _a;
77
- (0, cancellationUtils_1.throwIfCancellationRequested)(token);
132
+ (0, cancellationUtils_1.throwIfCancellationRequested)(this._token);
133
+ if (!this._parseResults) {
134
+ return null;
135
+ }
136
+ const referencesResult = this._getDeclarationForPosition();
137
+ if (!referencesResult || referencesResult.declarations.length === 0) {
138
+ return null;
139
+ }
140
+ const { targetDecl } = this._getTargetDeclaration(referencesResult);
78
141
  // Find the parse node root corresponding to the function or class.
79
142
  let parseRoot;
80
- const resolvedDecl = evaluator.resolveAliasDeclaration(declaration, /* resolveLocalNames */ true);
143
+ const resolvedDecl = this._evaluator.resolveAliasDeclaration(targetDecl, /* resolveLocalNames */ true);
81
144
  if (!resolvedDecl) {
82
- return undefined;
145
+ return null;
83
146
  }
84
147
  if (resolvedDecl.type === 5 /* Function */) {
85
148
  parseRoot = resolvedDecl.node;
86
149
  }
87
150
  else if (resolvedDecl.type === 6 /* Class */) {
88
151
  // Look up the __init__ method for this class.
89
- const classType = (_a = evaluator.getTypeForDeclaration(resolvedDecl)) === null || _a === void 0 ? void 0 : _a.type;
152
+ const classType = (_a = this._evaluator.getTypeForDeclaration(resolvedDecl)) === null || _a === void 0 ? void 0 : _a.type;
90
153
  if (classType && (0, types_1.isInstantiableClass)(classType)) {
91
154
  // Don't perform a recursive search of parent classes in this
92
155
  // case because we don't want to find an inherited __init__
@@ -95,7 +158,7 @@ class CallHierarchyProvider {
95
158
  4 /* SkipObjectBaseClass */ |
96
159
  2 /* SkipBaseClasses */);
97
160
  if (initMethodMember) {
98
- const initMethodType = evaluator.getTypeOfMember(initMethodMember);
161
+ const initMethodType = this._evaluator.getTypeOfMember(initMethodMember);
99
162
  if (initMethodType && (0, types_1.isFunction)(initMethodType)) {
100
163
  const initDecls = initMethodMember.symbol.getDeclarations();
101
164
  if (initDecls && initDecls.length > 0) {
@@ -109,13 +172,24 @@ class CallHierarchyProvider {
109
172
  }
110
173
  }
111
174
  if (!parseRoot) {
112
- return undefined;
175
+ return null;
113
176
  }
114
- const callFinder = new FindOutgoingCallTreeWalker(parseRoot, parseResults, evaluator, token);
177
+ const callFinder = new FindOutgoingCallTreeWalker(parseRoot, this._parseResults, this._evaluator, this._token);
115
178
  const outgoingCalls = callFinder.findCalls();
116
- return outgoingCalls.length > 0 ? outgoingCalls : undefined;
179
+ if (outgoingCalls.length === 0) {
180
+ return null;
181
+ }
182
+ const callItems = outgoingCalls.filter((item) => (0, navigationUtils_1.canNavigateToFile)(this._program.fileSystem, item.to.uri));
183
+ // Convert the file paths in the items to proper URIs.
184
+ callItems.forEach((item) => {
185
+ item.to.uri = (0, pathUtils_1.convertPathToUri)(this._program.fileSystem, item.to.uri);
186
+ });
187
+ return callItems;
117
188
  }
118
- static getTargetDeclaration(referencesResult, filePath) {
189
+ get _evaluator() {
190
+ return this._program.evaluator;
191
+ }
192
+ _getTargetDeclaration(referencesResult) {
119
193
  // If there's more than one declaration, pick the target one.
120
194
  // We'll always prefer one with a declared type, and we'll always
121
195
  // prefer later declarations.
@@ -136,12 +210,12 @@ class CallHierarchyProvider {
136
210
  }
137
211
  let symbolName;
138
212
  // Although the LSP specification requires a URI, we are using a file path
139
- // here because it is converted to the proper URI in LanguageServerBase.
213
+ // here because it is converted to the proper URI by the caller.
140
214
  // This simplifies our code and ensures compatibility with the LSP specification.
141
215
  let callItemUri;
142
216
  if (targetDecl.type === 8 /* Alias */) {
143
217
  symbolName = referencesResult.nodeAtOffset.value;
144
- callItemUri = filePath;
218
+ callItemUri = this._filePath;
145
219
  }
146
220
  else {
147
221
  symbolName = DeclarationUtils.getNameFromDeclaration(targetDecl) || referencesResult.symbolNames[0];
@@ -149,6 +223,16 @@ class CallHierarchyProvider {
149
223
  }
150
224
  return { targetDecl, callItemUri, symbolName };
151
225
  }
226
+ _getIncomingCallsForDeclaration(parseResults, filePath, symbolName, declaration) {
227
+ (0, cancellationUtils_1.throwIfCancellationRequested)(this._token);
228
+ const callFinder = new FindIncomingCallTreeWalker(filePath, symbolName, declaration, parseResults, this._evaluator, this._token);
229
+ const incomingCalls = callFinder.findCalls();
230
+ return incomingCalls.length > 0 ? incomingCalls : undefined;
231
+ }
232
+ _getDeclarationForPosition() {
233
+ return referencesProvider_1.ReferencesProvider.getDeclarationForPosition(this._sourceMapper, this._parseResults, this._filePath, this._position, this._evaluator,
234
+ /* reporter */ undefined, documentSymbolCollector_1.DocumentSymbolCollectorUseCase.Reference, this._token);
235
+ }
152
236
  }
153
237
  exports.CallHierarchyProvider = CallHierarchyProvider;
154
238
  class FindOutgoingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
@@ -1 +1 @@
1
- {"version":3,"file":"callHierarchyProvider.js","sourceRoot":"","sources":["../../../src/languageService/callHierarchyProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callHierarchyProvider.js","sourceRoot":"","sources":["../../../src/languageService/callHierarchyProvider.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,34 @@
1
1
  import { CancellationToken } from 'vscode-languageserver';
2
+ import { Declaration } from '../analyzer/declaration';
2
3
  import { SourceMapper } from '../analyzer/sourceMapper';
3
4
  import { TypeEvaluator } from '../analyzer/typeEvaluatorTypes';
5
+ import { ProgramView } from '../common/extensibility';
4
6
  import { DocumentRange, Position } from '../common/textRange';
5
7
  import { ParseNode } from '../parser/parseNodes';
6
- import { ParseResults } from '../parser/parser';
7
8
  export declare enum DefinitionFilter {
8
9
  All = "all",
9
10
  PreferSource = "preferSource",
10
11
  PreferStubs = "preferStubs"
11
12
  }
12
- export declare class DefinitionProvider {
13
- static getDefinitionsForPosition(sourceMapper: SourceMapper, parseResults: ParseResults, position: Position, filter: DefinitionFilter, evaluator: TypeEvaluator, token: CancellationToken): DocumentRange[] | undefined;
14
- static getDefinitionsForNode(sourceMapper: SourceMapper, node: ParseNode, filter: DefinitionFilter, evaluator: TypeEvaluator, token: CancellationToken): DocumentRange[] | undefined;
15
- static getTypeDefinitionsForPosition(sourceMapper: SourceMapper, parseResults: ParseResults, position: Position, evaluator: TypeEvaluator, filePath: string, token: CancellationToken): DocumentRange[] | undefined;
16
- private static _getDeclarationsForNameNode;
17
- private static _resolveDeclarations;
18
- private static _createModuleEntry;
19
- private static _addIfUnique;
13
+ declare class DefinitionProviderBase {
14
+ protected readonly sourceMapper: SourceMapper;
15
+ protected readonly evaluator: TypeEvaluator;
16
+ protected readonly node: ParseNode | undefined;
17
+ protected readonly offset: number;
18
+ private readonly _filter;
19
+ protected readonly token: CancellationToken;
20
+ protected constructor(sourceMapper: SourceMapper, evaluator: TypeEvaluator, node: ParseNode | undefined, offset: number, _filter: DefinitionFilter, token: CancellationToken);
21
+ getDefinitionsForNode(node: ParseNode, offset: number): DocumentRange[] | undefined;
22
+ protected resolveDeclarations(declarations: Declaration[] | undefined, definitions: DocumentRange[]): void;
20
23
  }
24
+ export declare class DefinitionProvider extends DefinitionProviderBase {
25
+ constructor(program: ProgramView, filePath: string, position: Position, filter: DefinitionFilter, token: CancellationToken);
26
+ static getDefinitionsForNode(sourceMapper: SourceMapper, evaluator: TypeEvaluator, node: ParseNode, offset: number, token: CancellationToken): DocumentRange[] | undefined;
27
+ getDefinitions(): DocumentRange[] | undefined;
28
+ }
29
+ export declare class TypeDefinitionProvider extends DefinitionProviderBase {
30
+ private readonly _filePath;
31
+ constructor(program: ProgramView, filePath: string, position: Position, token: CancellationToken);
32
+ getDefinitions(): DocumentRange[] | undefined;
33
+ }
34
+ export {};