@zzzen/pyright-internal 1.2.0-dev.20240407 → 1.2.0-dev.20240414

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 (95) hide show
  1. package/dist/analyzer/binder.js +13 -0
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.js +21 -12
  4. package/dist/analyzer/checker.js.map +1 -1
  5. package/dist/analyzer/constraintSolver.js +24 -8
  6. package/dist/analyzer/constraintSolver.js.map +1 -1
  7. package/dist/analyzer/constructors.d.ts +2 -2
  8. package/dist/analyzer/constructors.js +162 -109
  9. package/dist/analyzer/constructors.js.map +1 -1
  10. package/dist/analyzer/dataClasses.js +12 -1
  11. package/dist/analyzer/dataClasses.js.map +1 -1
  12. package/dist/analyzer/importResolver.js +1 -1
  13. package/dist/analyzer/importResolver.js.map +1 -1
  14. package/dist/analyzer/importStatementUtils.js +1 -1
  15. package/dist/analyzer/importStatementUtils.js.map +1 -1
  16. package/dist/analyzer/parseTreeUtils.d.ts +2 -0
  17. package/dist/analyzer/parseTreeUtils.js +24 -1
  18. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  19. package/dist/analyzer/properties.js +2 -2
  20. package/dist/analyzer/protocols.js +5 -5
  21. package/dist/analyzer/protocols.js.map +1 -1
  22. package/dist/analyzer/pyTypedUtils.d.ts +4 -0
  23. package/dist/analyzer/pyTypedUtils.js +17 -3
  24. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  25. package/dist/analyzer/symbolUtils.d.ts +1 -1
  26. package/dist/analyzer/symbolUtils.js +3 -3
  27. package/dist/analyzer/symbolUtils.js.map +1 -1
  28. package/dist/analyzer/typeEvaluator.js +148 -70
  29. package/dist/analyzer/typeEvaluator.js.map +1 -1
  30. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
  31. package/dist/analyzer/typeGuards.js +105 -57
  32. package/dist/analyzer/typeGuards.js.map +1 -1
  33. package/dist/analyzer/typeUtils.d.ts +1 -1
  34. package/dist/analyzer/typeUtils.js +20 -17
  35. package/dist/analyzer/typeUtils.js.map +1 -1
  36. package/dist/analyzer/typeVarContext.js +1 -1
  37. package/dist/analyzer/typeVarContext.js.map +1 -1
  38. package/dist/analyzer/typedDicts.js +1 -1
  39. package/dist/analyzer/typedDicts.js.map +1 -1
  40. package/dist/analyzer/types.d.ts +2 -2
  41. package/dist/analyzer/types.js +28 -8
  42. package/dist/analyzer/types.js.map +1 -1
  43. package/dist/backgroundAnalysisBase.js +3 -1
  44. package/dist/backgroundAnalysisBase.js.map +1 -1
  45. package/dist/backgroundThreadBase.d.ts +5 -5
  46. package/dist/backgroundThreadBase.js +4 -4
  47. package/dist/backgroundThreadBase.js.map +1 -1
  48. package/dist/languageService/completionProvider.d.ts +0 -2
  49. package/dist/languageService/completionProvider.js +7 -28
  50. package/dist/languageService/completionProvider.js.map +1 -1
  51. package/dist/languageService/symbolIndexer.js +1 -1
  52. package/dist/languageService/symbolIndexer.js.map +1 -1
  53. package/dist/languageService/tooltipUtils.d.ts +1 -1
  54. package/dist/languageService/tooltipUtils.js +4 -4
  55. package/dist/localization/localize.d.ts +4 -0
  56. package/dist/localization/localize.js +4 -0
  57. package/dist/localization/localize.js.map +1 -1
  58. package/dist/localization/package.nls.cs.json +1 -0
  59. package/dist/localization/package.nls.de.json +2 -1
  60. package/dist/localization/package.nls.en-us.json +27 -23
  61. package/dist/localization/package.nls.es.json +5 -4
  62. package/dist/localization/package.nls.fr.json +5 -4
  63. package/dist/localization/package.nls.it.json +2 -1
  64. package/dist/localization/package.nls.ja.json +1 -0
  65. package/dist/localization/package.nls.ko.json +4 -3
  66. package/dist/localization/package.nls.pl.json +4 -3
  67. package/dist/localization/package.nls.pt-br.json +1 -0
  68. package/dist/localization/package.nls.qps-ploc.json +1 -0
  69. package/dist/localization/package.nls.ru.json +2 -1
  70. package/dist/localization/package.nls.tr.json +3 -2
  71. package/dist/localization/package.nls.zh-cn.json +2 -1
  72. package/dist/localization/package.nls.zh-tw.json +1 -0
  73. package/dist/parser/parser.js +3 -2
  74. package/dist/parser/parser.js.map +1 -1
  75. package/dist/parser/tokenizer.js +1 -0
  76. package/dist/parser/tokenizer.js.map +1 -1
  77. package/dist/parser/tokenizerTypes.d.ts +1 -0
  78. package/dist/parser/tokenizerTypes.js +1 -0
  79. package/dist/parser/tokenizerTypes.js.map +1 -1
  80. package/dist/tests/harness/fourslash/testState.d.ts +1 -1
  81. package/dist/tests/harness/fourslash/testState.js +2 -2
  82. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  83. package/dist/tests/harness/fourslash/workspaceEditTestUtils.d.ts +2 -2
  84. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +5 -5
  85. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  86. package/dist/tests/tokenizer.test.js +4 -4
  87. package/dist/tests/tokenizer.test.js.map +1 -1
  88. package/dist/tests/typeEvaluator1.test.js +5 -1
  89. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  90. package/dist/tests/typeEvaluator2.test.js +4 -0
  91. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  92. package/dist/tests/typeEvaluator3.test.js +11 -7
  93. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  94. package/dist/tests/typeEvaluator4.test.js +1 -1
  95. package/package.json +2 -2
@@ -8,17 +8,31 @@
8
8
  * Parser for py.typed files.
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.getPyTypedInfo = void 0;
11
+ exports.getPyTypedInfoForPyTypedFile = exports.getPyTypedInfo = void 0;
12
12
  const uriUtils_1 = require("../common/uri/uriUtils");
13
+ //
14
+ // Retrieves information about a py.typed file, if it exists, under the given path.
15
+ //
13
16
  function getPyTypedInfo(fileSystem, dirPath) {
14
17
  if (!fileSystem.existsSync(dirPath) || !(0, uriUtils_1.isDirectory)(fileSystem, dirPath)) {
15
18
  return undefined;
16
19
  }
17
- let isPartiallyTyped = false;
18
20
  const pyTypedPath = dirPath.pytypedUri;
19
21
  if (!fileSystem.existsSync(pyTypedPath) || !(0, uriUtils_1.isFile)(fileSystem, pyTypedPath)) {
20
22
  return undefined;
21
23
  }
24
+ return getPyTypedInfoForPyTypedFile(fileSystem, pyTypedPath);
25
+ }
26
+ exports.getPyTypedInfo = getPyTypedInfo;
27
+ //
28
+ // Retrieves information about a py.typed file. The pyTypedPath provided must be a valid path.
29
+ //
30
+ function getPyTypedInfoForPyTypedFile(fileSystem, pyTypedPath) {
31
+ // This function intentionally doesn't check whether the given py.typed path exists or not,
32
+ // as filesystem access is expensive if done repeatedly.
33
+ // The caller should verify the file's validity before calling this method and use a cache if possible
34
+ // to avoid high filesystem access costs.
35
+ let isPartiallyTyped = false;
22
36
  // Read the contents of the file as text.
23
37
  const fileStats = fileSystem.statSync(pyTypedPath);
24
38
  // Do a quick sanity check on the size before we attempt to read it. This
@@ -37,5 +51,5 @@ function getPyTypedInfo(fileSystem, dirPath) {
37
51
  isPartiallyTyped,
38
52
  };
39
53
  }
40
- exports.getPyTypedInfo = getPyTypedInfo;
54
+ exports.getPyTypedInfoForPyTypedFile = getPyTypedInfoForPyTypedFile;
41
55
  //# sourceMappingURL=pyTypedUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pyTypedUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/pyTypedUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIH,qDAA6D;AAO7D,SAAgB,cAAc,CAAC,UAAsB,EAAE,OAAY;IAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,sBAAW,EAAC,UAAU,EAAE,OAAO,CAAC,EAAE;QACtE,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,iBAAM,EAAC,UAAU,EAAE,WAAW,CAAC,EAAE;QACzE,OAAO,SAAS,CAAC;KACpB;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEnD,yEAAyE;IACzE,uEAAuE;IACvE,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE;QAClD,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAErE,4EAA4E;QAC5E,+EAA+E;QAC/E,wBAAwB;QACxB,IAAI,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAC5E,gBAAgB,GAAG,IAAI,CAAC;SAC3B;KACJ;IAED,OAAO;QACH,WAAW;QACX,gBAAgB;KACnB,CAAC;AACN,CAAC;AAhCD,wCAgCC"}
1
+ {"version":3,"file":"pyTypedUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/pyTypedUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIH,qDAA6D;AAO7D,EAAE;AACF,mFAAmF;AACnF,EAAE;AACF,SAAgB,cAAc,CAAC,UAAsB,EAAE,OAAY;IAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,sBAAW,EAAC,UAAU,EAAE,OAAO,CAAC,EAAE;QACtE,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,iBAAM,EAAC,UAAU,EAAE,WAAW,CAAC,EAAE;QACzE,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,4BAA4B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACjE,CAAC;AAXD,wCAWC;AAED,EAAE;AACF,8FAA8F;AAC9F,EAAE;AACF,SAAgB,4BAA4B,CAAC,UAAsB,EAAE,WAAgB;IACjF,2FAA2F;IAC3F,wDAAwD;IACxD,sGAAsG;IACtG,yCAAyC;IACzC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,yCAAyC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEnD,yEAAyE;IACzE,uEAAuE;IACvE,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE;QAClD,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAErE,4EAA4E;QAC5E,+EAA+E;QAC/E,wBAAwB;QACxB,IAAI,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAC5E,gBAAgB,GAAG,IAAI,CAAC;SAC3B;KACJ;IAED,OAAO;QACH,WAAW;QACX,gBAAgB;KACnB,CAAC;AACN,CAAC;AA3BD,oEA2BC"}
@@ -1,6 +1,6 @@
1
1
  import { Declaration } from './declaration';
2
2
  import { Symbol } from './symbol';
3
- export declare function getLastTypedDeclaredForSymbol(symbol: Symbol): Declaration | undefined;
3
+ export declare function getLastTypedDeclarationForSymbol(symbol: Symbol): Declaration | undefined;
4
4
  export declare function isTypedDictMemberAccessedThroughIndex(symbol: Symbol): boolean;
5
5
  export declare function isVisibleExternally(symbol: Symbol): boolean;
6
6
  export declare function isEffectivelyClassVar(symbol: Symbol, isInDataclass: boolean): boolean;
@@ -8,15 +8,15 @@
8
8
  * Functions that operate on Symbol objects.
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.isEffectivelyClassVar = exports.isVisibleExternally = exports.isTypedDictMemberAccessedThroughIndex = exports.getLastTypedDeclaredForSymbol = void 0;
12
- function getLastTypedDeclaredForSymbol(symbol) {
11
+ exports.isEffectivelyClassVar = exports.isVisibleExternally = exports.isTypedDictMemberAccessedThroughIndex = exports.getLastTypedDeclarationForSymbol = void 0;
12
+ function getLastTypedDeclarationForSymbol(symbol) {
13
13
  const typedDecls = symbol.getTypedDeclarations();
14
14
  if (typedDecls.length > 0) {
15
15
  return typedDecls[typedDecls.length - 1];
16
16
  }
17
17
  return undefined;
18
18
  }
19
- exports.getLastTypedDeclaredForSymbol = getLastTypedDeclaredForSymbol;
19
+ exports.getLastTypedDeclarationForSymbol = getLastTypedDeclarationForSymbol;
20
20
  // Within TypedDict classes, member variables are not accessible as
21
21
  // normal attributes. Instead, they are accessed through index operations.
22
22
  function isTypedDictMemberAccessedThroughIndex(symbol) {
@@ -1 +1 @@
1
- {"version":3,"file":"symbolUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/symbolUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAKH,SAAgB,6BAA6B,CAAC,MAAc;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAEjD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC5C;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,sEAQC;AAED,mEAAmE;AACnE,0EAA0E;AAC1E,SAAgB,qCAAqC,CAAC,MAAc;IAChE,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAEjD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,IAAI,qCAA6B,EAAE;YAC5C,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAXD,sFAWC;AAED,SAAgB,mBAAmB,CAAC,MAAc;IAC9C,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;AAC5E,CAAC;AAFD,kDAEC;AAED,SAAgB,qBAAqB,CAAC,MAAc,EAAE,aAAsB;IACxE,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE;QACrB,OAAO,IAAI,CAAC;KACf;IAED,IAAI,MAAM,CAAC,qBAAqB,EAAE,EAAE;QAChC,OAAO,CAAC,aAAa,CAAC;KACzB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAVD,sDAUC"}
1
+ {"version":3,"file":"symbolUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/symbolUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAKH,SAAgB,gCAAgC,CAAC,MAAc;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAEjD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC5C;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,4EAQC;AAED,mEAAmE;AACnE,0EAA0E;AAC1E,SAAgB,qCAAqC,CAAC,MAAc;IAChE,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAEjD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,IAAI,qCAA6B,EAAE;YAC5C,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAXD,sFAWC;AAED,SAAgB,mBAAmB,CAAC,MAAc;IAC9C,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;AAC5E,CAAC;AAFD,kDAEC;AAED,SAAgB,qBAAqB,CAAC,MAAc,EAAE,aAAsB;IACxE,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE;QACrB,OAAO,IAAI,CAAC;KACf;IAED,IAAI,MAAM,CAAC,qBAAqB,EAAE,EAAE;QAChC,OAAO,CAAC,aAAa,CAAC;KACzB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAVD,sDAUC"}