@zzzen/pyright-internal 1.2.0-dev.20240526 → 1.2.0-dev.20240602

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 (108) hide show
  1. package/dist/analyzer/analyzerNodeInfo.d.ts +2 -2
  2. package/dist/analyzer/binder.d.ts +3 -3
  3. package/dist/analyzer/binder.js +32 -32
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/checker.d.ts +3 -3
  6. package/dist/analyzer/checker.js +35 -35
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/codeFlowEngine.js +4 -4
  9. package/dist/analyzer/codeFlowTypes.js +3 -3
  10. package/dist/analyzer/constructors.js +10 -3
  11. package/dist/analyzer/constructors.js.map +1 -1
  12. package/dist/analyzer/declarationUtils.js +3 -3
  13. package/dist/analyzer/enums.js +6 -6
  14. package/dist/analyzer/importResolver.d.ts +1 -0
  15. package/dist/analyzer/importResolver.js +6 -3
  16. package/dist/analyzer/importResolver.js.map +1 -1
  17. package/dist/analyzer/importStatementUtils.js +6 -6
  18. package/dist/analyzer/namedTuples.js +2 -2
  19. package/dist/analyzer/operations.js +2 -2
  20. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  21. package/dist/analyzer/parseTreeUtils.js +94 -94
  22. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  23. package/dist/analyzer/parseTreeWalker.d.ts +5 -5
  24. package/dist/analyzer/parseTreeWalker.js +64 -64
  25. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  26. package/dist/analyzer/patternMatching.js +1 -1
  27. package/dist/analyzer/program.d.ts +1 -1
  28. package/dist/analyzer/program.js +23 -29
  29. package/dist/analyzer/program.js.map +1 -1
  30. package/dist/analyzer/scope.d.ts +1 -1
  31. package/dist/analyzer/scope.js +2 -2
  32. package/dist/analyzer/scope.js.map +1 -1
  33. package/dist/analyzer/sourceMapper.js +4 -4
  34. package/dist/analyzer/staticExpressions.js +3 -3
  35. package/dist/analyzer/testWalker.js +1 -1
  36. package/dist/analyzer/tracePrinter.js +4 -4
  37. package/dist/analyzer/typeDocStringUtils.js +1 -1
  38. package/dist/analyzer/typeEvaluator.js +290 -311
  39. package/dist/analyzer/typeEvaluator.js.map +1 -1
  40. package/dist/analyzer/typeGuards.js +6 -6
  41. package/dist/analyzer/typeStubWriter.js +1 -1
  42. package/dist/analyzer/typeUtils.d.ts +1 -1
  43. package/dist/analyzer/typeUtils.js +11 -4
  44. package/dist/analyzer/typeUtils.js.map +1 -1
  45. package/dist/analyzer/typedDicts.d.ts +1 -2
  46. package/dist/analyzer/typedDicts.js +5 -17
  47. package/dist/analyzer/typedDicts.js.map +1 -1
  48. package/dist/commands/dumpFileDebugInfoCommand.d.ts +1 -1
  49. package/dist/commands/dumpFileDebugInfoCommand.js +14 -14
  50. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  51. package/dist/common/textEditTracker.js +5 -5
  52. package/dist/common/uri/fileUri.js +1 -0
  53. package/dist/common/uri/fileUri.js.map +1 -1
  54. package/dist/common/uri/uri.d.ts +3 -0
  55. package/dist/common/uri/uri.js +16 -0
  56. package/dist/common/uri/uri.js.map +1 -1
  57. package/dist/languageService/autoImporter.js +4 -4
  58. package/dist/languageService/callHierarchyProvider.js +1 -1
  59. package/dist/languageService/completionProvider.js +30 -30
  60. package/dist/languageService/completionProvider.js.map +1 -1
  61. package/dist/languageService/documentSymbolCollector.js +7 -7
  62. package/dist/languageService/hoverProvider.js +2 -2
  63. package/dist/languageService/importSorter.js +1 -1
  64. package/dist/languageService/referencesProvider.js +4 -4
  65. package/dist/languageService/referencesProvider.js.map +1 -1
  66. package/dist/languageService/symbolIndexer.js +3 -3
  67. package/dist/languageService/tooltipUtils.js +2 -2
  68. package/dist/localization/localize.d.ts +1 -1
  69. package/dist/localization/localize.js +1 -1
  70. package/dist/localization/localize.js.map +1 -1
  71. package/dist/localization/package.nls.cs.json +3 -1
  72. package/dist/localization/package.nls.de.json +3 -1
  73. package/dist/localization/package.nls.en-us.json +1 -1
  74. package/dist/localization/package.nls.es.json +3 -1
  75. package/dist/localization/package.nls.fr.json +3 -1
  76. package/dist/localization/package.nls.it.json +3 -1
  77. package/dist/localization/package.nls.ja.json +3 -1
  78. package/dist/localization/package.nls.ko.json +3 -1
  79. package/dist/localization/package.nls.pl.json +3 -1
  80. package/dist/localization/package.nls.pt-br.json +3 -1
  81. package/dist/localization/package.nls.qps-ploc.json +3 -1
  82. package/dist/localization/package.nls.ru.json +3 -1
  83. package/dist/localization/package.nls.tr.json +3 -1
  84. package/dist/localization/package.nls.zh-cn.json +3 -1
  85. package/dist/localization/package.nls.zh-tw.json +3 -1
  86. package/dist/parser/parseNodes.d.ts +42 -42
  87. package/dist/parser/parseNodes.js +69 -69
  88. package/dist/parser/parseNodes.js.map +1 -1
  89. package/dist/parser/parser.d.ts +1 -1
  90. package/dist/parser/parser.js +35 -35
  91. package/dist/parser/parser.js.map +1 -1
  92. package/dist/pyright.js +3 -3
  93. package/dist/pyright.js.map +1 -1
  94. package/dist/tests/classDeclaration.test.js +1 -1
  95. package/dist/tests/importResolver.test.js +16 -0
  96. package/dist/tests/importResolver.test.js.map +1 -1
  97. package/dist/tests/parseTreeUtils.test.js +4 -4
  98. package/dist/tests/parser.test.js +3 -3
  99. package/dist/tests/typeEvaluator2.test.js +5 -1
  100. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  101. package/dist/tests/typeEvaluator4.test.js +1 -1
  102. package/dist/tests/typeEvaluator7.test.js +0 -6
  103. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  104. package/dist/tests/uri.test.js +11 -3
  105. package/dist/tests/uri.test.js.map +1 -1
  106. package/dist/workspaceFactory.js +16 -14
  107. package/dist/workspaceFactory.js.map +1 -1
  108. package/package.json +1 -1
@@ -73,7 +73,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
73
73
  : !isPositiveTest;
74
74
  // Look for "X is None", "X is not None", "X == None", and "X != None".
75
75
  // These are commonly-used patterns used in control flow.
76
- if (testExpression.rightExpression.nodeType === 11 /* ParseNodeType.Constant */ &&
76
+ if (testExpression.rightExpression.nodeType === 14 /* ParseNodeType.Constant */ &&
77
77
  testExpression.rightExpression.constType === 26 /* KeywordType.None */) {
78
78
  // Allow the LHS to be either a simple expression or an assignment
79
79
  // expression that assigns to a simple name.
@@ -86,7 +86,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
86
86
  return { type: narrowTypeForIsNone(evaluator, type, adjIsPositiveTest), isIncomplete: false };
87
87
  };
88
88
  }
89
- if (leftExpression.nodeType === 24 /* ParseNodeType.Index */ &&
89
+ if (leftExpression.nodeType === 27 /* ParseNodeType.Index */ &&
90
90
  ParseTreeUtils.isMatchingExpression(reference, leftExpression.baseExpression) &&
91
91
  leftExpression.items.length === 1 &&
92
92
  !leftExpression.trailingComma &&
@@ -107,7 +107,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
107
107
  }
108
108
  }
109
109
  // Look for "X is ...", "X is not ...", "X == ...", and "X != ...".
110
- if (testExpression.rightExpression.nodeType === 18 /* ParseNodeType.Ellipsis */) {
110
+ if (testExpression.rightExpression.nodeType === 21 /* ParseNodeType.Ellipsis */) {
111
111
  // Allow the LHS to be either a simple expression or an assignment
112
112
  // expression that assigns to a simple name.
113
113
  let leftExpression = testExpression.leftExpression;
@@ -172,7 +172,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
172
172
  }
173
173
  }
174
174
  // Look for X[<literal>] is <literal> or X[<literal>] is not <literal>.
175
- if (testExpression.leftExpression.nodeType === 24 /* ParseNodeType.Index */ &&
175
+ if (testExpression.leftExpression.nodeType === 27 /* ParseNodeType.Index */ &&
176
176
  testExpression.leftExpression.items.length === 1 &&
177
177
  !testExpression.leftExpression.trailingComma &&
178
178
  testExpression.leftExpression.items[0].argumentCategory === 0 /* ArgumentCategory.Simple */ &&
@@ -238,7 +238,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
238
238
  }
239
239
  }
240
240
  // Look for X[<literal>] == <literal> or X[<literal>] != <literal>
241
- if (testExpression.leftExpression.nodeType === 24 /* ParseNodeType.Index */ &&
241
+ if (testExpression.leftExpression.nodeType === 27 /* ParseNodeType.Index */ &&
242
242
  testExpression.leftExpression.items.length === 1 &&
243
243
  !testExpression.leftExpression.trailingComma &&
244
244
  testExpression.leftExpression.items[0].argumentCategory === 0 /* ArgumentCategory.Simple */ &&
@@ -308,7 +308,7 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
308
308
  // These are commonly-used patterns used in control flow.
309
309
  if (testExpression.leftExpression.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
310
310
  ParseTreeUtils.isMatchingExpression(reference, testExpression.leftExpression.leftExpression) &&
311
- testExpression.rightExpression.nodeType === 11 /* ParseNodeType.Constant */ &&
311
+ testExpression.rightExpression.nodeType === 14 /* ParseNodeType.Constant */ &&
312
312
  testExpression.rightExpression.constType === 26 /* KeywordType.None */) {
313
313
  const memberName = testExpression.leftExpression.memberName;
314
314
  return (type) => {
@@ -292,7 +292,7 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
292
292
  if (elseSuite) {
293
293
  this._emitLine('else:');
294
294
  this._emitSuite(() => {
295
- if (elseSuite.nodeType === 19 /* ParseNodeType.If */) {
295
+ if (elseSuite.nodeType === 22 /* ParseNodeType.If */) {
296
296
  this.walkMultiple([elseSuite.testExpression, elseSuite.ifSuite, elseSuite.elseSuite]);
297
297
  }
298
298
  else {
@@ -166,7 +166,7 @@ export declare function convertToInstance(type: Type, includeSubclasses?: boolea
166
166
  export declare function convertToInstantiable(type: Type, includeSubclasses?: boolean): Type;
167
167
  export declare function getMembersForClass(classType: ClassType, symbolTable: SymbolTable, includeInstanceVars: boolean): void;
168
168
  export declare function getMembersForModule(moduleType: ModuleType, symbolTable: SymbolTable): void;
169
- export declare function containsAnyRecursive(type: Type): boolean;
169
+ export declare function containsAnyRecursive(type: Type, includeUnknown?: boolean): boolean;
170
170
  export declare function containsAnyOrUnknown(type: Type, recurse: boolean): AnyType | UnknownType | undefined;
171
171
  export declare function isPartlyUnknown(type: Type, recursionCount?: number): boolean;
172
172
  export declare function explodeGenericClass(classType: ClassType): Type;
@@ -2009,18 +2009,25 @@ function getMembersForModule(moduleType, symbolTable) {
2009
2009
  }
2010
2010
  exports.getMembersForModule = getMembersForModule;
2011
2011
  // Determines if the type contains an Any recursively.
2012
- function containsAnyRecursive(type) {
2012
+ function containsAnyRecursive(type, includeUnknown = true) {
2013
2013
  class AnyWalker extends typeWalker_1.TypeWalker {
2014
- constructor() {
2015
- super(...arguments);
2014
+ constructor(_includeUnknown) {
2015
+ super();
2016
+ this._includeUnknown = _includeUnknown;
2016
2017
  this.foundAny = false;
2017
2018
  }
2018
2019
  visitAny(type) {
2019
2020
  this.foundAny = true;
2020
2021
  this.cancelWalk();
2021
2022
  }
2023
+ visitUnknown(type) {
2024
+ if (this._includeUnknown) {
2025
+ this.foundAny = true;
2026
+ this.cancelWalk();
2027
+ }
2028
+ }
2022
2029
  }
2023
- const walker = new AnyWalker();
2030
+ const walker = new AnyWalker(includeUnknown);
2024
2031
  walker.walk(type);
2025
2032
  return walker.foundAny;
2026
2033
  }