@zzzen/pyright-internal 1.2.0-dev.20260920 → 1.2.0-dev.20261004

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 (200) hide show
  1. package/dist/analyzer/analyzerNodeInfo.js +7 -2
  2. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +17 -6
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/checker.d.ts +2 -2
  6. package/dist/analyzer/checker.js +21 -9
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/codeFlowEngine.d.ts +2 -0
  9. package/dist/analyzer/codeFlowEngine.js +162 -20
  10. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  11. package/dist/analyzer/codeFlowTypes.d.ts +2 -1
  12. package/dist/analyzer/codeFlowTypes.js +1 -0
  13. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  14. package/dist/analyzer/codeFlowUtils.js +4 -1
  15. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  16. package/dist/analyzer/operations.js +1 -1
  17. package/dist/analyzer/operations.js.map +1 -1
  18. package/dist/analyzer/overloadResult.d.ts +15 -0
  19. package/dist/analyzer/overloadResult.js +233 -0
  20. package/dist/analyzer/overloadResult.js.map +1 -0
  21. package/dist/analyzer/overloadResultAdmission.d.ts +20 -0
  22. package/dist/analyzer/overloadResultAdmission.js +448 -0
  23. package/dist/analyzer/overloadResultAdmission.js.map +1 -0
  24. package/dist/analyzer/overloadResultController.d.ts +227 -0
  25. package/dist/analyzer/overloadResultController.js +904 -0
  26. package/dist/analyzer/overloadResultController.js.map +1 -0
  27. package/dist/analyzer/overloadResultSelector.d.ts +24 -0
  28. package/dist/analyzer/overloadResultSelector.js +131 -0
  29. package/dist/analyzer/overloadResultSelector.js.map +1 -0
  30. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  31. package/dist/analyzer/parseTreeUtils.js +4 -0
  32. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  33. package/dist/analyzer/patternMatching.js +39 -2
  34. package/dist/analyzer/patternMatching.js.map +1 -1
  35. package/dist/analyzer/program.d.ts +13 -2
  36. package/dist/analyzer/program.js +102 -47
  37. package/dist/analyzer/program.js.map +1 -1
  38. package/dist/analyzer/protocols.d.ts +1 -0
  39. package/dist/analyzer/protocols.js +297 -9
  40. package/dist/analyzer/protocols.js.map +1 -1
  41. package/dist/analyzer/sourceFile.d.ts +6 -2
  42. package/dist/analyzer/sourceFile.js +9 -3
  43. package/dist/analyzer/sourceFile.js.map +1 -1
  44. package/dist/analyzer/symbolNameUtils.d.ts +1 -0
  45. package/dist/analyzer/symbolNameUtils.js +5 -0
  46. package/dist/analyzer/symbolNameUtils.js.map +1 -1
  47. package/dist/analyzer/tracePrinter.js +4 -0
  48. package/dist/analyzer/tracePrinter.js.map +1 -1
  49. package/dist/analyzer/typeCacheUtils.d.ts +4 -0
  50. package/dist/analyzer/typeCacheUtils.js +36 -0
  51. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  52. package/dist/analyzer/typeComplexity.js +2 -0
  53. package/dist/analyzer/typeComplexity.js.map +1 -1
  54. package/dist/analyzer/typeEvaluator.d.ts +10 -1
  55. package/dist/analyzer/typeEvaluator.js +477 -19
  56. package/dist/analyzer/typeEvaluator.js.map +1 -1
  57. package/dist/analyzer/typeEvaluatorTypes.d.ts +31 -1
  58. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  59. package/dist/analyzer/typeGuards.d.ts +1 -1
  60. package/dist/analyzer/typePrinter.js +8 -0
  61. package/dist/analyzer/typePrinter.js.map +1 -1
  62. package/dist/analyzer/typeUtils.d.ts +1 -1
  63. package/dist/analyzer/typeUtils.js +38 -27
  64. package/dist/analyzer/typeUtils.js.map +1 -1
  65. package/dist/analyzer/typeWalker.d.ts +2 -1
  66. package/dist/analyzer/typeWalker.js +12 -0
  67. package/dist/analyzer/typeWalker.js.map +1 -1
  68. package/dist/analyzer/typedDicts.js +9 -4
  69. package/dist/analyzer/typedDicts.js.map +1 -1
  70. package/dist/analyzer/types.d.ts +16 -2
  71. package/dist/analyzer/types.js +94 -2
  72. package/dist/analyzer/types.js.map +1 -1
  73. package/dist/common/configOptions.d.ts +1 -0
  74. package/dist/common/configOptions.js +2 -0
  75. package/dist/common/configOptions.js.map +1 -1
  76. package/dist/common/extensibility.d.ts +1 -0
  77. package/dist/common/processUtils.d.ts +9 -1
  78. package/dist/common/processUtils.js +52 -10
  79. package/dist/common/processUtils.js.map +1 -1
  80. package/dist/common/windowsProcessTree.d.ts +4 -0
  81. package/dist/common/windowsProcessTree.js +47 -0
  82. package/dist/common/windowsProcessTree.js.map +1 -0
  83. package/dist/common/windowsProcessTree.json +310 -0
  84. package/dist/languageServerBase.js +2 -2
  85. package/dist/languageServerBase.js.map +1 -1
  86. package/dist/languageService/callHierarchyProvider.js +15 -6
  87. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  88. package/dist/languageService/completionProvider.js +4 -1
  89. package/dist/languageService/completionProvider.js.map +1 -1
  90. package/dist/localization/package.nls.pl.json +2 -2
  91. package/dist/localization/package.nls.pt-br.json +1 -1
  92. package/dist/localization/package.nls.zh-cn.json +2 -2
  93. package/dist/localization/package.nls.zh-tw.json +1 -1
  94. package/dist/tests/config.test.js +48 -0
  95. package/dist/tests/config.test.js.map +1 -1
  96. package/dist/tests/fourslash/findDefinitions.metaclass.fourslash.d.ts +1 -0
  97. package/dist/tests/fourslash/findDefinitions.metaclass.fourslash.js +44 -0
  98. package/dist/tests/fourslash/findDefinitions.metaclass.fourslash.js.map +1 -0
  99. package/dist/tests/fourslash/findDefinitions.metaclassDict.fourslash.d.ts +1 -0
  100. package/dist/tests/fourslash/findDefinitions.metaclassDict.fourslash.js +42 -0
  101. package/dist/tests/fourslash/findDefinitions.metaclassDict.fourslash.js.map +1 -0
  102. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js +10 -6
  103. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  104. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js +16 -10
  105. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  106. package/dist/tests/harness/fourslash/testState.js +10 -9
  107. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  108. package/dist/tests/languageServer.test.js +129 -0
  109. package/dist/tests/languageServer.test.js.map +1 -1
  110. package/dist/tests/mypyPrimerMcp.test.js +2 -1
  111. package/dist/tests/mypyPrimerMcp.test.js.map +1 -1
  112. package/dist/tests/overloadResult.test.d.ts +1 -0
  113. package/dist/tests/overloadResult.test.js +182 -0
  114. package/dist/tests/overloadResult.test.js.map +1 -0
  115. package/dist/tests/overloadResultController.test.d.ts +1 -0
  116. package/dist/tests/overloadResultController.test.js +2146 -0
  117. package/dist/tests/overloadResultController.test.js.map +1 -0
  118. package/dist/tests/protocolRequirement.test.d.ts +1 -0
  119. package/dist/tests/protocolRequirement.test.js +122 -0
  120. package/dist/tests/protocolRequirement.test.js.map +1 -0
  121. package/dist/tests/protocolRequirementAdversarial.test.d.ts +1 -0
  122. package/dist/tests/protocolRequirementAdversarial.test.js +92 -0
  123. package/dist/tests/protocolRequirementAdversarial.test.js.map +1 -0
  124. package/dist/tests/protocolRequirementBoundary.test.d.ts +1 -0
  125. package/dist/tests/protocolRequirementBoundary.test.js +119 -0
  126. package/dist/tests/protocolRequirementBoundary.test.js.map +1 -0
  127. package/dist/tests/protocolRequirementComplexity.test.d.ts +1 -0
  128. package/dist/tests/protocolRequirementComplexity.test.js +159 -0
  129. package/dist/tests/protocolRequirementComplexity.test.js.map +1 -0
  130. package/dist/tests/protocolRequirementCycles.test.d.ts +1 -0
  131. package/dist/tests/protocolRequirementCycles.test.js +160 -0
  132. package/dist/tests/protocolRequirementCycles.test.js.map +1 -0
  133. package/dist/tests/protocolRequirementGeneral.test.d.ts +1 -0
  134. package/dist/tests/protocolRequirementGeneral.test.js +120 -0
  135. package/dist/tests/protocolRequirementGeneral.test.js.map +1 -0
  136. package/dist/tests/protocolRequirementInstances.test.d.ts +1 -0
  137. package/dist/tests/protocolRequirementInstances.test.js +164 -0
  138. package/dist/tests/protocolRequirementInstances.test.js.map +1 -0
  139. package/dist/tests/protocolRequirementListStub.test.d.ts +1 -0
  140. package/dist/tests/protocolRequirementListStub.test.js +244 -0
  141. package/dist/tests/protocolRequirementListStub.test.js.map +1 -0
  142. package/dist/tests/protocolRequirementPopulated.test.d.ts +1 -0
  143. package/dist/tests/protocolRequirementPopulated.test.js +172 -0
  144. package/dist/tests/protocolRequirementPopulated.test.js.map +1 -0
  145. package/dist/tests/protocolRequirementRecursive.test.d.ts +1 -0
  146. package/dist/tests/protocolRequirementRecursive.test.js +118 -0
  147. package/dist/tests/protocolRequirementRecursive.test.js.map +1 -0
  148. package/dist/tests/protocolRequirementSpeculative.test.d.ts +1 -0
  149. package/dist/tests/protocolRequirementSpeculative.test.js +200 -0
  150. package/dist/tests/protocolRequirementSpeculative.test.js.map +1 -0
  151. package/dist/tests/protocolRequirementState.test.d.ts +1 -0
  152. package/dist/tests/protocolRequirementState.test.js +161 -0
  153. package/dist/tests/protocolRequirementState.test.js.map +1 -0
  154. package/dist/tests/service.test.js +36 -0
  155. package/dist/tests/service.test.js.map +1 -1
  156. package/dist/tests/testState.test.js +64 -0
  157. package/dist/tests/testState.test.js.map +1 -1
  158. package/dist/tests/testUtils.d.ts +6 -1
  159. package/dist/tests/testUtils.js +11 -6
  160. package/dist/tests/testUtils.js.map +1 -1
  161. package/dist/tests/typeCacheIsolation.test.d.ts +1 -0
  162. package/dist/tests/typeCacheIsolation.test.js +109 -0
  163. package/dist/tests/typeCacheIsolation.test.js.map +1 -0
  164. package/dist/tests/typeCacheUtils.test.js +59 -0
  165. package/dist/tests/typeCacheUtils.test.js.map +1 -1
  166. package/dist/tests/typeEvaluator1.test.js +32 -2
  167. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  168. package/dist/tests/typeEvaluator4.test.js +6 -2
  169. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  170. package/dist/tests/typeEvaluator5.test.js +25 -0
  171. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  172. package/dist/tests/typeEvaluator6.test.js +19 -23
  173. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  174. package/dist/tests/typeEvaluator7.test.js +237 -2
  175. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  176. package/dist/tests/typeEvaluator8.test.js +28 -0
  177. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  178. package/dist/tests/typeServer/inProcTypeServerTestUtils.d.ts +7 -2
  179. package/dist/tests/typeServer/inProcTypeServerTestUtils.js +14 -7
  180. package/dist/tests/typeServer/inProcTypeServerTestUtils.js.map +1 -1
  181. package/dist/tests/typeServer/stubGenerator.test.js +29 -0
  182. package/dist/tests/typeServer/stubGenerator.test.js.map +1 -1
  183. package/dist/tests/typeServer/typeServer.inProc.test.js +173 -1
  184. package/dist/tests/typeServer/typeServer.inProc.test.js.map +1 -1
  185. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js +15 -0
  186. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js.map +1 -1
  187. package/dist/tests/typeUtils.test.js +36 -0
  188. package/dist/tests/typeUtils.test.js.map +1 -1
  189. package/dist/trace/nativeAdapter.js +1 -5
  190. package/dist/trace/nativeAdapter.js.map +1 -1
  191. package/dist/typeServer/protocol/typeServerProtocol.d.ts +8 -2
  192. package/dist/typeServer/protocol/typeServerProtocol.js +1 -0
  193. package/dist/typeServer/protocol/typeServerProtocol.js.map +1 -1
  194. package/dist/typeServer/stubGenerator.js +5 -6
  195. package/dist/typeServer/stubGenerator.js.map +1 -1
  196. package/dist/typeServer/typeServerConversionUtils.js +9 -0
  197. package/dist/typeServer/typeServerConversionUtils.js.map +1 -1
  198. package/dist/workspaceFactory.js +5 -0
  199. package/dist/workspaceFactory.js.map +1 -1
  200. package/package.json +3 -3
@@ -146,8 +146,8 @@
146
146
  "dictKeyValuePairs": "Wpisy słownika muszą zawierać pary klucz/wartość",
147
147
  "dictUnpackIsNotMapping": "Oczekiwano mapowania dla operatora rozpakowywania słownika",
148
148
  "disjointBaseFunction": "Nie można zastosować funkcji @disjoint_base do funkcji",
149
- "disjointBaseIncompatible": "Klasy bazowe mają niezgodne rozłączne bazy: {bases}",
150
- "disjointBaseProtocol": "Nie można zastosować funkcji @disjoint_base do klasy Protocol",
149
+ "disjointBaseIncompatible": "Klasy bazowe mają niezgodne bazy rozłączne: {bases}",
150
+ "disjointBaseProtocol": "Nie można zastosować dekoratora @disjoint_base do klasy Protocol",
151
151
  "disjointBaseTypedDict": "Nie można zastosować funkcji @disjoint_base do klasy TypedDict",
152
152
  "dunderAllSymbolNotPresent": "Nazwa „{name}” jest określona w wartości __all__, ale nie występuje w module",
153
153
  "duplicateArgsParam": "Dozwolony tylko jeden parametr „*”",
@@ -147,7 +147,7 @@
147
147
  "dictUnpackIsNotMapping": "Mapeamento esperado para o operador de desempacotamento de dicionário",
148
148
  "disjointBaseFunction": "@disjoint_base não pode ser aplicado a uma função",
149
149
  "disjointBaseIncompatible": "As classes base têm bases disjuntas incompatíveis: {bases}",
150
- "disjointBaseProtocol": "@disjoint_base não pode ser aplicado a uma classe Protocolo",
150
+ "disjointBaseProtocol": "@disjoint_base não pode ser aplicado a uma classe Protocol",
151
151
  "disjointBaseTypedDict": "@disjoint_base não pode ser aplicado a uma classe TypedDict",
152
152
  "dunderAllSymbolNotPresent": "\"{name}\" está especificado no __all__ mas não está presente no módulo",
153
153
  "duplicateArgsParam": "Somente um parâmetro \"*\" permitido",
@@ -146,7 +146,7 @@
146
146
  "dictKeyValuePairs": "字典条目必须包含键/值对",
147
147
  "dictUnpackIsNotMapping": "字典解包运算符的预期映射",
148
148
  "disjointBaseFunction": "@disjoint_base 不能应用于函数",
149
- "disjointBaseIncompatible": "基类具有不兼容的互斥基数: {bases}",
149
+ "disjointBaseIncompatible": "基类具有不兼容的不相交基类: {bases}",
150
150
  "disjointBaseProtocol": "@disjoint_base 不能应用于 Protocol 类",
151
151
  "disjointBaseTypedDict": "@disjoint_base 不能应用于 TypedDict 类",
152
152
  "dunderAllSymbolNotPresent": "\"{name}\"已在__all__中指定,但在模块中不存在",
@@ -252,7 +252,7 @@
252
252
  "formatStringTemplate": "格式字符串字面量(f-strings)也不能是模板字符串(t-strings)",
253
253
  "formatStringUnicode": "格式字符串文本(f 字符串)不能为 unicode",
254
254
  "formatStringUnterminated": "f 字符串中未终止的表达式;应为 \"}\"",
255
- "functionDecoratorTypeUnknown": "非类型化函数修饰器遮盖函数类型;忽略修饰器",
255
+ "functionDecoratorTypeUnknown": "装饰器返回类型未知,类型检查器已跳过该装饰器",
256
256
  "functionInConditionalExpression": "始终计算结果为 True 的条件表达式引用函数",
257
257
  "functionTypeParametersIllegal": "函数类型参数语法需要 Python 3.12 或更高版本",
258
258
  "futureImportLocationNotAllowed": "从__future__导入必须位于文件的开头",
@@ -146,7 +146,7 @@
146
146
  "dictKeyValuePairs": "字典項目必須包含金鑰/值組",
147
147
  "dictUnpackIsNotMapping": "預期為字典解壓縮運算子的對應",
148
148
  "disjointBaseFunction": "@disjoint_base 無法套用於函式",
149
- "disjointBaseIncompatible": "基礎映像類別具有不相容的不相鄰基礎映像: {bases}",
149
+ "disjointBaseIncompatible": "基底類別具有不相容且不相交的基底: {bases}",
150
150
  "disjointBaseProtocol": "@disjoint_base 無法套用至 Protocol 類別",
151
151
  "disjointBaseTypedDict": "@disjoint_base 無法套用至 TypedDict 類別",
152
152
  "dunderAllSymbolNotPresent": "\"{name}\" 已在 __all__ 中指定,但在模組中不存在",
@@ -388,6 +388,54 @@ describe(`config test'}`, () => {
388
388
  assert_1.default.deepEqual(config, deserialized);
389
389
  assert_1.default.ok(deserialized.findExecEnvironment(uriUtils_1.UriEx.file('foo/bar.py')));
390
390
  });
391
+ test.each([undefined, true, false])('automatic overload results preserve default/internal override %s through serialization and service cloning', (override) => {
392
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ true);
393
+ const root = uri_1.Uri.file(process.cwd(), fs);
394
+ const config = new configOptions_1.ConfigOptions(root);
395
+ if (override !== undefined) {
396
+ config.experimentalOverloadResults = override;
397
+ }
398
+ const sp = (0, serviceProviderExtensions_1.createServiceProvider)(fs, new console_1.NullConsole());
399
+ const host = new testAccessHost_1.TestAccessHost();
400
+ // Project configuration must not expose or override the internal baseline escape hatch.
401
+ config.initializeFromJson({ experimentalOverloadResults: !override }, root, sp, host);
402
+ const restored = (0, backgroundThreadBase_1.deserialize)((0, backgroundThreadBase_1.serialize)(config));
403
+ assert_1.default.strictEqual(restored.experimentalOverloadResults, override ?? true);
404
+ const service = new service_1.AnalyzerService('<overload-default>', sp, {
405
+ configOptions: restored,
406
+ hostFactory: () => host,
407
+ shouldRunAnalysis: () => false,
408
+ });
409
+ const cloned = service.clone('<overload-clone>', 'overload-clone');
410
+ try {
411
+ for (const target of [service, cloned]) {
412
+ assert_1.default.strictEqual(target.getConfigOptions().experimentalOverloadResults, override ?? true);
413
+ assert_1.default.strictEqual(!!target.test_program.experimentalOverloadResultController, override !== false);
414
+ }
415
+ }
416
+ finally {
417
+ cloned.dispose();
418
+ service.dispose();
419
+ sp.dispose();
420
+ }
421
+ });
422
+ test('automatic overload results default survives omitted serialized property and configuration reload', () => {
423
+ const config = new configOptions_1.ConfigOptions(uriUtils_1.UriEx.file(process.cwd()));
424
+ delete config.experimentalOverloadResults;
425
+ assert_1.default.strictEqual((0, backgroundThreadBase_1.deserialize)((0, backgroundThreadBase_1.serialize)(config)).experimentalOverloadResults, true);
426
+ const service = createAnalyzer();
427
+ try {
428
+ for (const fromLanguageServer of [false, true]) {
429
+ const options = new commandLineOptions_1.CommandLineOptions(undefined, fromLanguageServer);
430
+ service.setOptions(options);
431
+ assert_1.default.strictEqual(service.getConfigOptions().experimentalOverloadResults, true);
432
+ assert_1.default.ok(service.test_program.experimentalOverloadResultController);
433
+ }
434
+ }
435
+ finally {
436
+ service.dispose();
437
+ }
438
+ });
391
439
  test('Config watcher reloads when pyproject.toml is created', () => {
392
440
  const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ true);
393
441
  const cons = new console_1.NullConsole();
@@ -1 +1 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../../../../src/tests/config.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../../../../src/tests/config.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /// <reference path="typings/fourslash.d.ts" />
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ // @filename: test.py
5
+ //// class Fields:
6
+ //// def install(self):
7
+ //// self.[|mixin_tag|]: str = "installed"
8
+ ////
9
+ //// class Meta(type, Fields):
10
+ //// def __init__(cls, name, bases, namespace):
11
+ //// cls.[|tag|]: str = "created"
12
+ //// cls.install()
13
+ ////
14
+ //// class Custom(metaclass=Meta):
15
+ //// pass
16
+ ////
17
+ //// class Derived(Custom):
18
+ //// pass
19
+ ////
20
+ //// def check(value: Custom, derived: Derived):
21
+ //// value.[|/*instance*/tag|]
22
+ //// derived.[|/*derived*/tag|]
23
+ //// Custom.[|/*classObject*/tag|]
24
+ //// value.[|/*mixinInstance*/mixin_tag|]
25
+ //// derived.[|/*mixinDerived*/mixin_tag|]
26
+ //// Custom.[|/*mixinClassObject*/mixin_tag|]
27
+ {
28
+ const definitions = (name) => helper
29
+ .getRangesByText()
30
+ .get(name)
31
+ .filter((r) => !r.marker)
32
+ .map((r) => {
33
+ return { path: r.fileName, range: helper.convertPositionRange(r) };
34
+ });
35
+ helper.verifyFindDefinitions({
36
+ instance: { definitions: definitions('tag') },
37
+ derived: { definitions: definitions('tag') },
38
+ classObject: { definitions: definitions('tag') },
39
+ mixinInstance: { definitions: definitions('mixin_tag') },
40
+ mixinDerived: { definitions: definitions('mixin_tag') },
41
+ mixinClassObject: { definitions: definitions('mixin_tag') },
42
+ });
43
+ }
44
+ //# sourceMappingURL=findDefinitions.metaclass.fourslash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findDefinitions.metaclass.fourslash.js","sourceRoot":"","sources":["../../../../../../src/tests/fourslash/findDefinitions.metaclass.fourslash.ts"],"names":[],"mappings":";AAAA,+CAA+C;;AAE/C,qBAAqB;AACrB,kBAAkB;AAClB,2BAA2B;AAC3B,kDAAkD;AAClD,IAAI;AACJ,8BAA8B;AAC9B,mDAAmD;AACnD,yCAAyC;AACzC,0BAA0B;AAC1B,IAAI;AACJ,kCAAkC;AAClC,aAAa;AACb,IAAI;AACJ,2BAA2B;AAC3B,aAAa;AACb,IAAI;AACJ,gDAAgD;AAChD,kCAAkC;AAClC,mCAAmC;AACnC,sCAAsC;AACtC,6CAA6C;AAC7C,8CAA8C;AAC9C,iDAAiD;AAEjD,CAAC;IACG,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CACjC,MAAM;SACD,eAAe,EAAE;SACjB,GAAG,CAAC,IAAI,CAAE;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACP,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEX,MAAM,CAAC,qBAAqB,CAAC;QACzB,QAAQ,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE;QAC7C,OAAO,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE;QAC5C,WAAW,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE;QAChD,aAAa,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE;QACxD,YAAY,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE;QACvD,gBAAgB,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE;KAC9D,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /// <reference path="typings/fourslash.d.ts" />
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ // @filename: test.py
5
+ //// class Meta(type):
6
+ //// pass
7
+ ////
8
+ //// class Custom(metaclass=Meta):
9
+ //// pass
10
+ ////
11
+ //// class Derived(Custom):
12
+ //// pass
13
+ ////
14
+ //// def check(value: Custom, derived: Derived, meta: Meta):
15
+ //// value.[|/*instance*/__dict__|]
16
+ //// derived.[|/*derived*/__dict__|]
17
+ //// Custom.[|/*classObject*/__dict__|]
18
+ //// Derived.[|/*derivedClassObject*/__dict__|]
19
+ //// meta.[|/*metaclassInstance*/__dict__|]
20
+ // @filename: typeshed-fallback/stdlib/builtins.pyi
21
+ //// class object:
22
+ //// [|__dict__|]: object
23
+ ////
24
+ //// class type:
25
+ //// [|__dict__|]: object
26
+ {
27
+ const [instanceDefinition, classDefinition] = helper
28
+ .getRangesByText()
29
+ .get('__dict__')
30
+ .filter((r) => !r.marker)
31
+ .map((r) => {
32
+ return { path: r.fileName, range: helper.convertPositionRange(r) };
33
+ });
34
+ helper.verifyFindDefinitions({
35
+ instance: { definitions: [instanceDefinition] },
36
+ derived: { definitions: [instanceDefinition] },
37
+ classObject: { definitions: [classDefinition] },
38
+ derivedClassObject: { definitions: [classDefinition] },
39
+ metaclassInstance: { definitions: [classDefinition] },
40
+ });
41
+ }
42
+ //# sourceMappingURL=findDefinitions.metaclassDict.fourslash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findDefinitions.metaclassDict.fourslash.js","sourceRoot":"","sources":["../../../../../../src/tests/fourslash/findDefinitions.metaclassDict.fourslash.ts"],"names":[],"mappings":";AAAA,+CAA+C;;AAE/C,qBAAqB;AACrB,sBAAsB;AACtB,aAAa;AACb,IAAI;AACJ,kCAAkC;AAClC,aAAa;AACb,IAAI;AACJ,2BAA2B;AAC3B,aAAa;AACb,IAAI;AACJ,4DAA4D;AAC5D,uCAAuC;AACvC,wCAAwC;AACxC,2CAA2C;AAC3C,mDAAmD;AACnD,+CAA+C;AAE/C,mDAAmD;AACnD,kBAAkB;AAClB,6BAA6B;AAC7B,IAAI;AACJ,gBAAgB;AAChB,6BAA6B;AAE7B,CAAC;IACG,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAAC,GAAG,MAAM;SAC/C,eAAe,EAAE;SACjB,GAAG,CAAC,UAAU,CAAE;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACP,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEP,MAAM,CAAC,qBAAqB,CAAC;QACzB,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,kBAAkB,CAAC,EAAE;QAC/C,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,kBAAkB,CAAC,EAAE;QAC9C,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE;QAC/C,kBAAkB,EAAE,EAAE,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE;QACtD,iBAAiB,EAAE,EAAE,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE;KACxD,CAAC,CAAC;AACP,CAAC"}
@@ -10,18 +10,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  ////
11
11
  //// def callByName():
12
12
  //// func()
13
- //// def [|callByAlias|]():
14
- //// /*marker2*/foobar()
13
+ //// [|def [|/*callByAliasSelection*/callByAlias|]():
14
+ //// /*marker2*/foobar()/*callByAliasRange*/|]
15
15
  // @filename: consume2.py
16
16
  //// from declare import func as foobar
17
17
  ////
18
18
  //// def callByAlias2():
19
19
  //// func()
20
20
  {
21
- const ranges = helper.getRanges();
22
- const itemList = ranges.map((range) => {
23
- return { filePath: range.fileName, range: helper.convertPositionRange(range), name: 'callByAlias' };
24
- });
21
+ const itemList = [
22
+ {
23
+ filePath: helper.getMappedFilePath('consume.py'),
24
+ range: helper.getPositionRange('callByAliasRange'),
25
+ selectionRange: helper.getPositionRange('callByAliasSelection'),
26
+ name: 'callByAlias',
27
+ },
28
+ ];
25
29
  helper.verifyShowCallHierarchyGetIncomingCalls({
26
30
  marker1: {
27
31
  items: itemList,
@@ -1 +1 @@
1
- {"version":3,"file":"showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js","sourceRoot":"","sources":["../../../../../../src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.ts"],"names":[],"mappings":";AAAA,+CAA+C;;AAE/C,wBAAwB;AACxB,gBAAgB;AAChB,gBAAgB;AAEhB,wBAAwB;AACxB,6BAA6B;AAC7B,kDAAkD;AAClD,IAAI;AACJ,sBAAsB;AACtB,cAAc;AACd,2BAA2B;AAC3B,2BAA2B;AAE3B,yBAAyB;AACzB,uCAAuC;AACvC,IAAI;AACJ,wBAAwB;AACxB,cAAc;AAEd,CAAC;IACG,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,uCAAuC,CAAC;QAC3C,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;QACD,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;KACJ,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js","sourceRoot":"","sources":["../../../../../../src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.ts"],"names":[],"mappings":";AAAA,+CAA+C;;AAE/C,wBAAwB;AACxB,gBAAgB;AAChB,gBAAgB;AAEhB,wBAAwB;AACxB,6BAA6B;AAC7B,kDAAkD;AAClD,IAAI;AACJ,sBAAsB;AACtB,cAAc;AACd,qDAAqD;AACrD,iDAAiD;AAEjD,yBAAyB;AACzB,uCAAuC;AACvC,IAAI;AACJ,wBAAwB;AACxB,cAAc;AAEd,CAAC;IACG,MAAM,QAAQ,GAAG;QACb;YACI,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;YAClD,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;YAC/D,IAAI,EAAE,aAAa;SACtB;KACJ,CAAC;IAEF,MAAM,CAAC,uCAAuC,CAAC;QAC3C,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;QACD,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -8,23 +8,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  //// from declare import func
9
9
  //// from declare import /*marker2*/func as foobar
10
10
  ////
11
- //// def [|callByName|]():
12
- //// /*marker3*/func()
11
+ //// [|def [|/*callByNameSelection*/callByName|]():
12
+ //// /*marker3*/func()/*callByNameRange*/|]
13
13
  //// def callByAlias():
14
14
  //// foobar()
15
15
  // @filename: consume2.py
16
16
  //// from declare import func
17
17
  ////
18
- //// def [|callByName2|]():
19
- //// func()
18
+ //// [|/*callByName2Range*/def [|/*callByName2Selection*/callByName2|]():
19
+ //// func()|]
20
20
  {
21
- const ranges = helper.getRanges();
22
- const references = ranges.map((range) => {
23
- return { path: range.fileName, range: helper.convertPositionRange(range) };
24
- });
25
21
  const itemList = [
26
- { filePath: references[0].path, range: references[0].range, name: 'callByName' },
27
- { filePath: references[1].path, range: references[1].range, name: 'callByName2' },
22
+ {
23
+ filePath: helper.getMappedFilePath('consume.py'),
24
+ range: helper.getPositionRange('callByNameRange'),
25
+ selectionRange: helper.getPositionRange('callByNameSelection'),
26
+ name: 'callByName',
27
+ },
28
+ {
29
+ filePath: helper.getMappedFilePath('consume2.py'),
30
+ range: helper.getPositionRange('callByName2Range'),
31
+ selectionRange: helper.getPositionRange('callByName2Selection'),
32
+ name: 'callByName2',
33
+ },
28
34
  ];
29
35
  helper.verifyShowCallHierarchyGetIncomingCalls({
30
36
  marker1: {
@@ -1 +1 @@
1
- {"version":3,"file":"showcallhierarchy.incomingCalls.function.fourslash.js","sourceRoot":"","sources":["../../../../../../src/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.ts"],"names":[],"mappings":";AAAA,+CAA+C;;AAE/C,wBAAwB;AACxB,2BAA2B;AAC3B,gBAAgB;AAEhB,wBAAwB;AACxB,6BAA6B;AAC7B,kDAAkD;AAClD,IAAI;AACJ,0BAA0B;AAC1B,yBAAyB;AACzB,uBAAuB;AACvB,gBAAgB;AAEhB,yBAAyB;AACzB,6BAA6B;AAC7B,IAAI;AACJ,2BAA2B;AAC3B,cAAc;AAEd,CAAC;IACG,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG;QACb,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE;QAChF,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE;KACpF,CAAC;IAEF,MAAM,CAAC,uCAAuC,CAAC;QAC3C,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;QACD,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;QACD,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;KACJ,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"showcallhierarchy.incomingCalls.function.fourslash.js","sourceRoot":"","sources":["../../../../../../src/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.ts"],"names":[],"mappings":";AAAA,+CAA+C;;AAE/C,wBAAwB;AACxB,2BAA2B;AAC3B,gBAAgB;AAEhB,wBAAwB;AACxB,6BAA6B;AAC7B,kDAAkD;AAClD,IAAI;AACJ,mDAAmD;AACnD,8CAA8C;AAC9C,uBAAuB;AACvB,gBAAgB;AAEhB,yBAAyB;AACzB,6BAA6B;AAC7B,IAAI;AACJ,yEAAyE;AACzE,gBAAgB;AAEhB,CAAC;IACG,MAAM,QAAQ,GAAG;QACb;YACI,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;YACjD,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;YAC9D,IAAI,EAAE,YAAY;SACrB;QACD;YACI,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC;YACjD,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;YAClD,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;YAC/D,IAAI,EAAE,aAAa;SACtB;KACJ,CAAC;IAEF,MAAM,CAAC,uCAAuC,CAAC;QAC3C,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;QACD,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;QACD,OAAO,EAAE;YACL,KAAK,EAAE,QAAQ;SAClB;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -874,19 +874,20 @@ class TestState {
874
874
  if (!(name in map)) {
875
875
  continue;
876
876
  }
877
- const expectedFilePath = map[name].items.map((x) => x.filePath);
878
- const expectedRange = map[name].items.map((x) => x.range);
879
- const expectedName = map[name].items.map((x) => x.name);
877
+ const expected = [...map[name].items];
880
878
  const position = this.convertOffsetToPosition(fileName, marker.position);
881
879
  const actual = new callHierarchyProvider_1.CallHierarchyProvider(this.program, uri_1.Uri.file(fileName, this.serviceProvider), position, vscode_languageserver_1.CancellationToken.None).getIncomingCalls();
882
- assert_1.default.strictEqual(actual?.length ?? 0, expectedFilePath.length, `${name} has failed`);
883
- assert_1.default.strictEqual(actual?.length ?? 0, expectedRange.length, `${name} has failed`);
884
- assert_1.default.strictEqual(actual?.length ?? 0, expectedName.length, `${name} has failed`);
880
+ assert_1.default.strictEqual(actual?.length ?? 0, expected.length, `${name} has failed`);
885
881
  if (actual) {
886
882
  for (const a of actual) {
887
- assert_1.default.strictEqual(expectedRange?.filter((e) => this._deepEqual(a.from.range, e)).length, 1);
888
- assert_1.default.strictEqual(expectedName?.filter((e) => this._deepEqual(a.from.name, e)).length, 1);
889
- assert_1.default.ok(expectedFilePath?.filter((e) => this._deepEqual(a.from.uri, uri_1.Uri.file(e, this.serviceProvider).toString())).length >= 1);
883
+ const index = expected.findIndex((e) => a.from.uri === uri_1.Uri.file(e.filePath, this.serviceProvider).toString() &&
884
+ a.from.name === e.name &&
885
+ this._deepEqual(a.from.range, e.range));
886
+ assert_1.default.ok(index >= 0, `${name}: unexpected caller ${a.from.name}`);
887
+ const [item] = expected.splice(index, 1);
888
+ if (item.selectionRange !== undefined) {
889
+ assert_1.default.deepStrictEqual(a.from.selectionRange, item.selectionRange);
890
+ }
890
891
  }
891
892
  }
892
893
  }