@zzzen/pyright-internal 1.2.0-dev.20240602 → 1.2.0-dev.20240616
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.d.ts +3 -1
- package/dist/analyzer/binder.js +23 -11
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +50 -33
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +27 -38
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +1 -1
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.js +2 -7
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.d.ts +0 -1
- package/dist/analyzer/dataClasses.js +52 -78
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/decorators.d.ts +2 -1
- package/dist/analyzer/decorators.js +34 -39
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/docStringUtils.d.ts +0 -1
- package/dist/analyzer/docStringUtils.js +1 -6
- package/dist/analyzer/docStringUtils.js.map +1 -1
- package/dist/analyzer/enums.d.ts +1 -1
- package/dist/analyzer/enums.js +20 -17
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.js +11 -9
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -3
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +6 -7
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/parameterUtils.js +1 -13
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/patternMatching.js +4 -4
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/properties.js +4 -4
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +16 -5
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.js +27 -48
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +2 -1
- package/dist/analyzer/sourceFile.js +7 -5
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +1 -0
- package/dist/analyzer/typeDocStringUtils.js +8 -1
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +746 -667
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -3
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +3 -2
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +25 -16
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +3 -5
- package/dist/analyzer/typeUtils.js +96 -144
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.js +4 -0
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typedDicts.js +6 -6
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +51 -54
- package/dist/analyzer/types.js +221 -260
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +1 -1
- package/dist/backgroundAnalysisBase.js +3 -3
- package/dist/commands/dumpFileDebugInfoCommand.js +17 -25
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/cancellationUtils.d.ts +1 -0
- package/dist/common/cancellationUtils.js +15 -1
- package/dist/common/cancellationUtils.js.map +1 -1
- package/dist/common/configOptions.d.ts +2 -1
- package/dist/common/configOptions.js +13 -4
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/docStringService.d.ts +15 -0
- package/dist/common/docStringService.js +38 -0
- package/dist/common/docStringService.js.map +1 -0
- package/dist/common/envVarUtils.js +3 -1
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +1 -7
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +1 -2
- package/dist/common/languageServerInterface.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +3 -3
- package/dist/common/realFileSystem.js +6 -6
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceKeys.d.ts +2 -0
- package/dist/common/serviceKeys.js +1 -0
- package/dist/common/serviceKeys.js.map +1 -1
- package/dist/common/serviceProvider.js +3 -0
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -0
- package/dist/common/serviceProviderExtensions.js +8 -0
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/stringUtils.d.ts +1 -0
- package/dist/common/stringUtils.js +5 -1
- package/dist/common/stringUtils.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +1 -1
- package/dist/common/uri/uriUtils.js +1 -1
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +1 -1
- package/dist/languageServerBase.js +3 -3
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +1 -0
- package/dist/languageService/completionProvider.js +16 -7
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +2 -1
- package/dist/languageService/completionProviderUtils.js +6 -4
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +2 -1
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +2 -1
- package/dist/languageService/hoverProvider.js +7 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +3 -1
- package/dist/languageService/signatureHelpProvider.js +8 -6
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +1 -1
- package/dist/localization/localize.d.ts +6 -0
- package/dist/localization/localize.js +3 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +4 -3
- package/dist/localization/package.nls.de.json +4 -3
- package/dist/localization/package.nls.en-us.json +3 -0
- package/dist/localization/package.nls.es.json +3 -2
- package/dist/localization/package.nls.fr.json +4 -3
- package/dist/localization/package.nls.it.json +4 -3
- package/dist/localization/package.nls.ja.json +4 -3
- package/dist/localization/package.nls.ko.json +5 -4
- package/dist/localization/package.nls.pl.json +4 -3
- package/dist/localization/package.nls.pt-br.json +4 -3
- package/dist/localization/package.nls.qps-ploc.json +4 -3
- package/dist/localization/package.nls.ru.json +4 -3
- package/dist/localization/package.nls.tr.json +4 -3
- package/dist/localization/package.nls.zh-cn.json +4 -3
- package/dist/localization/package.nls.zh-tw.json +4 -3
- package/dist/pyright.js +3 -0
- package/dist/pyright.js.map +1 -1
- package/dist/tests/checker.test.js +8 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/config.test.js +3 -3
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/diagnosticOverrides.test.js +7 -6
- package/dist/tests/diagnosticOverrides.test.js.map +1 -1
- package/dist/tests/docStringConversion.test.d.ts +2 -1
- package/dist/tests/docStringConversion.test.js +300 -293
- package/dist/tests/docStringConversion.test.js.map +1 -1
- package/dist/tests/fourslash/rename.externallyHidden.fourslash.js +2 -2
- package/dist/tests/fourslash/rename.externallyHidden.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.js +1 -1
- package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +2 -1
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/pathUtils.test.js +6 -0
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +2 -1
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/testState.test.js +1 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testUtils.js +1 -1
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +4 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +8 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +7 -3
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +15 -9
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +2 -2
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.js +6 -0
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +1 -1
- package/package.json +1 -1
- package/dist/tests/docStringUtils.test.d.ts +0 -1
- package/dist/tests/docStringUtils.test.js +0 -74
- package/dist/tests/docStringUtils.test.js.map +0 -1
@@ -1,8 +1,10 @@
|
|
1
|
+
import { DocStringService } from '../common/docStringService';
|
1
2
|
import { AssertNode, AssignmentExpressionNode, AssignmentNode, AugmentedAssignmentNode, AwaitNode, BinaryOperationNode, BreakNode, CallNode, ClassNode, ComprehensionNode, ContinueNode, DelNode, ExceptNode, ForNode, FunctionNode, GlobalNode, IfNode, ImportAsNode, ImportFromNode, IndexNode, LambdaNode, MatchNode, MemberAccessNode, ModuleNameNode, ModuleNode, NameNode, NonlocalNode, ParseNode, PatternAsNode, PatternCaptureNode, PatternMappingExpandEntryNode, RaiseNode, ReturnNode, SuiteNode, TernaryNode, TryNode, TypeAliasNode, TypeAnnotationNode, TypeParameterListNode, UnaryOperationNode, WhileNode, WithNode, YieldFromNode, YieldNode } from '../parser/parseNodes';
|
2
3
|
import { AnalyzerFileInfo } from './analyzerFileInfo';
|
3
4
|
import { ParseTreeWalker } from './parseTreeWalker';
|
4
5
|
import { Scope } from './scope';
|
5
6
|
export declare class Binder extends ParseTreeWalker {
|
7
|
+
private _docStringService;
|
6
8
|
private _moduleSymbolOnly;
|
7
9
|
private readonly _fileInfo;
|
8
10
|
private _deferredBindingTasks;
|
@@ -32,7 +34,7 @@ export declare class Binder extends ParseTreeWalker {
|
|
32
34
|
private _potentialHiddenSymbols;
|
33
35
|
private _potentialPrivateSymbols;
|
34
36
|
private _codeFlowComplexity;
|
35
|
-
constructor(fileInfo: AnalyzerFileInfo, _moduleSymbolOnly?: boolean);
|
37
|
+
constructor(fileInfo: AnalyzerFileInfo, _docStringService: DocStringService, _moduleSymbolOnly?: boolean);
|
36
38
|
bindModule(node: ModuleNode): void;
|
37
39
|
visitModule(node: ModuleNode): boolean;
|
38
40
|
visitSuite(node: SuiteNode): boolean;
|
package/dist/analyzer/binder.js
CHANGED
@@ -65,8 +65,9 @@ const symbolNameUtils_1 = require("./symbolNameUtils");
|
|
65
65
|
// flow nodes. This number is somewhat arbitrary and is tuned empirically.
|
66
66
|
const flowNodeComplexityContribution = 0.05;
|
67
67
|
class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
68
|
-
constructor(fileInfo, _moduleSymbolOnly = false) {
|
68
|
+
constructor(fileInfo, _docStringService, _moduleSymbolOnly = false) {
|
69
69
|
super();
|
70
|
+
this._docStringService = _docStringService;
|
70
71
|
this._moduleSymbolOnly = _moduleSymbolOnly;
|
71
72
|
// A queue of deferred analysis operations.
|
72
73
|
this._deferredBindingTasks = [];
|
@@ -196,7 +197,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
196
197
|
return true;
|
197
198
|
}
|
198
199
|
if (!importResult.isImportFound) {
|
199
|
-
this._addDiagnostic(
|
200
|
+
this._addDiagnostic(diagnosticRules_1.DiagnosticRule.reportMissingImports, localize_1.LocMessage.importResolveFailure().format({
|
200
201
|
importName: importResult.importName,
|
201
202
|
venv: this._fileInfo.executionEnvironment.name,
|
202
203
|
}), node);
|
@@ -206,7 +207,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
206
207
|
if (!importResult.isStubFile &&
|
207
208
|
importResult.importType === 1 /* ImportType.ThirdParty */ &&
|
208
209
|
!importResult.pyTypedInfo) {
|
209
|
-
const diagnostic = this._addDiagnostic(
|
210
|
+
const diagnostic = this._addDiagnostic(diagnosticRules_1.DiagnosticRule.reportMissingTypeStubs, localize_1.LocMessage.stubFileMissing().format({ importName: importResult.importName }), node);
|
210
211
|
if (diagnostic) {
|
211
212
|
// Add a diagnostic action for resolving this diagnostic.
|
212
213
|
const createTypeStubAction = {
|
@@ -495,7 +496,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
495
496
|
}
|
496
497
|
if (emitDunderAllWarning) {
|
497
498
|
this._usesUnsupportedDunderAllForm = true;
|
498
|
-
this._addDiagnostic(
|
499
|
+
this._addDiagnostic(diagnosticRules_1.DiagnosticRule.reportUnsupportedDunderAll, localize_1.LocMessage.unsupportedDunderAllOperation(), node);
|
499
500
|
}
|
500
501
|
}
|
501
502
|
return false;
|
@@ -576,7 +577,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
576
577
|
this._addTypeDeclarationForVariable(node.leftExpression, node.typeAnnotationComment);
|
577
578
|
}
|
578
579
|
if (node.chainedTypeAnnotationComment) {
|
579
|
-
this._addDiagnostic(
|
580
|
+
this._addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInvalidTypeForm, localize_1.LocMessage.annotationNotSupported(), node.chainedTypeAnnotationComment);
|
580
581
|
}
|
581
582
|
// If the assignment target base expression is potentially a
|
582
583
|
// TypedDict, add the base expression to the flow expressions set
|
@@ -652,7 +653,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
652
653
|
}
|
653
654
|
if (emitDunderAllWarning) {
|
654
655
|
this._usesUnsupportedDunderAllForm = true;
|
655
|
-
this._addDiagnostic(
|
656
|
+
this._addDiagnostic(diagnosticRules_1.DiagnosticRule.reportUnsupportedDunderAll, localize_1.LocMessage.unsupportedDunderAllOperation(), node);
|
656
657
|
}
|
657
658
|
}
|
658
659
|
}
|
@@ -779,7 +780,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
779
780
|
}
|
780
781
|
if (emitDunderAllWarning) {
|
781
782
|
this._usesUnsupportedDunderAllForm = true;
|
782
|
-
this._addDiagnostic(
|
783
|
+
this._addDiagnostic(diagnosticRules_1.DiagnosticRule.reportUnsupportedDunderAll, localize_1.LocMessage.unsupportedDunderAllOperation(), node);
|
783
784
|
}
|
784
785
|
}
|
785
786
|
return false;
|
@@ -2647,8 +2648,13 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2647
2648
|
if (this._currentScope.type === 4 /* ScopeType.Module */ || this._currentScope.type === 5 /* ScopeType.Builtin */) {
|
2648
2649
|
if ((0, symbolNameUtils_1.isPrivateOrProtectedName)(name)) {
|
2649
2650
|
if ((0, symbolNameUtils_1.isPrivateName)(name)) {
|
2650
|
-
// Private names are
|
2651
|
-
|
2651
|
+
// Private names within classes are mangled, so they are always externally hidden.
|
2652
|
+
if (scope.type === 3 /* ScopeType.Class */) {
|
2653
|
+
symbol.setIsExternallyHidden();
|
2654
|
+
}
|
2655
|
+
else {
|
2656
|
+
this._potentialPrivateSymbols.set(name, symbol);
|
2657
|
+
}
|
2652
2658
|
}
|
2653
2659
|
else if (this._fileInfo.isStubFile || this._fileInfo.isInPyTypedPackage) {
|
2654
2660
|
if (this._currentScope.type === 5 /* ScopeType.Builtin */) {
|
@@ -2968,7 +2974,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2968
2974
|
}
|
2969
2975
|
}
|
2970
2976
|
if (!declarationHandled) {
|
2971
|
-
this._addDiagnostic(
|
2977
|
+
this._addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInvalidTypeForm, localize_1.LocMessage.annotationNotSupported(), typeAnnotation);
|
2972
2978
|
}
|
2973
2979
|
}
|
2974
2980
|
// Determines whether the expression refers to a type exported by the typing
|
@@ -3031,6 +3037,11 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3031
3037
|
if (this._isTypingAnnotation(typeAnnotation, 'Final')) {
|
3032
3038
|
isFinal = true;
|
3033
3039
|
}
|
3040
|
+
else if (typeAnnotation.nodeType === 27 /* ParseNodeType.Index */ &&
|
3041
|
+
typeAnnotation.items.length > 0 &&
|
3042
|
+
this._isTypingAnnotation(typeAnnotation.baseExpression, 'Annotated')) {
|
3043
|
+
return this._isAnnotationFinal(typeAnnotation.items[0].valueExpression);
|
3044
|
+
}
|
3034
3045
|
else if (typeAnnotation.nodeType === 27 /* ParseNodeType.Index */ && typeAnnotation.items.length === 1) {
|
3035
3046
|
// Recursively call to see if the base expression is "Final".
|
3036
3047
|
const finalInfo = this._isAnnotationFinal(typeAnnotation.baseExpression);
|
@@ -3286,7 +3297,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3286
3297
|
this._codeFlowComplexity += flowNodeComplexityContribution;
|
3287
3298
|
return (0, codeFlowTypes_1.getUniqueFlowNodeId)();
|
3288
3299
|
}
|
3289
|
-
_addDiagnostic(
|
3300
|
+
_addDiagnostic(rule, message, textRange) {
|
3301
|
+
const diagLevel = this._fileInfo.diagnosticRuleSet[rule];
|
3290
3302
|
let diagnostic;
|
3291
3303
|
switch (diagLevel) {
|
3292
3304
|
case 'error':
|