@zzzen/pyright-internal 1.2.0-dev.20240310 → 1.2.0-dev.20240324

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 (116) hide show
  1. package/dist/analyzer/analyzerFileInfo.js +1 -1
  2. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  3. package/dist/analyzer/checker.d.ts +1 -0
  4. package/dist/analyzer/checker.js +44 -51
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/deprecatedSymbols.js +40 -40
  7. package/dist/analyzer/deprecatedSymbols.js.map +1 -1
  8. package/dist/analyzer/importResolver.js +6 -6
  9. package/dist/analyzer/importResolver.js.map +1 -1
  10. package/dist/analyzer/operations.js +9 -9
  11. package/dist/analyzer/operations.js.map +1 -1
  12. package/dist/analyzer/parseTreeUtils.js +1 -1
  13. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  14. package/dist/analyzer/patternMatching.js +16 -12
  15. package/dist/analyzer/patternMatching.js.map +1 -1
  16. package/dist/analyzer/properties.js +2 -8
  17. package/dist/analyzer/properties.js.map +1 -1
  18. package/dist/analyzer/pythonPathUtils.js +1 -2
  19. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  20. package/dist/analyzer/service.js +1 -1
  21. package/dist/analyzer/service.js.map +1 -1
  22. package/dist/analyzer/staticExpressions.js +52 -30
  23. package/dist/analyzer/staticExpressions.js.map +1 -1
  24. package/dist/analyzer/typeEvaluator.js +216 -105
  25. package/dist/analyzer/typeEvaluator.js.map +1 -1
  26. package/dist/analyzer/typeEvaluatorTypes.d.ts +6 -1
  27. package/dist/analyzer/typeGuards.js +8 -11
  28. package/dist/analyzer/typeGuards.js.map +1 -1
  29. package/dist/analyzer/typeUtils.d.ts +1 -1
  30. package/dist/analyzer/typeUtils.js +34 -15
  31. package/dist/analyzer/typeUtils.js.map +1 -1
  32. package/dist/analyzer/types.d.ts +2 -1
  33. package/dist/analyzer/types.js +1 -0
  34. package/dist/analyzer/types.js.map +1 -1
  35. package/dist/backgroundThreadBase.d.ts +4 -1
  36. package/dist/backgroundThreadBase.js +21 -1
  37. package/dist/backgroundThreadBase.js.map +1 -1
  38. package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
  39. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  40. package/dist/common/configOptions.d.ts +1 -0
  41. package/dist/common/configOptions.js +9 -4
  42. package/dist/common/configOptions.js.map +1 -1
  43. package/dist/common/diagnosticRules.d.ts +1 -0
  44. package/dist/common/diagnosticRules.js +1 -0
  45. package/dist/common/diagnosticRules.js.map +1 -1
  46. package/dist/common/fullAccessHost.js +7 -3
  47. package/dist/common/fullAccessHost.js.map +1 -1
  48. package/dist/common/logTracker.d.ts +5 -5
  49. package/dist/common/logTracker.js +7 -6
  50. package/dist/common/logTracker.js.map +1 -1
  51. package/dist/common/pythonVersion.d.ts +36 -20
  52. package/dist/common/pythonVersion.js +160 -54
  53. package/dist/common/pythonVersion.js.map +1 -1
  54. package/dist/languageService/completionProvider.js +2 -2
  55. package/dist/languageService/completionProvider.js.map +1 -1
  56. package/dist/localization/localize.d.ts +4 -0
  57. package/dist/localization/localize.js +1 -8
  58. package/dist/localization/localize.js.map +1 -1
  59. package/dist/localization/package.nls.cs.json +13 -5
  60. package/dist/localization/package.nls.de.json +13 -5
  61. package/dist/localization/package.nls.en-us.json +1 -0
  62. package/dist/localization/package.nls.es.json +13 -5
  63. package/dist/localization/package.nls.fr.json +15 -7
  64. package/dist/localization/package.nls.it.json +11 -3
  65. package/dist/localization/package.nls.ja.json +13 -5
  66. package/dist/localization/package.nls.ko.json +13 -5
  67. package/dist/localization/package.nls.pl.json +13 -5
  68. package/dist/localization/package.nls.pt-br.json +13 -5
  69. package/dist/localization/package.nls.qps-ploc.json +13 -5
  70. package/dist/localization/package.nls.ru.json +12 -4
  71. package/dist/localization/package.nls.tr.json +13 -5
  72. package/dist/localization/package.nls.zh-cn.json +13 -5
  73. package/dist/localization/package.nls.zh-tw.json +13 -5
  74. package/dist/parser/parser.js +25 -22
  75. package/dist/parser/parser.js.map +1 -1
  76. package/dist/parser/stringTokenUtils.js +12 -12
  77. package/dist/parser/stringTokenUtils.js.map +1 -1
  78. package/dist/parser/tokenizer.d.ts +0 -1
  79. package/dist/parser/tokenizer.js +41 -41
  80. package/dist/parser/tokenizer.js.map +1 -1
  81. package/dist/parser/tokenizerTypes.d.ts +1 -2
  82. package/dist/parser/tokenizerTypes.js +0 -1
  83. package/dist/parser/tokenizerTypes.js.map +1 -1
  84. package/dist/parser/unicode.js +3456 -2853
  85. package/dist/parser/unicode.js.map +1 -1
  86. package/dist/pyright.js +1 -1
  87. package/dist/pyright.js.map +1 -1
  88. package/dist/tests/checker.test.js +11 -11
  89. package/dist/tests/checker.test.js.map +1 -1
  90. package/dist/tests/config.test.js +7 -7
  91. package/dist/tests/config.test.js.map +1 -1
  92. package/dist/tests/fourSlashParser.test.js +2 -2
  93. package/dist/tests/fourSlashParser.test.js.map +1 -1
  94. package/dist/tests/fourslash/completions.override2.fourslash.js +1 -1
  95. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  96. package/dist/tests/harness/fourslash/testLanguageService.d.ts +2 -1
  97. package/dist/tests/harness/fourslash/testLanguageService.js +2 -2
  98. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  99. package/dist/tests/languageServer.test.js +1 -1
  100. package/dist/tests/languageServer.test.js.map +1 -1
  101. package/dist/tests/lsp/customLsp.d.ts +1 -1
  102. package/dist/tests/lsp/languageServer.js +2 -1
  103. package/dist/tests/lsp/languageServer.js.map +1 -1
  104. package/dist/tests/lsp/languageServerTestUtils.js +6 -6
  105. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  106. package/dist/tests/typeEvaluator1.test.js +16 -12
  107. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  108. package/dist/tests/typeEvaluator2.test.js +3 -3
  109. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  110. package/dist/tests/typeEvaluator3.test.js +57 -57
  111. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  112. package/dist/tests/typeEvaluator4.test.js +22 -22
  113. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  114. package/dist/tests/typeEvaluator5.test.js +35 -33
  115. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  116. package/package.json +1 -1
@@ -8,64 +8,170 @@
8
8
  * Types and functions that relate to the Python language version.
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.is3x = exports.versionFromMajorMinor = exports.versionFromString = exports.versionToString = exports.latestStablePythonVersion = exports.PythonVersion = void 0;
12
- var PythonVersion;
13
- (function (PythonVersion) {
14
- // The order of this enumeration is significant. We assume
15
- // that we can use comparison operators to check for older
16
- // or newer versions.
17
- PythonVersion[PythonVersion["V3_0"] = 768] = "V3_0";
18
- PythonVersion[PythonVersion["V3_1"] = 769] = "V3_1";
19
- PythonVersion[PythonVersion["V3_2"] = 770] = "V3_2";
20
- PythonVersion[PythonVersion["V3_3"] = 771] = "V3_3";
21
- PythonVersion[PythonVersion["V3_4"] = 772] = "V3_4";
22
- PythonVersion[PythonVersion["V3_5"] = 773] = "V3_5";
23
- PythonVersion[PythonVersion["V3_6"] = 774] = "V3_6";
24
- PythonVersion[PythonVersion["V3_7"] = 775] = "V3_7";
25
- PythonVersion[PythonVersion["V3_8"] = 776] = "V3_8";
26
- PythonVersion[PythonVersion["V3_9"] = 777] = "V3_9";
27
- PythonVersion[PythonVersion["V3_10"] = 778] = "V3_10";
28
- PythonVersion[PythonVersion["V3_11"] = 779] = "V3_11";
29
- PythonVersion[PythonVersion["V3_12"] = 780] = "V3_12";
30
- PythonVersion[PythonVersion["V3_13"] = 781] = "V3_13";
31
- })(PythonVersion || (exports.PythonVersion = PythonVersion = {}));
32
- exports.latestStablePythonVersion = PythonVersion.V3_12;
33
- function versionToString(version) {
34
- const majorVersion = (version >> 8) & 0xff;
35
- const minorVersion = version & 0xff;
36
- return `${majorVersion}.${minorVersion}`;
37
- }
38
- exports.versionToString = versionToString;
39
- function versionFromString(verString) {
40
- const split = verString.split('.');
41
- if (split.length < 2) {
42
- return undefined;
11
+ exports.latestStablePythonVersion = exports.pythonVersion3_13 = exports.pythonVersion3_12 = exports.pythonVersion3_11 = exports.pythonVersion3_10 = exports.pythonVersion3_9 = exports.pythonVersion3_8 = exports.pythonVersion3_7 = exports.pythonVersion3_6 = exports.pythonVersion3_5 = exports.pythonVersion3_4 = exports.pythonVersion3_3 = exports.pythonVersion3_2 = exports.pythonVersion3_1 = exports.pythonVersion3_0 = exports.PythonVersion = void 0;
12
+ class PythonVersion {
13
+ constructor(_major, _minor, _micro, _releaseLevel, _serial) {
14
+ this._major = _major;
15
+ this._minor = _minor;
16
+ this._micro = _micro;
17
+ this._releaseLevel = _releaseLevel;
18
+ this._serial = _serial;
43
19
  }
44
- const majorVersion = parseInt(split[0], 10);
45
- const minorVersion = parseInt(split[1], 10);
46
- return versionFromMajorMinor(majorVersion, minorVersion);
47
- }
48
- exports.versionFromString = versionFromString;
49
- function versionFromMajorMinor(major, minor) {
50
- if (isNaN(major) || isNaN(minor)) {
51
- return undefined;
20
+ get major() {
21
+ return this._major;
52
22
  }
53
- if (major > 255 || minor > 255) {
54
- return undefined;
23
+ get minor() {
24
+ return this._minor;
55
25
  }
56
- const value = major * 256 + minor;
57
- if (PythonVersion[value] === undefined) {
58
- return undefined;
26
+ get micro() {
27
+ return this._micro;
59
28
  }
60
- // Pyright currently supports only 3.x.
61
- if (!is3x(value)) {
62
- return undefined;
29
+ get releaseLevel() {
30
+ return this._releaseLevel;
31
+ }
32
+ get serial() {
33
+ return this._serial;
34
+ }
35
+ isEqualTo(other) {
36
+ if (this.major !== other.major || this.minor !== other.minor) {
37
+ return false;
38
+ }
39
+ if (this._micro === undefined || other._micro === undefined) {
40
+ return true;
41
+ }
42
+ else if (this._micro !== other._micro) {
43
+ return false;
44
+ }
45
+ if (this._releaseLevel === undefined || other._releaseLevel === undefined) {
46
+ return true;
47
+ }
48
+ else if (this._releaseLevel !== other._releaseLevel) {
49
+ return false;
50
+ }
51
+ if (this._serial === undefined || other._serial === undefined) {
52
+ return true;
53
+ }
54
+ else if (this._serial !== other._serial) {
55
+ return false;
56
+ }
57
+ return true;
58
+ }
59
+ isGreaterThan(other) {
60
+ if (this.major > other.major) {
61
+ return true;
62
+ }
63
+ else if (this.major < other.major) {
64
+ return false;
65
+ }
66
+ if (this.minor > other.minor) {
67
+ return true;
68
+ }
69
+ else if (this.minor < other.minor) {
70
+ return false;
71
+ }
72
+ if (this._micro === undefined || other._micro === undefined || this._micro < other._micro) {
73
+ return false;
74
+ }
75
+ else if (this._micro > other._micro) {
76
+ return true;
77
+ }
78
+ // We leverage the fact that the alphabetical ordering
79
+ // of the release level designators are ordered by increasing
80
+ // release level.
81
+ if (this._releaseLevel === undefined ||
82
+ other._releaseLevel === undefined ||
83
+ this._releaseLevel < other._releaseLevel) {
84
+ return false;
85
+ }
86
+ else if (this._releaseLevel > other._releaseLevel) {
87
+ return true;
88
+ }
89
+ if (this._serial === undefined || other._serial === undefined || this._serial < other._serial) {
90
+ return false;
91
+ }
92
+ else if (this._serial > other._serial) {
93
+ return true;
94
+ }
95
+ // They are exactly equal!
96
+ return false;
97
+ }
98
+ isGreaterOrEqualTo(other) {
99
+ return this.isEqualTo(other) || this.isGreaterThan(other);
100
+ }
101
+ isLessThan(other) {
102
+ return !this.isGreaterOrEqualTo(other);
103
+ }
104
+ isLessOrEqualTo(other) {
105
+ return !this.isGreaterThan(other);
106
+ }
107
+ toMajorMinorString() {
108
+ return `${this._major}.${this._minor}`;
109
+ }
110
+ toString() {
111
+ let version = this.toMajorMinorString();
112
+ if (this._micro === undefined) {
113
+ return version;
114
+ }
115
+ version += `.${this._micro}`;
116
+ if (this._releaseLevel === undefined) {
117
+ return version;
118
+ }
119
+ version += `.${this._releaseLevel}`;
120
+ if (this._serial === undefined) {
121
+ return version;
122
+ }
123
+ version += `.${this._serial}`;
124
+ return version;
125
+ }
126
+ static fromString(val) {
127
+ const split = val.split('.');
128
+ if (split.length < 2) {
129
+ return undefined;
130
+ }
131
+ const major = parseInt(split[0], 10);
132
+ const minor = parseInt(split[1], 10);
133
+ if (isNaN(major) || isNaN(minor)) {
134
+ return undefined;
135
+ }
136
+ let micro;
137
+ if (split.length >= 3) {
138
+ micro = parseInt(split[2], 10);
139
+ if (isNaN(micro)) {
140
+ micro = undefined;
141
+ }
142
+ }
143
+ let releaseLevel;
144
+ if (split.length >= 4) {
145
+ const releaseLevels = ['alpha', 'beta', 'candidate', 'final'];
146
+ if (releaseLevels.some((level) => level === split[3])) {
147
+ releaseLevel = split[3];
148
+ }
149
+ }
150
+ let serial;
151
+ if (split.length >= 5) {
152
+ serial = parseInt(split[4], 10);
153
+ if (isNaN(serial)) {
154
+ serial = undefined;
155
+ }
156
+ }
157
+ return new PythonVersion(major, minor, micro, releaseLevel, serial);
63
158
  }
64
- return value;
65
- }
66
- exports.versionFromMajorMinor = versionFromMajorMinor;
67
- function is3x(version) {
68
- return version >> 8 === 3;
69
159
  }
70
- exports.is3x = is3x;
160
+ exports.PythonVersion = PythonVersion;
161
+ // Predefine some versions.
162
+ exports.pythonVersion3_0 = new PythonVersion(3, 0);
163
+ exports.pythonVersion3_1 = new PythonVersion(3, 1);
164
+ exports.pythonVersion3_2 = new PythonVersion(3, 2);
165
+ exports.pythonVersion3_3 = new PythonVersion(3, 3);
166
+ exports.pythonVersion3_4 = new PythonVersion(3, 4);
167
+ exports.pythonVersion3_5 = new PythonVersion(3, 5);
168
+ exports.pythonVersion3_6 = new PythonVersion(3, 6);
169
+ exports.pythonVersion3_7 = new PythonVersion(3, 7);
170
+ exports.pythonVersion3_8 = new PythonVersion(3, 8);
171
+ exports.pythonVersion3_9 = new PythonVersion(3, 9);
172
+ exports.pythonVersion3_10 = new PythonVersion(3, 10);
173
+ exports.pythonVersion3_11 = new PythonVersion(3, 11);
174
+ exports.pythonVersion3_12 = new PythonVersion(3, 12);
175
+ exports.pythonVersion3_13 = new PythonVersion(3, 13);
176
+ exports.latestStablePythonVersion = exports.pythonVersion3_12;
71
177
  //# sourceMappingURL=pythonVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pythonVersion.js","sourceRoot":"","sources":["../../../../../src/common/pythonVersion.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,IAAY,aAkBX;AAlBD,WAAY,aAAa;IACrB,0DAA0D;IAC1D,0DAA0D;IAC1D,qBAAqB;IACrB,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,mDAAa,CAAA;IACb,qDAAc,CAAA;IACd,qDAAc,CAAA;IACd,qDAAc,CAAA;IACd,qDAAc,CAAA;AAClB,CAAC,EAlBW,aAAa,6BAAb,aAAa,QAkBxB;AAEY,QAAA,yBAAyB,GAAG,aAAa,CAAC,KAAK,CAAC;AAE7D,SAAgB,eAAe,CAAC,OAAsB;IAClD,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC;IACpC,OAAO,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC;AAC7C,CAAC;AAJD,0CAIC;AAED,SAAgB,iBAAiB,CAAC,SAAiB;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QAClB,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5C,OAAO,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAC7D,CAAC;AAVD,8CAUC;AAED,SAAgB,qBAAqB,CAAC,KAAa,EAAE,KAAa;IAC9D,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;QAC9B,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE;QAC5B,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;IAClC,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;QACpC,OAAO,SAAS,CAAC;KACpB;IAED,uCAAuC;IACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACd,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AApBD,sDAoBC;AAED,SAAgB,IAAI,CAAC,OAAsB;IACvC,OAAO,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAFD,oBAEC"}
1
+ {"version":3,"file":"pythonVersion.js","sourceRoot":"","sources":["../../../../../src/common/pythonVersion.ts"],"names":[],"mappings":"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"}
@@ -110,10 +110,10 @@ var Keywords;
110
110
  const python3_5 = [...base, 'async', 'await'];
111
111
  const python3_10 = [...python3_5, 'case', 'match'];
112
112
  function forVersion(version) {
113
- if (version >= pythonVersion_1.PythonVersion.V3_10) {
113
+ if (version.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_10)) {
114
114
  return python3_10;
115
115
  }
116
- if (version >= pythonVersion_1.PythonVersion.V3_5) {
116
+ if (version.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_5)) {
117
117
  return python3_5;
118
118
  }
119
119
  return base;