@zzzen/pyright-internal 1.2.0-dev.20231210 → 1.2.0-dev.20231217

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 (71) hide show
  1. package/dist/analyzer/binder.js +12 -11
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/codeFlowEngine.js +18 -11
  4. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  5. package/dist/analyzer/codeFlowTypes.d.ts +0 -1
  6. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  7. package/dist/analyzer/decorators.js +14 -43
  8. package/dist/analyzer/decorators.js.map +1 -1
  9. package/dist/analyzer/importResolver.js +1 -1
  10. package/dist/analyzer/importResolver.js.map +1 -1
  11. package/dist/analyzer/packageTypeVerifier.js +1 -1
  12. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  13. package/dist/analyzer/parseTreeUtils.js +1 -1
  14. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  15. package/dist/analyzer/patternMatching.js +23 -0
  16. package/dist/analyzer/patternMatching.js.map +1 -1
  17. package/dist/analyzer/properties.js +3 -0
  18. package/dist/analyzer/properties.js.map +1 -1
  19. package/dist/analyzer/service.js +12 -10
  20. package/dist/analyzer/service.js.map +1 -1
  21. package/dist/analyzer/sourceMapper.js +3 -2
  22. package/dist/analyzer/sourceMapper.js.map +1 -1
  23. package/dist/analyzer/typeEvaluator.js +87 -50
  24. package/dist/analyzer/typeEvaluator.js.map +1 -1
  25. package/dist/analyzer/typeGuards.d.ts +1 -0
  26. package/dist/analyzer/typeGuards.js +2 -1
  27. package/dist/analyzer/typeGuards.js.map +1 -1
  28. package/dist/analyzer/typeUtils.d.ts +1 -0
  29. package/dist/analyzer/typeUtils.js +24 -8
  30. package/dist/analyzer/typeUtils.js.map +1 -1
  31. package/dist/analyzer/types.d.ts +5 -2
  32. package/dist/analyzer/types.js +3 -1
  33. package/dist/analyzer/types.js.map +1 -1
  34. package/dist/common/fileWatcher.d.ts +1 -1
  35. package/dist/common/realFileSystem.js +1 -1
  36. package/dist/common/realFileSystem.js.map +1 -1
  37. package/dist/common/uri/emptyUri.js +1 -25
  38. package/dist/common/uri/emptyUri.js.map +1 -1
  39. package/dist/common/workspaceEditUtils.js +3 -3
  40. package/dist/common/workspaceEditUtils.js.map +1 -1
  41. package/dist/languageService/symbolIndexer.js +10 -2
  42. package/dist/languageService/symbolIndexer.js.map +1 -1
  43. package/dist/localization/localize.d.ts +1 -0
  44. package/dist/localization/localize.js +1 -0
  45. package/dist/localization/localize.js.map +1 -1
  46. package/dist/localization/package.nls.en-us.json +1 -0
  47. package/dist/parser/parseNodes.d.ts +1 -0
  48. package/dist/parser/parseNodes.js +1 -0
  49. package/dist/parser/parseNodes.js.map +1 -1
  50. package/dist/parser/parser.js +18 -15
  51. package/dist/parser/parser.js.map +1 -1
  52. package/dist/pyright.js +3 -3
  53. package/dist/pyright.js.map +1 -1
  54. package/dist/tests/classDeclaration.test.d.ts +1 -0
  55. package/dist/tests/classDeclaration.test.js +166 -0
  56. package/dist/tests/classDeclaration.test.js.map +1 -0
  57. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +4 -0
  58. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  59. package/dist/tests/harness/vfs/filesystem.js +1 -1
  60. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  61. package/dist/tests/importResolver.test.js +25 -0
  62. package/dist/tests/importResolver.test.js.map +1 -1
  63. package/dist/tests/sourceMapperUtils.test.js +60 -29
  64. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  65. package/dist/tests/typeEvaluator2.test.js +4 -0
  66. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  67. package/dist/tests/typeEvaluator3.test.js +13 -1
  68. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  69. package/dist/tests/typeEvaluator4.test.js +9 -1
  70. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  71. package/package.json +1 -1
package/dist/pyright.js CHANGED
@@ -696,7 +696,7 @@ function convertDiagnosticCategoryToSeverity(category) {
696
696
  }
697
697
  function convertDiagnosticToJson(uri, diag) {
698
698
  return {
699
- uri,
699
+ file: uri.getFilePath(),
700
700
  severity: convertDiagnosticCategoryToSeverity(diag.category),
701
701
  message: diag.message,
702
702
  range: (0, textRange_1.isEmptyRange)(diag.range) ? undefined : diag.range,
@@ -742,8 +742,8 @@ function reportDiagnosticsAsText(fileDiagnostics, minSeverityLevel) {
742
742
  }
743
743
  function logDiagnosticToConsole(diag, prefix = ' ') {
744
744
  let message = prefix;
745
- if (!diag.uri.isEmpty()) {
746
- message += `${diag.uri.toUserVisibleString()}:`;
745
+ if (diag.file) {
746
+ message += `${diag.file}:`;
747
747
  }
748
748
  if (diag.range && !(0, textRange_1.isEmptyRange)(diag.range)) {
749
749
  message +=
@@ -1 +1 @@
1
- {"version":3,"file":"pyright.js","sourceRoot":"","sources":["../../src/pyright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pyright.js","sourceRoot":"","sources":["../../src/pyright.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ /*
3
+ * classDeclaration.test.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Test class detail's declaration
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const assert_1 = __importDefault(require("assert"));
14
+ const declaration_1 = require("../analyzer/declaration");
15
+ const parseTreeUtils_1 = require("../analyzer/parseTreeUtils");
16
+ const typeUtils_1 = require("../analyzer/typeUtils");
17
+ const types_1 = require("../analyzer/types");
18
+ const textRange_1 = require("../common/textRange");
19
+ const testState_1 = require("./harness/fourslash/testState");
20
+ test('regular class', () => {
21
+ const code = `
22
+ // @filename: test.py
23
+ //// [|class /*marker*/A:
24
+ //// pass|]
25
+ `;
26
+ checkClassDetail(code);
27
+ });
28
+ test('Meta class', () => {
29
+ const code = `
30
+ // @filename: test.py
31
+ //// [|class /*range*/MyMeta(type):
32
+ //// def __new__(cls, name, bases, dct):
33
+ //// return super().__new__(cls, name, bases, dct)|]
34
+ ////
35
+ //// class MyClass(metaclass=MyMeta):
36
+ //// pass
37
+ ////
38
+ //// /*marker*/E = MyMeta()
39
+ `;
40
+ checkClassDetail(code, '__class_MyMeta');
41
+ });
42
+ test('special built in class', () => {
43
+ const code = `
44
+ // @filename: test.py
45
+ //// from typing import TypedDict
46
+ //// def foo(t: /*marker*/TypedDict): ...
47
+ `;
48
+ checkSpecialBuiltInClassDetail(code);
49
+ });
50
+ test('dynamic enum', () => {
51
+ const code = `
52
+ // @filename: test.py
53
+ //// from enum import Enum
54
+ //// /*marker*/E = Enum('E', { 'One': 1 })
55
+ `;
56
+ checkNoDeclarationInClassDetail(code);
57
+ });
58
+ test('dynamic named tuple', () => {
59
+ const code = `
60
+ // @filename: test.py
61
+ //// from typing import NamedTuple
62
+ //// /*marker*/N = NamedTuple("N", [('name', str)])
63
+ `;
64
+ checkNoDeclarationInClassDetail(code);
65
+ });
66
+ test('dynamic typed dict', () => {
67
+ const code = `
68
+ // @filename: test.py
69
+ //// from typing import TypedDict
70
+ //// /*marker*/T = TypedDict("T", { "one": str })
71
+ `;
72
+ checkNoDeclarationInClassDetail(code);
73
+ });
74
+ test('dynamic new type', () => {
75
+ const code = `
76
+ // @filename: test.py
77
+ //// from typing import NewType
78
+ //// /*marker*/I = NewType('I', int)
79
+ `;
80
+ checkNoDeclarationInClassDetail(code);
81
+ });
82
+ test('dynamic type', () => {
83
+ const code = `
84
+ // @filename: test.py
85
+ //// /*marker*/D = type('D', (object,), {})
86
+ `;
87
+ checkNoDeclarationInClassDetail(code);
88
+ });
89
+ test('property', () => {
90
+ const code = `
91
+ // @filename: test.py
92
+ //// class MyClass:
93
+ //// def __init__(self):
94
+ //// self._v = None
95
+ ////
96
+ //// @property
97
+ //// def /*getter*/value(self):
98
+ //// return self._v
99
+ ////
100
+ //// @value.setter
101
+ //// def /*setter*/value(self, value):
102
+ //// self._v = value
103
+ ////
104
+ //// @value.deleter
105
+ //// def /*deleter*/value(self):
106
+ //// del self._v
107
+ `;
108
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
109
+ ['getter', 'setter', 'deleter'].forEach((marker) => {
110
+ const node = (0, testState_1.getNodeAtMarker)(state, marker);
111
+ (0, assert_1.default)(node.nodeType === 38 /* ParseNodeType.Name */);
112
+ const functionNode = (0, parseTreeUtils_1.getEnclosingFunction)(node);
113
+ (0, assert_1.default)((functionNode === null || functionNode === void 0 ? void 0 : functionNode.nodeType) === 28 /* ParseNodeType.Function */);
114
+ const result = state.program.evaluator.getTypeOfFunction(functionNode);
115
+ (0, assert_1.default)(result === null || result === void 0 ? void 0 : result.decoratedType);
116
+ (0, assert_1.default)((0, typeUtils_1.isProperty)(result.decoratedType));
117
+ (0, assert_1.default)((0, types_1.isClassInstance)(result.decoratedType));
118
+ (0, assert_1.default)(result.decoratedType.details.declaration);
119
+ (0, assert_1.default)((0, declaration_1.isClassDeclaration)(result.decoratedType.details.declaration));
120
+ (0, assert_1.default)(result.decoratedType.details.declaration.moduleName === 'builtins');
121
+ (0, assert_1.default)(result.decoratedType.details.declaration.node.name.value === 'property');
122
+ });
123
+ });
124
+ function checkSpecialBuiltInClassDetail(code) {
125
+ var _a;
126
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
127
+ const node = (0, testState_1.getNodeAtMarker)(state);
128
+ (0, assert_1.default)(node.nodeType === 38 /* ParseNodeType.Name */);
129
+ const type = state.program.evaluator.getType(node);
130
+ (0, assert_1.default)((type === null || type === void 0 ? void 0 : type.category) === 6 /* TypeCategory.Class */);
131
+ assert_1.default.strictEqual(node.value, (_a = type.aliasName) !== null && _a !== void 0 ? _a : type.details.name);
132
+ (0, assert_1.default)(type.details.declaration);
133
+ if (type.aliasName) {
134
+ (0, assert_1.default)((0, declaration_1.isClassDeclaration)(type.details.declaration));
135
+ }
136
+ else {
137
+ (0, assert_1.default)((0, declaration_1.isSpecialBuiltInClassDeclaration)(type.details.declaration));
138
+ }
139
+ }
140
+ function checkNoDeclarationInClassDetail(code) {
141
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
142
+ _checkClassDetail(state, undefined);
143
+ }
144
+ function checkClassDetail(code, name) {
145
+ var _a;
146
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
147
+ _checkClassDetail(state, (_a = state.getRangeByMarkerName('marker')) !== null && _a !== void 0 ? _a : state.getRangeByMarkerName('range'), name);
148
+ }
149
+ function _checkClassDetail(state, range, name) {
150
+ var _a;
151
+ const node = (0, testState_1.getNodeAtMarker)(state);
152
+ (0, assert_1.default)(node.nodeType === 38 /* ParseNodeType.Name */);
153
+ const type = state.program.evaluator.getType(node);
154
+ (0, assert_1.default)((type === null || type === void 0 ? void 0 : type.category) === 6 /* TypeCategory.Class */);
155
+ assert_1.default.strictEqual(name !== null && name !== void 0 ? name : node.value, (_a = type.aliasName) !== null && _a !== void 0 ? _a : type.details.name);
156
+ if (range) {
157
+ (0, assert_1.default)(type.details.declaration);
158
+ (0, assert_1.default)((0, declaration_1.isClassDeclaration)(type.details.declaration));
159
+ assert_1.default.deepStrictEqual(textRange_1.TextRange.create(type.details.declaration.node.start, type.details.declaration.node.length), textRange_1.TextRange.fromBounds(range.pos, range.end));
160
+ }
161
+ else {
162
+ // There should be no decl.
163
+ (0, assert_1.default)(!type.details.declaration);
164
+ }
165
+ }
166
+ //# sourceMappingURL=classDeclaration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classDeclaration.test.js","sourceRoot":"","sources":["../../../src/tests/classDeclaration.test.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,10 @@ function verifyDocumentEdits(expected, actual) {
92
92
  if (!textDocumentAreSame(expectedEdit.textDocument, actualEdit.textDocument)) {
93
93
  return false;
94
94
  }
95
+ if (!actualEdit.textDocument.uri.includes(':')) {
96
+ // Not returning a URI, so fail.
97
+ return false;
98
+ }
95
99
  return textEditsAreSame(expectedEdit.edits, actualEdit.edits);
96
100
  }
97
101
  case 'create': {
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceEditTestUtils.js","sourceRoot":"","sources":["../../../../../src/tests/harness/fourslash/workspaceEditTestUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceEditTestUtils.js","sourceRoot":"","sources":["../../../../../src/tests/harness/fourslash/workspaceEditTestUtils.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ class TestFileSystemWatcher {
50
50
  }
51
51
  fireFileChange(path, eventType) {
52
52
  if (this._paths.some((p) => path.startsWith(p))) {
53
- this._listener(eventType, path);
53
+ this._listener(eventType, path.getFilePath());
54
54
  return true;
55
55
  }
56
56
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../../../src/tests/harness/vfs/filesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../../../src/tests/harness/vfs/filesystem.ts"],"names":[],"mappings":"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"}
@@ -292,6 +292,31 @@ describe('Import tests that can run with or without a true venv', () => {
292
292
  (0, assert_1.default)(!importResult.isStubFile);
293
293
  assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => !f.isEmpty() && f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.py')).length);
294
294
  });
295
+ test('py.typed namespace package plus stubs', () => {
296
+ const typingFolder = (0, pathUtils_1.combinePaths)((0, pathUtils_1.normalizeSlashes)('/'), 'typing');
297
+ const files = [
298
+ {
299
+ path: (0, pathUtils_1.combinePaths)(typingFolder, 'myLib/core', 'foo.pyi'),
300
+ content: 'def test(): pass',
301
+ },
302
+ {
303
+ path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'py.typed'),
304
+ content: '',
305
+ },
306
+ {
307
+ path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.py'),
308
+ content: 'def test(): pass',
309
+ },
310
+ {
311
+ path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi'),
312
+ content: 'def test(): pass',
313
+ },
314
+ ];
315
+ const importResult = getImportResult(files, ['myLib'], (c) => (c.stubPath = uri_1.Uri.file(typingFolder)));
316
+ (0, assert_1.default)(importResult.isImportFound);
317
+ (0, assert_1.default)(importResult.isStubFile);
318
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => !f.isEmpty() && f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi')).length);
319
+ });
295
320
  test('stub in typing folder over partial stub package', () => {
296
321
  const typingFolder = (0, pathUtils_1.combinePaths)((0, pathUtils_1.normalizeSlashes)('/'), 'typing');
297
322
  const files = [