@zzzen/pyright-internal 1.2.0-dev.20261018 → 1.2.0-dev.20261101
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.
- package/dist/analyzer/binder.js +20 -9
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +4 -0
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +3 -3
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/dataClasses.js +14 -5
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/decorators.d.ts +1 -1
- package/dist/analyzer/decorators.js +22 -2
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/namedTuples.d.ts +2 -1
- package/dist/analyzer/namedTuples.js +63 -35
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +45 -1
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +2 -0
- package/dist/analyzer/parseTreeUtils.js +43 -0
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +3 -1
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/sentinel.js +7 -1
- package/dist/analyzer/sentinel.js.map +1 -1
- package/dist/analyzer/sourceFile.js +13 -6
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/tupleComparison.d.ts +6 -0
- package/dist/analyzer/tupleComparison.js +731 -0
- package/dist/analyzer/tupleComparison.js.map +1 -0
- package/dist/analyzer/tuples.js +35 -4
- package/dist/analyzer/tuples.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +232 -20
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
- package/dist/analyzer/typeEvaluatorTypes.js +2 -3
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -0
- package/dist/analyzer/typeGuards.js +257 -41
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.js +3 -0
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +14 -0
- package/dist/analyzer/types.js +215 -10
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/processUtils.d.ts +6 -0
- package/dist/common/processUtils.js +56 -1
- package/dist/common/processUtils.js.map +1 -1
- package/dist/common/textEditTracker.js +1 -1
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/windowsProcessTree.d.ts +2 -0
- package/dist/common/windowsProcessTree.js +23 -0
- package/dist/common/windowsProcessTree.js.map +1 -1
- package/dist/common/windowsProcessTree.json +23 -3
- package/dist/languageServerBase.d.ts +3 -0
- package/dist/languageServerBase.js +44 -12
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +6 -6
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.js +3 -3
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.js +1 -1
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +2 -2
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/localization/localize.d.ts +2 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +8 -0
- package/dist/parser/parseTreeTokenReuse.d.ts +34 -0
- package/dist/parser/parseTreeTokenReuse.js +897 -0
- package/dist/parser/parseTreeTokenReuse.js.map +1 -0
- package/dist/parser/tokenizer.d.ts +10 -1
- package/dist/parser/tokenizer.js +184 -130
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/tests/checker.test.js +8 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +35 -0
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +14 -4
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/languageServer.test.js +15 -0
- package/dist/tests/languageServer.test.js.map +1 -1
- package/dist/tests/lsp/languageServer.js +6 -6
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/mypyPrimerAnalysis.test.js +133 -0
- package/dist/tests/mypyPrimerAnalysis.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +3 -1
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +54 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +10 -3
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +35 -0
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +20 -0
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +1291 -1
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/tests/types.test.js +55 -0
- package/dist/tests/types.test.js.map +1 -1
- package/dist/typeServer/programWrapper.js +8 -2
- package/dist/typeServer/programWrapper.js.map +1 -1
- package/dist/typeServer/server.d.ts +12 -2
- package/dist/typeServer/server.js +97 -0
- package/dist/typeServer/server.js.map +1 -1
- package/package.json +1 -1
package/dist/analyzer/binder.js
CHANGED
|
@@ -2634,20 +2634,31 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
2634
2634
|
allowDiscriminatedNarrowing: true,
|
|
2635
2635
|
});
|
|
2636
2636
|
}
|
|
2637
|
-
// Look for
|
|
2638
|
-
|
|
2639
|
-
|
|
2637
|
+
// Look for type(X) on either side without skipping references in the other operand.
|
|
2638
|
+
let isLeftNarrowing;
|
|
2639
|
+
if (expression.d.leftExpr.nodeType === 9 /* ParseNodeType.Call */ &&
|
|
2640
2640
|
expression.d.leftExpr.d.leftExpr.nodeType === 38 /* ParseNodeType.Name */ &&
|
|
2641
2641
|
expression.d.leftExpr.d.leftExpr.d.value === 'type' &&
|
|
2642
2642
|
expression.d.leftExpr.d.args.length === 1 &&
|
|
2643
2643
|
expression.d.leftExpr.d.args[0].d.argCategory === 0 /* ArgCategory.Simple */) {
|
|
2644
|
-
|
|
2644
|
+
isLeftNarrowing = this._isNarrowingExpression(expression.d.leftExpr.d.args[0].d.valueExpr, expressionList, { ...options, isComplexExpression: true });
|
|
2645
|
+
}
|
|
2646
|
+
else {
|
|
2647
|
+
isLeftNarrowing = this._isNarrowingExpression(expression.d.leftExpr, expressionList, {
|
|
2648
|
+
...options,
|
|
2649
|
+
isComplexExpression: true,
|
|
2650
|
+
allowDiscriminatedNarrowing: true,
|
|
2651
|
+
});
|
|
2652
|
+
}
|
|
2653
|
+
// Look for "Y is type(X)", "Y is not type(X)", "Y == type(X)" or "Y != type(X)".
|
|
2654
|
+
if (expression.d.rightExpr.nodeType === 9 /* ParseNodeType.Call */ &&
|
|
2655
|
+
expression.d.rightExpr.d.leftExpr.nodeType === 38 /* ParseNodeType.Name */ &&
|
|
2656
|
+
expression.d.rightExpr.d.leftExpr.d.value === 'type' &&
|
|
2657
|
+
expression.d.rightExpr.d.args.length === 1 &&
|
|
2658
|
+
expression.d.rightExpr.d.args[0].d.argCategory === 0 /* ArgCategory.Simple */) {
|
|
2659
|
+
const isRightNarrowing = this._isNarrowingExpression(expression.d.rightExpr.d.args[0].d.valueExpr, expressionList, { ...options, isComplexExpression: true });
|
|
2660
|
+
return isLeftNarrowing || isRightNarrowing;
|
|
2645
2661
|
}
|
|
2646
|
-
const isLeftNarrowing = this._isNarrowingExpression(expression.d.leftExpr, expressionList, {
|
|
2647
|
-
...options,
|
|
2648
|
-
isComplexExpression: true,
|
|
2649
|
-
allowDiscriminatedNarrowing: true,
|
|
2650
|
-
});
|
|
2651
2662
|
// Look for "X is Y" or "X is not Y".
|
|
2652
2663
|
// Look for X == <literal> or X != <literal>
|
|
2653
2664
|
// Look for len(X) == <literal> or len(X) != <literal>
|