@zzzen/pyright-internal 1.2.0-dev.20250309 → 1.2.0-dev.20250323

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 (107) hide show
  1. package/dist/analyzer/analyzerFileInfo.d.ts +1 -0
  2. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +21 -13
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/checker.d.ts +3 -0
  6. package/dist/analyzer/checker.js +58 -9
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/codeFlowTypes.d.ts +2 -2
  9. package/dist/analyzer/codeFlowTypes.js +9 -0
  10. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  11. package/dist/analyzer/constructorTransform.js +1 -1
  12. package/dist/analyzer/constructorTransform.js.map +1 -1
  13. package/dist/analyzer/constructors.js +7 -1
  14. package/dist/analyzer/constructors.js.map +1 -1
  15. package/dist/analyzer/declaration.d.ts +1 -1
  16. package/dist/analyzer/declaration.js.map +1 -1
  17. package/dist/analyzer/importResolver.d.ts +2 -0
  18. package/dist/analyzer/importResolver.js +29 -6
  19. package/dist/analyzer/importResolver.js.map +1 -1
  20. package/dist/analyzer/importResult.d.ts +1 -0
  21. package/dist/analyzer/operations.js +10 -2
  22. package/dist/analyzer/operations.js.map +1 -1
  23. package/dist/analyzer/parameterUtils.d.ts +15 -0
  24. package/dist/analyzer/parameterUtils.js +59 -1
  25. package/dist/analyzer/parameterUtils.js.map +1 -1
  26. package/dist/analyzer/parseTreeUtils.d.ts +2 -0
  27. package/dist/analyzer/parseTreeUtils.js +19 -0
  28. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  29. package/dist/analyzer/program.js +17 -4
  30. package/dist/analyzer/program.js.map +1 -1
  31. package/dist/analyzer/programTypes.d.ts +2 -2
  32. package/dist/analyzer/programTypes.js.map +1 -1
  33. package/dist/analyzer/service.d.ts +3 -3
  34. package/dist/analyzer/service.js +16 -6
  35. package/dist/analyzer/service.js.map +1 -1
  36. package/dist/analyzer/sourceFile.d.ts +2 -1
  37. package/dist/analyzer/sourceFile.js +3 -1
  38. package/dist/analyzer/sourceFile.js.map +1 -1
  39. package/dist/analyzer/typeEvaluator.js +236 -245
  40. package/dist/analyzer/typeEvaluator.js.map +1 -1
  41. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
  42. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  43. package/dist/analyzer/typeUtils.js +8 -7
  44. package/dist/analyzer/typeUtils.js.map +1 -1
  45. package/dist/analyzer/typeWalker.js +1 -1
  46. package/dist/analyzer/typeWalker.js.map +1 -1
  47. package/dist/analyzer/types.d.ts +6 -5
  48. package/dist/analyzer/types.js +15 -23
  49. package/dist/analyzer/types.js.map +1 -1
  50. package/dist/common/cancellationUtils.d.ts +3 -0
  51. package/dist/common/cancellationUtils.js +8 -1
  52. package/dist/common/cancellationUtils.js.map +1 -1
  53. package/dist/common/languageServerInterface.d.ts +0 -2
  54. package/dist/common/languageServerInterface.js.map +1 -1
  55. package/dist/common/serviceKeys.d.ts +2 -0
  56. package/dist/common/serviceKeys.js +1 -0
  57. package/dist/common/serviceKeys.js.map +1 -1
  58. package/dist/common/serviceProviderExtensions.d.ts +2 -0
  59. package/dist/common/serviceProviderExtensions.js +9 -2
  60. package/dist/common/serviceProviderExtensions.js.map +1 -1
  61. package/dist/languageServerBase.d.ts +7 -3
  62. package/dist/languageServerBase.js +126 -5
  63. package/dist/languageServerBase.js.map +1 -1
  64. package/dist/languageService/tooltipUtils.js +2 -2
  65. package/dist/languageService/tooltipUtils.js.map +1 -1
  66. package/dist/localization/package.nls.cs.json +1 -1
  67. package/dist/localization/package.nls.de.json +1 -1
  68. package/dist/localization/package.nls.es.json +1 -1
  69. package/dist/localization/package.nls.fr.json +1 -1
  70. package/dist/localization/package.nls.it.json +1 -1
  71. package/dist/localization/package.nls.ja.json +1 -1
  72. package/dist/localization/package.nls.ko.json +1 -1
  73. package/dist/localization/package.nls.pl.json +1 -1
  74. package/dist/localization/package.nls.pt-br.json +1 -1
  75. package/dist/localization/package.nls.ru.json +1 -1
  76. package/dist/localization/package.nls.tr.json +1 -1
  77. package/dist/localization/package.nls.zh-cn.json +1 -1
  78. package/dist/localization/package.nls.zh-tw.json +1 -1
  79. package/dist/pyright.js +9 -3
  80. package/dist/pyright.js.map +1 -1
  81. package/dist/readonlyAugmentedFileSystem.js +4 -0
  82. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  83. package/dist/server.js +1 -2
  84. package/dist/server.js.map +1 -1
  85. package/dist/tests/checker.test.js +11 -0
  86. package/dist/tests/checker.test.js.map +1 -1
  87. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js +18 -0
  88. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js.map +1 -1
  89. package/dist/tests/languageServer.test.js +97 -57
  90. package/dist/tests/languageServer.test.js.map +1 -1
  91. package/dist/tests/lsp/customLsp.d.ts +8 -1
  92. package/dist/tests/lsp/customLsp.js +1 -0
  93. package/dist/tests/lsp/customLsp.js.map +1 -1
  94. package/dist/tests/lsp/languageServer.js +12 -0
  95. package/dist/tests/lsp/languageServer.js.map +1 -1
  96. package/dist/tests/lsp/languageServerTestUtils.d.ts +7 -3
  97. package/dist/tests/lsp/languageServerTestUtils.js +90 -6
  98. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  99. package/dist/tests/sourceFile.test.js +5 -4
  100. package/dist/tests/sourceFile.test.js.map +1 -1
  101. package/dist/tests/typeEvaluator1.test.js +6 -2
  102. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  103. package/dist/tests/typeEvaluator4.test.js +1 -1
  104. package/dist/tests/typeEvaluator5.test.js +1 -1
  105. package/dist/tests/typeEvaluator6.test.js +1 -1
  106. package/dist/types.d.ts +6 -2
  107. package/package.json +1 -1
@@ -41,6 +41,7 @@ export interface AnalyzerFileInfo {
41
41
  isTypeshedStubFile: boolean;
42
42
  isBuiltInStubFile: boolean;
43
43
  isInPyTypedPackage: boolean;
44
+ isModulePrivate: boolean;
44
45
  ipythonMode: IPythonMode;
45
46
  accessedSymbolSet: Set<number>;
46
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"analyzerFileInfo.js","sourceRoot":"","sources":["../../../../../src/analyzer/analyzerFileInfo.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AA2DH,0EAmBC;AA1ED,2DAA2E;AAuD3E,SAAgB,+BAA+B,CAAC,QAA0B;IACtE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oFAAoF;IACpF,iFAAiF;IACjF,iFAAiF;IACjF,4DAA4D;IAC5D,qGAAqG;IACrG,IAAI,6BAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,EAAE,iCAAiB,CAAC,EAAE,CAAC;QACnG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"analyzerFileInfo.js","sourceRoot":"","sources":["../../../../../src/analyzer/analyzerFileInfo.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AA4DH,0EAmBC;AA3ED,2DAA2E;AAwD3E,SAAgB,+BAA+B,CAAC,QAA0B;IACtE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oFAAoF;IACpF,iFAAiF;IACjF,iFAAiF;IACjF,4DAA4D;IAC5D,qGAAqG;IACrG,IAAI,6BAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,EAAE,iCAAiB,CAAC,EAAE,CAAC;QACnG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -110,7 +110,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
110
110
  // binding the builtins module itself.
111
111
  const isBuiltInModule = this._fileInfo.builtinsScope === undefined;
112
112
  this._addTypingImportAliasesFromBuiltinsScope();
113
- this._createNewScope(isBuiltInModule ? 5 /* ScopeType.Builtin */ : 4 /* ScopeType.Module */, this._fileInfo.builtinsScope,
113
+ const moduleScope = this._createNewScope(isBuiltInModule ? 5 /* ScopeType.Builtin */ : 4 /* ScopeType.Module */, this._fileInfo.builtinsScope,
114
114
  /* proxyScope */ undefined, () => {
115
115
  AnalyzerNodeInfo.setScope(node, this._currentScope);
116
116
  AnalyzerNodeInfo.setFlowNode(node, this._currentFlowNode);
@@ -120,7 +120,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
120
120
  this._addImplicitSymbolToCurrentScope('__loader__', node, 'Any');
121
121
  this._addImplicitSymbolToCurrentScope('__package__', node, 'str | None');
122
122
  this._addImplicitSymbolToCurrentScope('__spec__', node, 'Any');
123
- this._addImplicitSymbolToCurrentScope('__path__', node, 'Iterable[str]');
123
+ this._addImplicitSymbolToCurrentScope('__path__', node, 'MutableSequence[str]');
124
124
  this._addImplicitSymbolToCurrentScope('__file__', node, 'str');
125
125
  this._addImplicitSymbolToCurrentScope('__cached__', node, 'str');
126
126
  this._addImplicitSymbolToCurrentScope('__dict__', node, 'Dict[str, Any]');
@@ -137,18 +137,26 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
137
137
  });
138
138
  // Perform all analysis that was deferred during the first pass.
139
139
  this._bindDeferred();
140
- // Use the __all__ list to determine whether any potential private
141
- // symbols should be made externally hidden or private.
142
- this._potentialHiddenSymbols.forEach((symbol, name) => {
143
- if (!this._dunderAllNames?.some((sym) => sym === name)) {
144
- if (this._fileInfo.isStubFile) {
145
- symbol.setIsExternallyHidden();
146
- }
147
- else {
148
- symbol.setPrivatePyTypedImport();
140
+ if (this._fileInfo.isModulePrivate) {
141
+ // All symbols in a private module are private outside of the package.
142
+ moduleScope.symbolTable.forEach((symbol) => {
143
+ symbol.setPrivatePyTypedImport();
144
+ });
145
+ }
146
+ else {
147
+ // Use the __all__ list to determine whether any potential private
148
+ // symbols should be made externally hidden or private.
149
+ this._potentialHiddenSymbols.forEach((symbol, name) => {
150
+ if (!this._dunderAllNames?.some((sym) => sym === name)) {
151
+ if (this._fileInfo.isStubFile) {
152
+ symbol.setIsExternallyHidden();
153
+ }
154
+ else {
155
+ symbol.setPrivatePyTypedImport();
156
+ }
149
157
  }
150
- }
151
- });
158
+ });
159
+ }
152
160
  this._potentialPrivateSymbols.forEach((symbol, name) => {
153
161
  if (!this._dunderAllNames?.some((sym) => sym === name)) {
154
162
  symbol.setIsPrivateMember();