@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.
Files changed (231) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +4 -1
  2. package/dist/analyzer/backgroundAnalysisProgram.js +12 -0
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/checker.d.ts +1 -0
  5. package/dist/analyzer/checker.js +89 -6
  6. package/dist/analyzer/checker.js.map +1 -1
  7. package/dist/analyzer/constraintSolver.js +14 -15
  8. package/dist/analyzer/constraintSolver.js.map +1 -1
  9. package/dist/analyzer/constructors.d.ts +6 -0
  10. package/dist/analyzer/constructors.js +513 -0
  11. package/dist/analyzer/constructors.js.map +1 -0
  12. package/dist/analyzer/dataClasses.js +86 -2
  13. package/dist/analyzer/dataClasses.js.map +1 -1
  14. package/dist/analyzer/docStringConversion.js +1 -1
  15. package/dist/analyzer/docStringConversion.js.map +1 -1
  16. package/dist/analyzer/enums.js +62 -8
  17. package/dist/analyzer/enums.js.map +1 -1
  18. package/dist/analyzer/importResolver.js +47 -29
  19. package/dist/analyzer/importResolver.js.map +1 -1
  20. package/dist/analyzer/importStatementUtils.d.ts +2 -2
  21. package/dist/analyzer/importStatementUtils.js.map +1 -1
  22. package/dist/analyzer/namedTuples.js +3 -6
  23. package/dist/analyzer/namedTuples.js.map +1 -1
  24. package/dist/analyzer/operations.d.ts +16 -0
  25. package/dist/analyzer/operations.js +749 -0
  26. package/dist/analyzer/operations.js.map +1 -0
  27. package/dist/analyzer/parseTreeUtils.d.ts +4 -2
  28. package/dist/analyzer/parseTreeUtils.js +32 -1
  29. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  30. package/dist/analyzer/patternMatching.js +16 -0
  31. package/dist/analyzer/patternMatching.js.map +1 -1
  32. package/dist/analyzer/program.d.ts +11 -33
  33. package/dist/analyzer/program.js +73 -735
  34. package/dist/analyzer/program.js.map +1 -1
  35. package/dist/analyzer/protocols.js +1 -1
  36. package/dist/analyzer/protocols.js.map +1 -1
  37. package/dist/analyzer/service.d.ts +5 -21
  38. package/dist/analyzer/service.js +26 -33
  39. package/dist/analyzer/service.js.map +1 -1
  40. package/dist/analyzer/sourceFile.d.ts +9 -41
  41. package/dist/analyzer/sourceFile.js +219 -238
  42. package/dist/analyzer/sourceFile.js.map +1 -1
  43. package/dist/analyzer/sourceFileInfoUtils.d.ts +3 -9
  44. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  45. package/dist/analyzer/symbol.d.ts +3 -1
  46. package/dist/analyzer/symbol.js +5 -0
  47. package/dist/analyzer/symbol.js.map +1 -1
  48. package/dist/analyzer/typeEvaluator.js +460 -1425
  49. package/dist/analyzer/typeEvaluator.js.map +1 -1
  50. package/dist/analyzer/typeEvaluatorTypes.d.ts +42 -7
  51. package/dist/analyzer/typeEvaluatorTypes.js +33 -1
  52. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  53. package/dist/analyzer/typeGuards.js +2 -8
  54. package/dist/analyzer/typeGuards.js.map +1 -1
  55. package/dist/analyzer/typePrinter.d.ts +3 -3
  56. package/dist/analyzer/typePrinter.js +247 -100
  57. package/dist/analyzer/typePrinter.js.map +1 -1
  58. package/dist/analyzer/typeUtils.d.ts +14 -7
  59. package/dist/analyzer/typeUtils.js +204 -49
  60. package/dist/analyzer/typeUtils.js.map +1 -1
  61. package/dist/analyzer/typeVarContext.d.ts +6 -7
  62. package/dist/analyzer/typeVarContext.js +21 -32
  63. package/dist/analyzer/typeVarContext.js.map +1 -1
  64. package/dist/analyzer/typedDicts.js +2 -2
  65. package/dist/analyzer/typedDicts.js.map +1 -1
  66. package/dist/analyzer/types.d.ts +7 -4
  67. package/dist/analyzer/types.js +20 -10
  68. package/dist/analyzer/types.js.map +1 -1
  69. package/dist/backgroundAnalysisBase.d.ts +1 -1
  70. package/dist/backgroundAnalysisBase.js +16 -0
  71. package/dist/backgroundAnalysisBase.js.map +1 -1
  72. package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
  73. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  74. package/dist/common/extensibility.d.ts +28 -4
  75. package/dist/common/extensibility.js.map +1 -1
  76. package/dist/common/logTracker.d.ts +2 -0
  77. package/dist/common/logTracker.js +8 -1
  78. package/dist/common/logTracker.js.map +1 -1
  79. package/dist/common/lspUtils.d.ts +4 -1
  80. package/dist/common/lspUtils.js +38 -1
  81. package/dist/common/lspUtils.js.map +1 -1
  82. package/dist/common/pathUtils.d.ts +11 -11
  83. package/dist/common/pathUtils.js.map +1 -1
  84. package/dist/common/pythonVersion.d.ts +2 -1
  85. package/dist/common/pythonVersion.js +1 -0
  86. package/dist/common/pythonVersion.js.map +1 -1
  87. package/dist/common/workspaceEditUtils.d.ts +8 -8
  88. package/dist/common/workspaceEditUtils.js +10 -10
  89. package/dist/common/workspaceEditUtils.js.map +1 -1
  90. package/dist/languageServerBase.d.ts +3 -7
  91. package/dist/languageServerBase.js +41 -73
  92. package/dist/languageServerBase.js.map +1 -1
  93. package/dist/languageService/autoImporter.d.ts +50 -51
  94. package/dist/languageService/autoImporter.js +125 -210
  95. package/dist/languageService/autoImporter.js.map +1 -1
  96. package/dist/languageService/callHierarchyProvider.d.ts +1 -1
  97. package/dist/languageService/callHierarchyProvider.js +11 -37
  98. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  99. package/dist/languageService/completionProvider.d.ts +39 -81
  100. package/dist/languageService/completionProvider.js +572 -801
  101. package/dist/languageService/completionProvider.js.map +1 -1
  102. package/dist/languageService/documentHighlightProvider.js +1 -1
  103. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  104. package/dist/languageService/documentSymbolCollector.d.ts +6 -7
  105. package/dist/languageService/documentSymbolCollector.js +47 -28
  106. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  107. package/dist/languageService/documentSymbolProvider.d.ts +13 -35
  108. package/dist/languageService/documentSymbolProvider.js +52 -264
  109. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  110. package/dist/languageService/hoverProvider.d.ts +5 -6
  111. package/dist/languageService/hoverProvider.js +40 -132
  112. package/dist/languageService/hoverProvider.js.map +1 -1
  113. package/dist/languageService/referencesProvider.d.ts +6 -11
  114. package/dist/languageService/referencesProvider.js +23 -17
  115. package/dist/languageService/referencesProvider.js.map +1 -1
  116. package/dist/languageService/renameProvider.d.ts +16 -0
  117. package/dist/languageService/renameProvider.js +139 -0
  118. package/dist/languageService/renameProvider.js.map +1 -0
  119. package/dist/languageService/symbolIndexer.d.ts +31 -0
  120. package/dist/languageService/symbolIndexer.js +105 -0
  121. package/dist/languageService/symbolIndexer.js.map +1 -0
  122. package/dist/languageService/tooltipUtils.d.ts +8 -1
  123. package/dist/languageService/tooltipUtils.js +102 -1
  124. package/dist/languageService/tooltipUtils.js.map +1 -1
  125. package/dist/languageService/workspaceSymbolProvider.d.ts +17 -0
  126. package/dist/languageService/workspaceSymbolProvider.js +133 -0
  127. package/dist/languageService/workspaceSymbolProvider.js.map +1 -0
  128. package/dist/localization/localize.d.ts +33 -15
  129. package/dist/localization/localize.js +13 -7
  130. package/dist/localization/localize.js.map +1 -1
  131. package/dist/localization/package.nls.en-us.json +14 -7
  132. package/dist/parser/parser.js +3 -0
  133. package/dist/parser/parser.js.map +1 -1
  134. package/dist/pyright.js +26 -4
  135. package/dist/pyright.js.map +1 -1
  136. package/dist/tests/chainedSourceFiles.test.js +15 -20
  137. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  138. package/dist/tests/checker.test.js +14 -0
  139. package/dist/tests/checker.test.js.map +1 -1
  140. package/dist/tests/completions.test.js +11 -236
  141. package/dist/tests/completions.test.js.map +1 -1
  142. package/dist/tests/docStringConversion.test.js +36 -2
  143. package/dist/tests/docStringConversion.test.js.map +1 -1
  144. package/dist/tests/documentSymbolCollector.test.js +3 -3
  145. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  146. package/dist/tests/fourslash/completions.override2.fourslash.js +1 -16
  147. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  148. package/dist/tests/fourslash/fourslash.d.ts +4 -4
  149. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js +1 -1
  150. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
  151. package/dist/tests/harness/fourslash/testState.d.ts +17 -11
  152. package/dist/tests/harness/fourslash/testState.js +39 -50
  153. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  154. package/dist/tests/importResolver.test.js +81 -1
  155. package/dist/tests/importResolver.test.js.map +1 -1
  156. package/dist/tests/sourceFile.test.js +1 -1
  157. package/dist/tests/sourceFile.test.js.map +1 -1
  158. package/dist/tests/testStateUtils.d.ts +2 -2
  159. package/dist/tests/testStateUtils.js +38 -8
  160. package/dist/tests/testStateUtils.js.map +1 -1
  161. package/dist/tests/typeEvaluator2.test.js +13 -1
  162. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  163. package/dist/tests/typeEvaluator3.test.js +5 -1
  164. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  165. package/dist/tests/typeEvaluator4.test.js +9 -1
  166. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  167. package/dist/tests/typeEvaluator5.test.js +25 -9
  168. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  169. package/dist/tests/workspaceEditUtils.test.js +95 -6
  170. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  171. package/package.json +4 -4
  172. package/dist/languageService/importAdder.d.ts +0 -40
  173. package/dist/languageService/importAdder.js +0 -388
  174. package/dist/languageService/importAdder.js.map +0 -1
  175. package/dist/languageService/indentationUtils.d.ts +0 -16
  176. package/dist/languageService/indentationUtils.js +0 -727
  177. package/dist/languageService/indentationUtils.js.map +0 -1
  178. package/dist/languageService/insertionPointUtils.d.ts +0 -9
  179. package/dist/languageService/insertionPointUtils.js +0 -132
  180. package/dist/languageService/insertionPointUtils.js.map +0 -1
  181. package/dist/languageService/renameModuleProvider.d.ts +0 -65
  182. package/dist/languageService/renameModuleProvider.js +0 -939
  183. package/dist/languageService/renameModuleProvider.js.map +0 -1
  184. package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +0 -1
  185. package/dist/tests/fourslash/completions.commitChars.fourslash.js +0 -81
  186. package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +0 -1
  187. package/dist/tests/importAdder.test.d.ts +0 -1
  188. package/dist/tests/importAdder.test.js +0 -1325
  189. package/dist/tests/importAdder.test.js.map +0 -1
  190. package/dist/tests/indentationUtils.ptvs.test.d.ts +0 -1
  191. package/dist/tests/indentationUtils.ptvs.test.js +0 -324
  192. package/dist/tests/indentationUtils.ptvs.test.js.map +0 -1
  193. package/dist/tests/indentationUtils.reindent.test.d.ts +0 -1
  194. package/dist/tests/indentationUtils.reindent.test.js +0 -372
  195. package/dist/tests/indentationUtils.reindent.test.js.map +0 -1
  196. package/dist/tests/indentationUtils.test.d.ts +0 -1
  197. package/dist/tests/indentationUtils.test.js +0 -502
  198. package/dist/tests/indentationUtils.test.js.map +0 -1
  199. package/dist/tests/insertionPointUtils.test.d.ts +0 -1
  200. package/dist/tests/insertionPointUtils.test.js +0 -154
  201. package/dist/tests/insertionPointUtils.test.js.map +0 -1
  202. package/dist/tests/moveSymbol.importAdder.test.d.ts +0 -1
  203. package/dist/tests/moveSymbol.importAdder.test.js +0 -298
  204. package/dist/tests/moveSymbol.importAdder.test.js.map +0 -1
  205. package/dist/tests/moveSymbol.insertion.test.d.ts +0 -1
  206. package/dist/tests/moveSymbol.insertion.test.js +0 -537
  207. package/dist/tests/moveSymbol.insertion.test.js.map +0 -1
  208. package/dist/tests/moveSymbol.misc.test.d.ts +0 -1
  209. package/dist/tests/moveSymbol.misc.test.js +0 -169
  210. package/dist/tests/moveSymbol.misc.test.js.map +0 -1
  211. package/dist/tests/moveSymbol.updateReference.test.d.ts +0 -1
  212. package/dist/tests/moveSymbol.updateReference.test.js +0 -1071
  213. package/dist/tests/moveSymbol.updateReference.test.js.map +0 -1
  214. package/dist/tests/renameModule.folder.test.d.ts +0 -1
  215. package/dist/tests/renameModule.folder.test.js +0 -229
  216. package/dist/tests/renameModule.folder.test.js.map +0 -1
  217. package/dist/tests/renameModule.fromImports.test.d.ts +0 -1
  218. package/dist/tests/renameModule.fromImports.test.js +0 -790
  219. package/dist/tests/renameModule.fromImports.test.js.map +0 -1
  220. package/dist/tests/renameModule.imports.test.d.ts +0 -1
  221. package/dist/tests/renameModule.imports.test.js +0 -380
  222. package/dist/tests/renameModule.imports.test.js.map +0 -1
  223. package/dist/tests/renameModule.misc.test.d.ts +0 -1
  224. package/dist/tests/renameModule.misc.test.js +0 -615
  225. package/dist/tests/renameModule.misc.test.js.map +0 -1
  226. package/dist/tests/renameModule.relativePath.test.d.ts +0 -1
  227. package/dist/tests/renameModule.relativePath.test.js +0 -231
  228. package/dist/tests/renameModule.relativePath.test.js.map +0 -1
  229. package/dist/tests/renameModuleTestUtils.d.ts +0 -4
  230. package/dist/tests/renameModuleTestUtils.js +0 -76
  231. package/dist/tests/renameModuleTestUtils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"documentSymbolCollector.js","sourceRoot":"","sources":["../../../src/languageService/documentSymbolCollector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentSymbolCollector.js","sourceRoot":"","sources":["../../../src/languageService/documentSymbolCollector.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,15 @@
1
- import { CancellationToken, CompletionItemKind, DocumentSymbol, SymbolInformation, SymbolKind } from 'vscode-languageserver';
2
- import { AnalyzerFileInfo, ImportLookup } from '../analyzer/analyzerFileInfo';
3
- import { AliasDeclaration } from '../analyzer/declaration';
4
- import { Range } from '../common/textRange';
5
- import { ParseResults } from '../parser/parser';
6
- export interface IndexAliasData {
7
- readonly originalName: string;
8
- readonly modulePath: string;
9
- readonly kind: SymbolKind;
10
- readonly itemKind?: CompletionItemKind | undefined;
11
- }
12
- export interface IndexSymbolData {
13
- readonly name: string;
14
- readonly externallyVisible: boolean;
15
- readonly kind: SymbolKind;
16
- readonly itemKind?: CompletionItemKind | undefined;
17
- readonly alias?: IndexAliasData | undefined;
18
- readonly range?: Range | undefined;
19
- readonly selectionRange?: Range | undefined;
20
- readonly children?: IndexSymbolData[] | undefined;
21
- }
22
- export interface IndexResults {
23
- readonly privateOrProtected: boolean;
24
- readonly symbols: IndexSymbolData[];
25
- }
26
- export interface IndexOptions {
27
- indexingForAutoImportMode: boolean;
28
- includeAllSymbols?: boolean;
29
- }
30
- export declare type WorkspaceSymbolCallback = (symbols: SymbolInformation[]) => void;
31
- export declare function getIndexAliasData(importLookup: ImportLookup, declaration: AliasDeclaration): IndexAliasData | undefined;
32
- export declare function convertToFlatSymbols(documentUri: string, symbolList: DocumentSymbol[]): SymbolInformation[];
1
+ import { CancellationToken, DocumentSymbol, SymbolInformation } from 'vscode-languageserver';
2
+ import { IndexSymbolData } from './symbolIndexer';
3
+ import { ProgramView } from '../common/extensibility';
4
+ export declare function convertToFlatSymbols(program: ProgramView, filePath: string, symbolList: DocumentSymbol[]): SymbolInformation[];
33
5
  export declare class DocumentSymbolProvider {
34
- static getSymbolsForDocument(fileInfo: AnalyzerFileInfo | undefined, indexResults: IndexResults | undefined, parseResults: ParseResults | undefined, filePath: string, query: string, token: CancellationToken): SymbolInformation[];
35
- static addHierarchicalSymbolsForDocument(fileInfo: AnalyzerFileInfo | undefined, indexResults: IndexResults | undefined, parseResults: ParseResults | undefined, symbolList: DocumentSymbol[], token: CancellationToken): void;
36
- static indexSymbols(fileInfo: AnalyzerFileInfo, parseResults: ParseResults, options: IndexOptions, token: CancellationToken): IndexSymbolData[];
6
+ protected readonly program: ProgramView;
7
+ protected readonly filePath: string;
8
+ private readonly _supportHierarchicalDocumentSymbol;
9
+ private readonly _token;
10
+ private _parseResults;
11
+ constructor(program: ProgramView, filePath: string, _supportHierarchicalDocumentSymbol: boolean, _token: CancellationToken);
12
+ getSymbols(): DocumentSymbol[] | SymbolInformation[];
13
+ protected getHierarchicalSymbols(): DocumentSymbol[];
14
+ protected appendDocumentSymbolsRecursive(indexSymbolData: IndexSymbolData[] | undefined, symbolList: DocumentSymbol[]): void;
37
15
  }
@@ -8,296 +8,84 @@
8
8
  * Logic that enumerates all of the symbols within a specified
9
9
  * source file document.
10
10
  */
11
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
- if (k2 === undefined) k2 = k;
13
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || function (mod) {
24
- if (mod && mod.__esModule) return mod;
25
- var result = {};
26
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
27
- __setModuleDefault(result, mod);
28
- return result;
29
- };
30
11
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.DocumentSymbolProvider = exports.convertToFlatSymbols = exports.getIndexAliasData = void 0;
12
+ exports.DocumentSymbolProvider = exports.convertToFlatSymbols = void 0;
32
13
  const vscode_languageserver_1 = require("vscode-languageserver");
33
- const vscode_uri_1 = require("vscode-uri");
34
- const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
35
- const declarationUtils_1 = require("../analyzer/declarationUtils");
36
- const symbolUtils_1 = require("../analyzer/symbolUtils");
37
- const typeUtils_1 = require("../analyzer/typeUtils");
38
14
  const cancellationUtils_1 = require("../common/cancellationUtils");
39
- const positionUtils_1 = require("../common/positionUtils");
40
- const StringUtils = __importStar(require("../common/stringUtils"));
41
- const autoImporter_1 = require("./autoImporter");
42
- function getIndexAliasData(importLookup, declaration) {
43
- var _a;
44
- if (!declaration.symbolName) {
45
- return undefined;
46
- }
47
- const resolvedInfo = (0, declarationUtils_1.resolveAliasDeclaration)(importLookup, declaration, {
48
- resolveLocalNames: true,
49
- allowExternallyHiddenAccess: false,
50
- skipFileNeededCheck: false,
51
- });
52
- if (!resolvedInfo || !resolvedInfo.declaration) {
53
- return undefined;
54
- }
55
- if (resolvedInfo.isPrivate) {
56
- return undefined;
57
- }
58
- const nameValue = (0, declarationUtils_1.getNameFromDeclaration)(resolvedInfo.declaration);
59
- if (!nameValue || resolvedInfo.declaration.path.length <= 0) {
60
- return undefined;
61
- }
62
- const symbolKind = (_a = getSymbolKind(nameValue, resolvedInfo.declaration)) !== null && _a !== void 0 ? _a : vscode_languageserver_1.SymbolKind.Module;
63
- return {
64
- originalName: nameValue,
65
- modulePath: resolvedInfo.declaration.path,
66
- kind: symbolKind,
67
- itemKind: (0, autoImporter_1.convertSymbolKindToCompletionItemKind)(symbolKind),
68
- };
69
- }
70
- exports.getIndexAliasData = getIndexAliasData;
71
- function convertToFlatSymbols(documentUri, symbolList) {
15
+ const symbolIndexer_1 = require("./symbolIndexer");
16
+ const analyzerNodeInfo_1 = require("../analyzer/analyzerNodeInfo");
17
+ const pathUtils_1 = require("../common/pathUtils");
18
+ function convertToFlatSymbols(program, filePath, symbolList) {
72
19
  const flatSymbols = [];
20
+ const documentUri = (0, pathUtils_1.convertPathToUri)(program.fileSystem, filePath);
73
21
  for (const symbol of symbolList) {
74
- appendToFlatSymbolsRecursive(flatSymbols, documentUri, symbol);
22
+ _appendToFlatSymbolsRecursive(flatSymbols, documentUri, symbol);
75
23
  }
76
24
  return flatSymbols;
77
25
  }
78
26
  exports.convertToFlatSymbols = convertToFlatSymbols;
79
27
  class DocumentSymbolProvider {
80
- static getSymbolsForDocument(fileInfo, indexResults, parseResults, filePath, query, token) {
81
- var _a;
28
+ constructor(program, filePath, _supportHierarchicalDocumentSymbol, _token) {
29
+ this.program = program;
30
+ this.filePath = filePath;
31
+ this._supportHierarchicalDocumentSymbol = _supportHierarchicalDocumentSymbol;
32
+ this._token = _token;
33
+ this._parseResults = this.program.getParseResults(this.filePath);
34
+ }
35
+ getSymbols() {
36
+ if (!this._parseResults) {
37
+ return [];
38
+ }
39
+ const symbolList = this.getHierarchicalSymbols();
40
+ if (this._supportHierarchicalDocumentSymbol) {
41
+ return symbolList;
42
+ }
43
+ return convertToFlatSymbols(this.program, this.filePath, symbolList);
44
+ }
45
+ getHierarchicalSymbols() {
82
46
  const symbolList = [];
83
- if (!indexResults && !parseResults) {
47
+ const parseResults = this.program.getParseResults(this.filePath);
48
+ if (!parseResults) {
84
49
  return symbolList;
85
50
  }
86
- const indexSymbolData = (_a = indexResults === null || indexResults === void 0 ? void 0 : indexResults.symbols) !== null && _a !== void 0 ? _a : DocumentSymbolProvider.indexSymbols(fileInfo, parseResults, { indexingForAutoImportMode: false }, token);
87
- appendWorkspaceSymbolsRecursive(indexSymbolData, filePath, query, '', symbolList, token);
51
+ const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(parseResults.parseTree);
52
+ if (!fileInfo) {
53
+ return symbolList;
54
+ }
55
+ const indexSymbolData = symbolIndexer_1.SymbolIndexer.indexSymbols(fileInfo, parseResults, this._token);
56
+ this.appendDocumentSymbolsRecursive(indexSymbolData, symbolList);
88
57
  return symbolList;
89
58
  }
90
- static addHierarchicalSymbolsForDocument(fileInfo, indexResults, parseResults, symbolList, token) {
91
- var _a;
92
- if (!indexResults && !parseResults) {
59
+ appendDocumentSymbolsRecursive(indexSymbolData, symbolList) {
60
+ (0, cancellationUtils_1.throwIfCancellationRequested)(this._token);
61
+ if (!indexSymbolData) {
93
62
  return;
94
63
  }
95
- const indexSymbolData = (_a = indexResults === null || indexResults === void 0 ? void 0 : indexResults.symbols) !== null && _a !== void 0 ? _a : DocumentSymbolProvider.indexSymbols(fileInfo, parseResults, { indexingForAutoImportMode: false }, token);
96
- appendDocumentSymbolsRecursive(indexSymbolData, symbolList, token);
97
- }
98
- static indexSymbols(fileInfo, parseResults, options, token) {
99
- // Here are the rule of what symbols are indexed for a file.
100
- // 1. If it is a stub file, we index every public symbols defined by "https://www.python.org/dev/peps/pep-0484/#stub-files"
101
- // 2. If it is a py file and it is py.typed package, we index public symbols
102
- // defined by "https://github.com/microsoft/pyright/blob/main/docs/typed-libraries.md#library-interface"
103
- // 3. If it is a py file and it is not py.typed package, we index only symbols that appear in
104
- // __all__ to make sure we don't include too many symbols in the index.
105
- const indexSymbolData = [];
106
- collectSymbolIndexData(fileInfo, parseResults, parseResults.parseTree, options, indexSymbolData, token);
107
- return indexSymbolData;
108
- }
109
- }
110
- exports.DocumentSymbolProvider = DocumentSymbolProvider;
111
- function getSymbolKind(name, declaration, evaluator) {
112
- var _a;
113
- let symbolKind;
114
- switch (declaration.type) {
115
- case 6 /* Class */:
116
- case 7 /* SpecialBuiltInClass */:
117
- symbolKind = vscode_languageserver_1.SymbolKind.Class;
118
- break;
119
- case 5 /* Function */:
120
- if (declaration.isMethod) {
121
- const declType = (_a = evaluator === null || evaluator === void 0 ? void 0 : evaluator.getTypeForDeclaration(declaration)) === null || _a === void 0 ? void 0 : _a.type;
122
- if (declType && (0, typeUtils_1.isMaybeDescriptorInstance)(declType, /* requireSetter */ false)) {
123
- symbolKind = vscode_languageserver_1.SymbolKind.Property;
124
- }
125
- else {
126
- symbolKind = vscode_languageserver_1.SymbolKind.Method;
127
- }
128
- }
129
- else {
130
- symbolKind = vscode_languageserver_1.SymbolKind.Function;
131
- }
132
- break;
133
- case 8 /* Alias */:
134
- symbolKind = vscode_languageserver_1.SymbolKind.Module;
135
- break;
136
- case 2 /* Parameter */:
137
- if (name === 'self' || name === 'cls' || name === '_') {
138
- return;
64
+ for (const symbolData of indexSymbolData) {
65
+ if (symbolData.alias) {
66
+ continue;
139
67
  }
140
- symbolKind = vscode_languageserver_1.SymbolKind.Variable;
141
- break;
142
- case 3 /* TypeParameter */:
143
- symbolKind = vscode_languageserver_1.SymbolKind.TypeParameter;
144
- break;
145
- case 1 /* Variable */:
146
- if (name === '_') {
147
- return;
68
+ // It's possible for a name to be '' under certain error
69
+ // conditions (such as a decorator with no associated function
70
+ // or class).
71
+ if (!symbolData.name) {
72
+ continue;
148
73
  }
149
- symbolKind = declaration.isConstant || declaration.isFinal ? vscode_languageserver_1.SymbolKind.Constant : vscode_languageserver_1.SymbolKind.Variable;
150
- break;
151
- default:
152
- symbolKind = vscode_languageserver_1.SymbolKind.Variable;
153
- break;
154
- }
155
- return symbolKind;
156
- }
157
- function appendWorkspaceSymbolsRecursive(indexSymbolData, filePath, query, container, symbolList, token) {
158
- (0, cancellationUtils_1.throwIfCancellationRequested)(token);
159
- if (!indexSymbolData) {
160
- return;
161
- }
162
- for (const symbolData of indexSymbolData) {
163
- if (symbolData.alias) {
164
- continue;
165
- }
166
- if (StringUtils.isPatternInSymbol(query, symbolData.name)) {
167
- const location = {
168
- uri: vscode_uri_1.URI.file(filePath).toString(),
169
- range: symbolData.selectionRange,
170
- };
74
+ const children = [];
75
+ this.appendDocumentSymbolsRecursive(symbolData.children, children);
171
76
  const symbolInfo = {
172
77
  name: symbolData.name,
173
78
  kind: symbolData.kind,
174
- location,
79
+ range: symbolData.range,
80
+ selectionRange: symbolData.selectionRange,
81
+ children: children,
175
82
  };
176
- if (container.length) {
177
- symbolInfo.containerName = container;
178
- }
179
83
  symbolList.push(symbolInfo);
180
84
  }
181
- appendWorkspaceSymbolsRecursive(symbolData.children, filePath, query, getContainerName(container, symbolData.name), symbolList, token);
182
- }
183
- function getContainerName(container, name) {
184
- if (container.length > 0) {
185
- return `${container}.${name}`;
186
- }
187
- return name;
188
85
  }
189
86
  }
190
- function appendDocumentSymbolsRecursive(indexSymbolData, symbolList, token) {
191
- (0, cancellationUtils_1.throwIfCancellationRequested)(token);
192
- if (!indexSymbolData) {
193
- return;
194
- }
195
- for (const symbolData of indexSymbolData) {
196
- if (symbolData.alias) {
197
- continue;
198
- }
199
- // It's possible for a name to be '' under certain error
200
- // conditions (such as a decorator with no associated function
201
- // or class).
202
- if (!symbolData.name) {
203
- continue;
204
- }
205
- const children = [];
206
- appendDocumentSymbolsRecursive(symbolData.children, children, token);
207
- const symbolInfo = {
208
- name: symbolData.name,
209
- kind: symbolData.kind,
210
- range: symbolData.range,
211
- selectionRange: symbolData.selectionRange,
212
- children: children,
213
- };
214
- symbolList.push(symbolInfo);
215
- }
216
- }
217
- function collectSymbolIndexData(fileInfo, parseResults, node, options, indexSymbolData, token) {
218
- (0, cancellationUtils_1.throwIfCancellationRequested)(token);
219
- const scope = AnalyzerNodeInfo.getScope(node);
220
- if (!scope) {
221
- return;
222
- }
223
- const symbolTable = scope.symbolTable;
224
- symbolTable.forEach((symbol, name) => {
225
- if (symbol.isIgnoredForProtocolMatch()) {
226
- return;
227
- }
228
- // If we are not py.typed package, symbol must exist in __all__ for auto import mode.
229
- if (options.indexingForAutoImportMode &&
230
- !options.includeAllSymbols &&
231
- !fileInfo.isStubFile &&
232
- !fileInfo.isInPyTypedPackage &&
233
- !symbol.isInDunderAll()) {
234
- return;
235
- }
236
- // Prefer declarations with a defined type.
237
- let declaration = (0, symbolUtils_1.getLastTypedDeclaredForSymbol)(symbol);
238
- // Fall back to declarations without a type.
239
- if (!declaration && symbol.hasDeclarations()) {
240
- declaration = symbol.getDeclarations()[0];
241
- }
242
- if (!declaration) {
243
- return;
244
- }
245
- if (8 /* Alias */ === declaration.type) {
246
- if (!options.indexingForAutoImportMode) {
247
- // We don't include import alias for workspace files.
248
- return;
249
- }
250
- if (!declaration.loadSymbolsFromPath || declaration.path.length <= 0) {
251
- // If alias doesn't have a path to the original file, we can't do dedup
252
- // so ignore those aliases.
253
- // ex) asyncio.futures, asyncio.base_futures.futures and many will dedup
254
- // to asyncio.futures
255
- return;
256
- }
257
- }
258
- // We rely on ExternallyHidden flag to determine what
259
- // symbols should be public (included in the index)
260
- collectSymbolIndexDataForName(fileInfo, parseResults, declaration, options, (0, symbolUtils_1.isVisibleExternally)(symbol), name, indexSymbolData, token);
261
- });
262
- }
263
- function collectSymbolIndexDataForName(fileInfo, parseResults, declaration, options, externallyVisible, name, indexSymbolData, token) {
264
- if (options.indexingForAutoImportMode && !externallyVisible) {
265
- return;
266
- }
267
- const symbolKind = getSymbolKind(name, declaration);
268
- if (symbolKind === undefined) {
269
- return;
270
- }
271
- const selectionRange = declaration.range;
272
- let range = selectionRange;
273
- const children = [];
274
- if (declaration.type === 6 /* Class */ || declaration.type === 5 /* Function */) {
275
- if (!options.indexingForAutoImportMode) {
276
- collectSymbolIndexData(fileInfo, parseResults, declaration.node, options, children, token);
277
- }
278
- range = (0, positionUtils_1.convertOffsetsToRange)(declaration.node.start, declaration.node.start + declaration.node.length, parseResults.tokenizerOutput.lines);
279
- }
280
- let aliasData = undefined;
281
- if (8 /* Alias */ === declaration.type) {
282
- aliasData = getIndexAliasData(AnalyzerNodeInfo.getFileInfo(parseResults.parseTree).importLookup, declaration);
283
- // If we can't create alias data for import alias, then don't include it in index.
284
- if (!aliasData) {
285
- return;
286
- }
287
- }
288
- const data = {
289
- name,
290
- externallyVisible,
291
- kind: symbolKind,
292
- itemKind: (0, autoImporter_1.convertSymbolKindToCompletionItemKind)(symbolKind),
293
- alias: aliasData,
294
- range: options.indexingForAutoImportMode ? undefined : range,
295
- selectionRange: options.indexingForAutoImportMode ? undefined : selectionRange,
296
- children: options.indexingForAutoImportMode ? undefined : children,
297
- };
298
- indexSymbolData.push(data);
299
- }
300
- function appendToFlatSymbolsRecursive(flatSymbols, documentUri, symbol, parent) {
87
+ exports.DocumentSymbolProvider = DocumentSymbolProvider;
88
+ function _appendToFlatSymbolsRecursive(flatSymbols, documentUri, symbol, parent) {
301
89
  const flatSymbol = {
302
90
  name: symbol.name,
303
91
  kind: symbol.kind,
@@ -312,7 +100,7 @@ function appendToFlatSymbolsRecursive(flatSymbols, documentUri, symbol, parent)
312
100
  flatSymbols.push(flatSymbol);
313
101
  if (symbol.children) {
314
102
  for (const child of symbol.children) {
315
- appendToFlatSymbolsRecursive(flatSymbols, documentUri, child, symbol);
103
+ _appendToFlatSymbolsRecursive(flatSymbols, documentUri, child, symbol);
316
104
  }
317
105
  }
318
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"documentSymbolProvider.js","sourceRoot":"","sources":["../../../src/languageService/documentSymbolProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentSymbolProvider.js","sourceRoot":"","sources":["../../../src/languageService/documentSymbolProvider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { CancellationToken, Hover, MarkupKind } from 'vscode-languageserver';
2
+ import { Declaration } from '../analyzer/declaration';
2
3
  import { ProgramView } from '../common/extensibility';
3
4
  import { Position } from '../common/textRange';
4
5
  export declare class HoverProvider {
@@ -6,23 +7,21 @@ export declare class HoverProvider {
6
7
  private _filePath;
7
8
  private _position;
8
9
  private _format;
9
- private _supportTelemetry;
10
10
  private _token;
11
11
  private readonly _parseResults;
12
12
  private readonly _sourceMapper;
13
- constructor(_program: ProgramView, _filePath: string, _position: Position, _format: MarkupKind, _supportTelemetry: boolean, _token: CancellationToken);
14
- getHover(): Hover | undefined;
13
+ constructor(_program: ProgramView, _filePath: string, _position: Position, _format: MarkupKind, _token: CancellationToken);
14
+ getHover(): Hover | null;
15
+ static getPrimaryDeclaration(declarations: Declaration[]): Declaration;
15
16
  private get _evaluator();
16
17
  private get _functionSignatureDisplay();
17
18
  private _getHoverResult;
18
19
  private _addResultsForDeclaration;
19
20
  private _tryAddPartsForTypedDictKey;
20
21
  private _addInitOrNewMethodInsteadIfCallNode;
22
+ private _getType;
21
23
  private _getTypeText;
22
24
  private _getTypesText;
23
- private _bindFunctionToClassOrObject;
24
- private _getType;
25
- private _limitOverloadBasedOnCall;
26
25
  private _addDocumentationPart;
27
26
  private _addDocumentationPartForType;
28
27
  private _addDocumentationResultsPart;