@zzzen/pyright-internal 1.2.0-dev.20230312 → 1.2.0-dev.20230326
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/aliasDeclarationUtils.js +15 -0
- package/dist/analyzer/aliasDeclarationUtils.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/cacheManager.d.ts +4 -0
- package/dist/analyzer/cacheManager.js +13 -0
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +2 -1
- package/dist/analyzer/checker.js +77 -27
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +17 -11
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/dataClasses.js +10 -0
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/patternMatching.js +18 -3
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +1 -1
- package/dist/analyzer/program.js +24 -28
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +0 -1
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +18 -3
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.d.ts +2 -1
- package/dist/analyzer/service.js +15 -20
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +2 -2
- package/dist/analyzer/sourceFile.js +2 -2
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -0
- package/dist/analyzer/sourceFileInfoUtils.js +17 -1
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +149 -84
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +0 -2
- package/dist/analyzer/typeEvaluatorTypes.js +0 -3
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +2 -0
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.js +40 -1
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +27 -0
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +5 -1
- package/dist/analyzer/types.js +3 -1
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +4 -4
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +2 -2
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +5 -1
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/console.d.ts +1 -0
- package/dist/common/console.js +19 -1
- package/dist/common/console.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +2 -1
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/extensibility.d.ts +2 -2
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/extensions.js +3 -1
- package/dist/common/extensions.js.map +1 -1
- package/dist/common/fileBasedCancellationUtils.js +4 -0
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +21 -46
- package/dist/languageServerBase.js +110 -152
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +4 -3
- package/dist/languageService/analyzerServiceExecutor.js +9 -7
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -2
- package/dist/languageService/codeActionProvider.js +4 -4
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +4 -6
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.js +1 -1
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +2 -1
- package/dist/languageService/documentSymbolCollector.js +23 -2
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +2 -1
- package/dist/languageService/hoverProvider.js +21 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +3 -2
- package/dist/languageService/referencesProvider.js +4 -4
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +9 -7
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +14 -6
- package/dist/localization/localize.js +5 -4
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +7 -6
- package/dist/parser/parser.js +4 -2
- package/dist/parser/parser.js.map +1 -1
- package/dist/server.d.ts +3 -2
- package/dist/server.js +1 -4
- package/dist/server.js.map +1 -1
- package/dist/tests/cacheManager.test.d.ts +1 -0
- package/dist/tests/cacheManager.test.js +69 -0
- package/dist/tests/cacheManager.test.js.map +1 -0
- package/dist/tests/checker.test.js +2 -2
- package/dist/tests/completions.test.js +42 -2
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.d.ts +7 -0
- package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js +45 -0
- package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js.map +1 -0
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +7 -6
- package/dist/tests/harness/fourslash/testLanguageService.js +14 -13
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +5 -4
- package/dist/tests/harness/fourslash/testState.js +14 -13
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/hoverProvider.test.js +50 -0
- package/dist/tests/hoverProvider.test.js.map +1 -1
- package/dist/tests/moveSymbol.misc.test.js +1 -1
- package/dist/tests/moveSymbol.misc.test.js.map +1 -1
- package/dist/tests/service.test.js +4 -4
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +2 -2
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +3 -3
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +10 -2
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +6 -2
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +6 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +12 -0
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +2 -2
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +72 -0
- package/dist/workspaceFactory.js +421 -0
- package/dist/workspaceFactory.js.map +1 -0
- package/package.json +4 -4
- package/dist/workspaceMap.d.ts +0 -14
- package/dist/workspaceMap.js +0 -172
- package/dist/workspaceMap.js.map +0 -1
@@ -33,7 +33,6 @@ export declare const enum EvaluatorFlags {
|
|
33
33
|
AssociateTypeVarsWithCurrentScope = 8192,
|
34
34
|
EnforceTypeVarVarianceConsistency = 16384,
|
35
35
|
VariableTypeAnnotation = 32768,
|
36
|
-
DisallowRecursiveTypeAliasPlaceholder = 65536,
|
37
36
|
DisallowClassVar = 131072,
|
38
37
|
DisallowNakedGeneric = 262144,
|
39
38
|
NotParsedByInterpreter = 524288,
|
@@ -131,7 +130,6 @@ export interface AnnotationTypeOptions {
|
|
131
130
|
allowTypeVarTuple?: boolean;
|
132
131
|
allowParamSpec?: boolean;
|
133
132
|
allowRequired?: boolean;
|
134
|
-
disallowRecursiveTypeAlias?: boolean;
|
135
133
|
allowUnpackedTypedDict?: boolean;
|
136
134
|
allowUnpackedTuple?: boolean;
|
137
135
|
notParsedByInterpreter?: boolean;
|
@@ -60,9 +60,6 @@ var EvaluatorFlags;
|
|
60
60
|
EvaluatorFlags[EvaluatorFlags["EnforceTypeVarVarianceConsistency"] = 16384] = "EnforceTypeVarVarianceConsistency";
|
61
61
|
// Used for PEP 526-style variable type annotations
|
62
62
|
EvaluatorFlags[EvaluatorFlags["VariableTypeAnnotation"] = 32768] = "VariableTypeAnnotation";
|
63
|
-
// Emit an error if an incomplete recursive type alias is
|
64
|
-
// used in this context.
|
65
|
-
EvaluatorFlags[EvaluatorFlags["DisallowRecursiveTypeAliasPlaceholder"] = 65536] = "DisallowRecursiveTypeAliasPlaceholder";
|
66
63
|
// 'ClassVar' is not allowed in this context.
|
67
64
|
EvaluatorFlags[EvaluatorFlags["DisallowClassVar"] = 131072] = "DisallowClassVar";
|
68
65
|
// 'Generic' cannot be used without type arguments in this context.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA4CH,gEAAgE;AAChE,kDAAkD;AACrC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C,IAAkB,
|
1
|
+
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA4CH,gEAAgE;AAChE,kDAAkD;AACrC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C,IAAkB,cAsFjB;AAtFD,WAAkB,cAAc;IAC5B,mDAAQ,CAAA;IAER,uDAAuD;IACvD,mFAA6B,CAAA;IAE7B,0DAA0D;IAC1D,gEAAgE;IAChE,SAAS;IACT,yEAAwB,CAAA;IAExB,yDAAyD;IACzD,uFAA+B,CAAA;IAE/B,kCAAkC;IAClC,iGAAoC,CAAA;IAEpC,0CAA0C;IAC1C,sEAAsB,CAAA;IAEtB,6CAA6C;IAC7C,8EAA0B,CAAA;IAE1B,gDAAgD;IAChD,oFAA6B,CAAA;IAE7B,qDAAqD;IACrD,4BAA4B;IAC5B,uEAAsB,CAAA;IAEtB,gEAAgE;IAChE,6DAA6D;IAC7D,qBAAqB;IACrB,2FAAgC,CAAA;IAEhC,2DAA2D;IAC3D,6FAAiC,CAAA;IAEjC,2DAA2D;IAC3D,gDAAgD;IAChD,wFAA+B,CAAA;IAE/B,8DAA8D;IAC9D,0BAA0B;IAC1B,oGAAqC,CAAA;IAErC,0DAA0D;IAC1D,0BAA0B;IAC1B,0GAAwC,CAAA;IAExC,yDAAyD;IACzD,2DAA2D;IAC3D,mCAAmC;IACnC,gHAA2C,CAAA;IAE3C,yDAAyD;IACzD,6DAA6D;IAC7D,uDAAuD;IACvD,iHAA2C,CAAA;IAE3C,mDAAmD;IACnD,2FAAgC,CAAA;IAEhC,6CAA6C;IAC7C,gFAA0B,CAAA;IAE1B,mEAAmE;IACnE,wFAA8B,CAAA;IAE9B,iEAAiE;IACjE,iCAAiC;IACjC,4FAAgC,CAAA;IAEhC,wDAAwD;IACxD,2EAAuB,CAAA;IAEvB,uDAAuD;IACvD,iHAA0C,CAAA;IAE1C,6DAA6D;IAC7D,2DAA2D;IAC3D,oDAAoD;IACpD,6GAAwC,CAAA;IAExC,yCAAyC;IACzC,6FAAgC,CAAA;AACpC,CAAC,EAtFiB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAsF/B"}
|
@@ -263,6 +263,8 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
263
263
|
visitTry(node) {
|
264
264
|
// Don't emit a doc string after the first statement.
|
265
265
|
this._emitDocString = false;
|
266
|
+
// Only walk a single branch of the try/catch to for imports.
|
267
|
+
this.walk(node.trySuite);
|
266
268
|
return false;
|
267
269
|
}
|
268
270
|
visitWith(node) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeStubWriter.js","sourceRoot":"","sources":["../../../src/analyzer/typeStubWriter.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"typeStubWriter.js","sourceRoot":"","sources":["../../../src/analyzer/typeStubWriter.ts"],"names":[],"mappings":"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"}
|
@@ -1552,6 +1552,11 @@ function isEffectivelyInstantiable(type) {
|
|
1552
1552
|
}
|
1553
1553
|
exports.isEffectivelyInstantiable = isEffectivelyInstantiable;
|
1554
1554
|
function convertToInstance(type, includeSubclasses = true) {
|
1555
|
+
var _a;
|
1556
|
+
// See if we've already performed this conversion and cached it.
|
1557
|
+
if ((_a = type.cached) === null || _a === void 0 ? void 0 : _a.instanceType) {
|
1558
|
+
return type.cached.instanceType;
|
1559
|
+
}
|
1555
1560
|
let result = mapSubtypes(type, (subtype) => {
|
1556
1561
|
switch (subtype.category) {
|
1557
1562
|
case 7 /* Class */: {
|
@@ -1592,10 +1597,20 @@ function convertToInstance(type, includeSubclasses = true) {
|
|
1592
1597
|
if (type.typeAliasInfo && type !== result) {
|
1593
1598
|
result = types_1.TypeBase.cloneForTypeAlias(result, type.typeAliasInfo.name, type.typeAliasInfo.fullName, type.typeAliasInfo.typeVarScopeId, type.typeAliasInfo.typeParameters, type.typeAliasInfo.typeArguments);
|
1594
1599
|
}
|
1600
|
+
// Cache the converted value for next time.
|
1601
|
+
if (!type.cached) {
|
1602
|
+
type.cached = {};
|
1603
|
+
}
|
1604
|
+
type.cached.instanceType = result;
|
1595
1605
|
return result;
|
1596
1606
|
}
|
1597
1607
|
exports.convertToInstance = convertToInstance;
|
1598
1608
|
function convertToInstantiable(type) {
|
1609
|
+
var _a;
|
1610
|
+
// See if we've already performed this conversion and cached it.
|
1611
|
+
if ((_a = type.cached) === null || _a === void 0 ? void 0 : _a.instantiableType) {
|
1612
|
+
return type.cached.instantiableType;
|
1613
|
+
}
|
1599
1614
|
let result = mapSubtypes(type, (subtype) => {
|
1600
1615
|
switch (subtype.category) {
|
1601
1616
|
case 7 /* Class */: {
|
@@ -1617,6 +1632,11 @@ function convertToInstantiable(type) {
|
|
1617
1632
|
if (type.typeAliasInfo && type !== result) {
|
1618
1633
|
result = types_1.TypeBase.cloneForTypeAlias(result, type.typeAliasInfo.name, type.typeAliasInfo.fullName, type.typeAliasInfo.typeVarScopeId, type.typeAliasInfo.typeParameters, type.typeAliasInfo.typeArguments);
|
1619
1634
|
}
|
1635
|
+
// Cache the converted value for next time.
|
1636
|
+
if (!type.cached) {
|
1637
|
+
type.cached = {};
|
1638
|
+
}
|
1639
|
+
type.cached.instantiableType = result;
|
1620
1640
|
return result;
|
1621
1641
|
}
|
1622
1642
|
exports.convertToInstantiable = convertToInstantiable;
|
@@ -2042,7 +2062,26 @@ function isVarianceOfTypeArgumentCompatible(type, typeParamVariance) {
|
|
2042
2062
|
if (type.typeArguments && index < type.typeArguments.length) {
|
2043
2063
|
typeArgType = type.typeArguments[index];
|
2044
2064
|
}
|
2045
|
-
const
|
2065
|
+
const declaredVariance = typeParam.details.declaredVariance;
|
2066
|
+
if (declaredVariance === 0 /* Auto */) {
|
2067
|
+
return true;
|
2068
|
+
}
|
2069
|
+
let effectiveVariance = 2 /* Invariant */;
|
2070
|
+
if (declaredVariance === 3 /* Covariant */) {
|
2071
|
+
// If the declared variance is covariant, the effective variance
|
2072
|
+
// is simply copied from the type param variance.
|
2073
|
+
effectiveVariance = typeParamVariance;
|
2074
|
+
}
|
2075
|
+
else if (declaredVariance === 4 /* Contravariant */) {
|
2076
|
+
// If the declared variance is contravariant, it flips the
|
2077
|
+
// effective variance from contravariant to covariant or vice versa.
|
2078
|
+
if (typeParamVariance === 3 /* Covariant */) {
|
2079
|
+
effectiveVariance = 4 /* Contravariant */;
|
2080
|
+
}
|
2081
|
+
else if (typeParamVariance === 4 /* Contravariant */) {
|
2082
|
+
effectiveVariance = 3 /* Covariant */;
|
2083
|
+
}
|
2084
|
+
}
|
2046
2085
|
return isVarianceOfTypeArgumentCompatible(typeArgType !== null && typeArgType !== void 0 ? typeArgType : types_1.UnknownType.create(), effectiveVariance);
|
2047
2086
|
});
|
2048
2087
|
}
|