@zzzen/pyright-internal 1.2.0-dev.20240908 → 1.2.0-dev.20240922
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/analysis.d.ts +1 -0
- package/dist/analyzer/analysis.js +2 -0
- package/dist/analyzer/analysis.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +6 -2
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/cacheManager.d.ts +2 -2
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.js +31 -156
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +21 -3
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.d.ts +1 -2
- package/dist/analyzer/constraintSolver.js +5 -20
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constraintTracker.d.ts +0 -4
- package/dist/analyzer/constraintTracker.js +0 -21
- package/dist/analyzer/constraintTracker.js.map +1 -1
- package/dist/analyzer/constructors.js +0 -1
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/patternMatching.js +3 -1
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +2 -3
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.d.ts +1 -2
- package/dist/analyzer/protocols.js +2 -2
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +1 -1
- package/dist/analyzer/service.d.ts +2 -1
- package/dist/analyzer/service.js +56 -42
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceMapper.js +8 -4
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/tuples.d.ts +1 -2
- package/dist/analyzer/tuples.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +168 -108
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +27 -2
- package/dist/analyzer/typeEvaluatorTypes.js +62 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +3 -12
- package/dist/analyzer/typeGuards.js +282 -456
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +1 -2
- package/dist/analyzer/typePrinter.js +4 -24
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +12 -1
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +0 -17
- package/dist/analyzer/typeUtils.js +7 -59
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +1 -2
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +1 -0
- package/dist/analyzer/types.js +12 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +23 -16
- package/dist/backgroundAnalysisBase.js +65 -35
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.js +9 -0
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/common/commandLineOptions.d.ts +1 -0
- package/dist/common/commandLineOptions.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +1 -1
- package/dist/common/uri/uriUtils.d.ts +1 -1
- package/dist/common/uri/uriUtils.js +6 -1
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +2 -2
- package/dist/languageServerBase.js +1 -3
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +6 -1
- package/dist/languageService/analyzerServiceExecutor.js +8 -7
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/fileWatcherDynamicFeature.d.ts +5 -1
- package/dist/languageService/fileWatcherDynamicFeature.js +12 -2
- package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +1 -1
- package/dist/languageService/hoverProvider.js +9 -10
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +8 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +157 -153
- package/dist/localization/package.nls.de.json +130 -126
- package/dist/localization/package.nls.en-us.json +1632 -406
- package/dist/localization/package.nls.es.json +153 -149
- package/dist/localization/package.nls.fr.json +131 -127
- package/dist/localization/package.nls.it.json +145 -141
- package/dist/localization/package.nls.ja.json +144 -140
- package/dist/localization/package.nls.ko.json +157 -153
- package/dist/localization/package.nls.pl.json +180 -176
- package/dist/localization/package.nls.pt-br.json +141 -137
- package/dist/localization/package.nls.qps-ploc.json +394 -390
- package/dist/localization/package.nls.ru.json +172 -168
- package/dist/localization/package.nls.tr.json +155 -151
- package/dist/localization/package.nls.zh-cn.json +151 -147
- package/dist/localization/package.nls.zh-tw.json +135 -131
- package/dist/parser/unicode.js +136 -8
- package/dist/parser/unicode.js.map +1 -1
- package/dist/tests/checker.test.js +9 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/config.test.js +40 -3
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/envVarUtils.test.js +0 -3
- package/dist/tests/envVarUtils.test.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +0 -3
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +2 -5
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.d.ts +1 -0
- package/dist/tests/harness/fourslash/testStateUtils.js +5 -0
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +3 -2
- package/dist/tests/harness/vfs/filesystem.js +6 -3
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/service.test.js +31 -0
- package/dist/tests/service.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 +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/typeEvaluator6.test.js +5 -1
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +5 -1
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +2 -2
- package/dist/workspaceFactory.d.ts +2 -20
- package/dist/workspaceFactory.js +20 -58
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
@@ -13,7 +13,7 @@ import { SymbolWithScope } from './scope';
|
|
13
13
|
import { Symbol } from './symbol';
|
14
14
|
import { PrintTypeFlags } from './typePrinter';
|
15
15
|
import { AnyType, ClassType, FunctionParam, FunctionType, OverloadedType, Type, TypeCondition, TypeVarScopeId, TypeVarType, UnknownType, Variance } from './types';
|
16
|
-
import {
|
16
|
+
import { ClassMember, InferenceContext, MemberAccessFlags } from './typeUtils';
|
17
17
|
export declare const maxSubtypesForInferredType = 64;
|
18
18
|
export declare const enum EvalFlags {
|
19
19
|
None = 0,
|
@@ -257,9 +257,31 @@ export interface CallSiteEvaluationInfo {
|
|
257
257
|
errorNode: ExpressionNode;
|
258
258
|
args: ValidateArgTypeParams[];
|
259
259
|
}
|
260
|
+
export interface SynthesizedTypeInfo {
|
261
|
+
type: Type;
|
262
|
+
node: NameNode;
|
263
|
+
}
|
260
264
|
export interface SymbolDeclInfo {
|
261
265
|
decls: Declaration[];
|
262
|
-
synthesizedTypes:
|
266
|
+
synthesizedTypes: SynthesizedTypeInfo[];
|
267
|
+
}
|
268
|
+
export declare const enum AssignTypeFlags {
|
269
|
+
Default = 0,
|
270
|
+
Invariant = 1,
|
271
|
+
Contravariant = 2,
|
272
|
+
SkipRecursiveTypeCheck = 4,
|
273
|
+
ArgAssignmentFirstPass = 8,
|
274
|
+
OverloadOverlap = 16,
|
275
|
+
PartialOverloadOverlap = 32,
|
276
|
+
SkipReturnTypeCheck = 64,
|
277
|
+
RetainLiteralsForTypeVar = 256,
|
278
|
+
SkipSelfClsTypeCheck = 512,
|
279
|
+
PopulateExpectedType = 2048,
|
280
|
+
SkipPopulateUnknownExpectedType = 4096,
|
281
|
+
AllowUnspecifiedTypeArgs = 8192,
|
282
|
+
AllowIsinstanceSpecialForms = 16384,
|
283
|
+
SkipSelfClsParamCheck = 32768,
|
284
|
+
AllowProtocolClassSource = 65536
|
263
285
|
}
|
264
286
|
export interface TypeEvaluator {
|
265
287
|
runWithCancellationToken<T>(token: CancellationToken, callback: () => T): T;
|
@@ -326,6 +348,7 @@ export interface TypeEvaluator {
|
|
326
348
|
getBoundMagicMethod: (classType: ClassType, memberName: string, selfType?: ClassType | TypeVarType | undefined, diag?: DiagnosticAddendum, recursionCount?: number) => FunctionType | OverloadedType | undefined;
|
327
349
|
getTypeOfMagicMethodCall: (objType: Type, methodName: string, argList: TypeResult[], errorNode: ExpressionNode, inferenceContext: InferenceContext | undefined) => TypeResult | undefined;
|
328
350
|
bindFunctionToClassOrObject: (baseType: ClassType | undefined, memberType: FunctionType | OverloadedType, memberClass?: ClassType, treatConstructorAsClassMethod?: boolean, selfType?: ClassType | TypeVarType, diag?: DiagnosticAddendum, recursionCount?: number) => FunctionType | OverloadedType | undefined;
|
351
|
+
getCallbackProtocolType: (objType: ClassType, recursionCount?: number) => FunctionType | OverloadedType | undefined;
|
329
352
|
getCallSignatureInfo: (node: CallNode, activeIndex: number, activeOrFake: boolean) => CallSignatureInfo | undefined;
|
330
353
|
getAbstractSymbols: (classType: ClassType) => AbstractSymbol[];
|
331
354
|
narrowConstrainedTypeVar: (node: ParseNode, typeVar: TypeVarType) => Type | undefined;
|
@@ -338,6 +361,8 @@ export interface TypeEvaluator {
|
|
338
361
|
getBuiltInObject: (node: ParseNode, name: string, typeArgs?: Type[]) => Type;
|
339
362
|
getTypedDictClassType: () => ClassType | undefined;
|
340
363
|
getTupleClassType: () => ClassType | undefined;
|
364
|
+
getDictClassType: () => ClassType | undefined;
|
365
|
+
getStrClassType: () => ClassType | undefined;
|
341
366
|
getObjectType: () => Type;
|
342
367
|
getNoneType: () => Type;
|
343
368
|
getUnionClassType(): Type;
|
@@ -8,7 +8,7 @@
|
|
8
8
|
* Abstract interface and other helper types for type evaluator module.
|
9
9
|
*/
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
11
|
-
exports.Reachability = exports.EvalFlags = exports.maxSubtypesForInferredType = void 0;
|
11
|
+
exports.AssignTypeFlags = exports.Reachability = exports.EvalFlags = exports.maxSubtypesForInferredType = void 0;
|
12
12
|
// Maximum number of unioned subtypes for an inferred type (e.g.
|
13
13
|
// a list) before the type is considered an "Any".
|
14
14
|
exports.maxSubtypesForInferredType = 64;
|
@@ -112,4 +112,65 @@ var Reachability;
|
|
112
112
|
Reachability[Reachability["UnreachableAlways"] = 1] = "UnreachableAlways";
|
113
113
|
Reachability[Reachability["UnreachableByAnalysis"] = 2] = "UnreachableByAnalysis";
|
114
114
|
})(Reachability || (exports.Reachability = Reachability = {}));
|
115
|
+
var AssignTypeFlags;
|
116
|
+
(function (AssignTypeFlags) {
|
117
|
+
AssignTypeFlags[AssignTypeFlags["Default"] = 0] = "Default";
|
118
|
+
// Require invariance with respect to class matching? Normally
|
119
|
+
// subclasses are allowed.
|
120
|
+
AssignTypeFlags[AssignTypeFlags["Invariant"] = 1] = "Invariant";
|
121
|
+
// The caller has swapped the source and dest types because
|
122
|
+
// the types are contravariant. Perform type var matching
|
123
|
+
// on dest type vars rather than source type var.
|
124
|
+
AssignTypeFlags[AssignTypeFlags["Contravariant"] = 2] = "Contravariant";
|
125
|
+
// We're comparing type compatibility of two distinct recursive types.
|
126
|
+
// This has the potential of recursing infinitely. This flag allows us
|
127
|
+
// to detect the recursion after the first level of checking.
|
128
|
+
AssignTypeFlags[AssignTypeFlags["SkipRecursiveTypeCheck"] = 4] = "SkipRecursiveTypeCheck";
|
129
|
+
// During TypeVar solving for a function call, this flag is set if
|
130
|
+
// this is the first of multiple passes. It adjusts certain heuristics
|
131
|
+
// for constraint solving.
|
132
|
+
AssignTypeFlags[AssignTypeFlags["ArgAssignmentFirstPass"] = 8] = "ArgAssignmentFirstPass";
|
133
|
+
// If the dest is not Any but the src is Any, treat it
|
134
|
+
// as incompatible. Also, treat all source TypeVars as their
|
135
|
+
// concrete counterparts. This option is used for validating
|
136
|
+
// whether overload signatures overlap.
|
137
|
+
AssignTypeFlags[AssignTypeFlags["OverloadOverlap"] = 16] = "OverloadOverlap";
|
138
|
+
// When used in conjunction with OverloadOverlapCheck, look
|
139
|
+
// for partial overlaps. For example, `int | list` overlaps
|
140
|
+
// partially with `int | str`.
|
141
|
+
AssignTypeFlags[AssignTypeFlags["PartialOverloadOverlap"] = 32] = "PartialOverloadOverlap";
|
142
|
+
// For function types, skip the return type check.
|
143
|
+
AssignTypeFlags[AssignTypeFlags["SkipReturnTypeCheck"] = 64] = "SkipReturnTypeCheck";
|
144
|
+
// In most cases, literals are stripped when assigning to a
|
145
|
+
// type variable. This overrides the standard behavior.
|
146
|
+
AssignTypeFlags[AssignTypeFlags["RetainLiteralsForTypeVar"] = 256] = "RetainLiteralsForTypeVar";
|
147
|
+
// When validating the type of a self or cls parameter, allow
|
148
|
+
// a type mismatch. This is used in overload consistency validation
|
149
|
+
// because overloads can provide explicit type annotations for self
|
150
|
+
// or cls.
|
151
|
+
AssignTypeFlags[AssignTypeFlags["SkipSelfClsTypeCheck"] = 512] = "SkipSelfClsTypeCheck";
|
152
|
+
// We're initially populating the constraints with an expected type,
|
153
|
+
// so TypeVars should match the specified type exactly rather than
|
154
|
+
// employing narrowing or widening. The variance context determines
|
155
|
+
// whether the upper bound, lower bound, or both are established.
|
156
|
+
AssignTypeFlags[AssignTypeFlags["PopulateExpectedType"] = 2048] = "PopulateExpectedType";
|
157
|
+
// Used with PopulatingExpectedType, this flag indicates that a TypeVar
|
158
|
+
// constraint that is Unknown should be ignored.
|
159
|
+
AssignTypeFlags[AssignTypeFlags["SkipPopulateUnknownExpectedType"] = 4096] = "SkipPopulateUnknownExpectedType";
|
160
|
+
// Normally, when a class type is assigned to a TypeVar and that class
|
161
|
+
// hasn't previously been specialized, it will be specialized with
|
162
|
+
// default type arguments (typically "Unknown"). This flag skips
|
163
|
+
// this step.
|
164
|
+
AssignTypeFlags[AssignTypeFlags["AllowUnspecifiedTypeArgs"] = 8192] = "AllowUnspecifiedTypeArgs";
|
165
|
+
// Normally all special form classes are incompatible with type[T],
|
166
|
+
// but a few of them are allowed in the context of an isinstance
|
167
|
+
// or issubclass call.
|
168
|
+
AssignTypeFlags[AssignTypeFlags["AllowIsinstanceSpecialForms"] = 16384] = "AllowIsinstanceSpecialForms";
|
169
|
+
// When comparing two methods, skip the type check for the "self" or "cls"
|
170
|
+
// parameters. This is used for variance inference and validation.
|
171
|
+
AssignTypeFlags[AssignTypeFlags["SkipSelfClsParamCheck"] = 32768] = "SkipSelfClsParamCheck";
|
172
|
+
// Normally a protocol class object cannot be used as a source type. This
|
173
|
+
// option overrides this behavior.
|
174
|
+
AssignTypeFlags[AssignTypeFlags["AllowProtocolClassSource"] = 65536] = "AllowProtocolClassSource";
|
175
|
+
})(AssignTypeFlags || (exports.AssignTypeFlags = AssignTypeFlags = {}));
|
115
176
|
//# sourceMappingURL=typeEvaluatorTypes.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA+CH,gEAAgE;AAChE,kDAAkD;AACrC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C,IAAkB,SAoIjB;AApID,WAAkB,SAAS;IACvB,yCAAQ,CAAA;IAER,uDAAuD;IACvD,yEAA6B,CAAA;IAE7B,0DAA0D;IAC1D,gEAAgE;IAChE,SAAS;IACT,yDAAqB,CAAA;IAErB,yDAAyD;IACzD,uDAAoB,CAAA;IAEpB,kCAAkC;IAClC,iEAAyB,CAAA;IAEzB,0CAA0C;IAC1C,gDAAgB,CAAA;IAEhB,6CAA6C;IAC7C,wDAAoB,CAAA;IAEpB,gDAAgD;IAChD,8DAAuB,CAAA;IAEvB,2DAA2D;IAC3D,4BAA4B;IAC5B,mEAAyB,CAAA;IAEzB,kEAAkE;IAClE,gEAAgE;IAChE,qBAAqB;IACrB,+DAAuB,CAAA;IAEvB,qEAAqE;IACrE,2EAA6B,CAAA;IAE7B,2DAA2D;IAC3D,gDAAgD;IAChD,4DAAsB,CAAA;IAEtB,8DAA8D;IAC9D,0BAA0B;IAC1B,4EAA8B,CAAA;IAE9B,oEAAoE;IACpE,0BAA0B;IAC1B,wFAAoC,CAAA;IAEpC,yDAAyD;IACzD,2DAA2D;IAC3D,mCAAmC;IACnC,0EAA6B,CAAA;IAE7B,yDAAyD;IACzD,6DAA6D;IAC7D,uDAAuD;IACvD,yFAAoC,CAAA;IAEpC,oDAAoD;IACpD,uEAA2B,CAAA;IAE3B,6CAA6C;IAC7C,0DAAoB,CAAA;IAEpB,mEAAmE;IACnE,kEAAwB,CAAA;IAExB,iEAAiE;IACjE,iCAAiC;IACjC,wDAAmB,CAAA;IAEnB,wDAAwD;IACxD,iEAAuB,CAAA;IAEvB,uDAAuD;IACvD,2EAA4B,CAAA;IAE5B,yCAAyC;IACzC,mFAAgC,CAAA;IAEhC,6DAA6D;IAC7D,2DAA2D;IAC3D,oDAAoD;IACpD,6EAA6B,CAAA;IAE7B,8DAA8D;IAC9D,iDAAiD;IACjD,gFAA8B,CAAA;IAE9B,oEAAoE;IACpE,mBAAmB;IACnB,kFAA+B,CAAA;IAE/B,6CAA6C;IAC7C,yEAA0B,CAAA;IAE1B,2EAA2E;IAC3E,4BAA4B;IAC5B,6EAA4B,CAAA;IAE5B,sEAAsE;IACtE,+DAA+D;IAC/D,mEAAuB,CAAA;IAEvB,yEAAyE;IACzE,+BAA+B;IAC/B,gEAAqB,CAAA;IAErB,yEAAyE;IACzE,8CAA8C;IAC9C,2FAAkC,CAAA;IAElC,6DAA6D;IAC7D,iEAA+B,CAAA;IAE/B,sEAAsE;IACtE,mEAAgC,CAAA;IAEhC,sEAAsE;IACtE,iFAAuC,CAAA;IAEvC,sEAAsE;IACtE,wBAAwB;IACxB,mFAMiB,CAAA;AACrB,CAAC,EApIiB,SAAS,yBAAT,SAAS,QAoI1B;AAsRD,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,yDAAS,CAAA;IACT,yEAAiB,CAAA;IACjB,iFAAqB,CAAA;AACzB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
|
1
|
+
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":"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"}
|
@@ -1,26 +1,17 @@
|
|
1
1
|
import { ExpressionNode } from '../parser/parseNodes';
|
2
2
|
import { TypeEvaluator } from './typeEvaluatorTypes';
|
3
|
-
import { ClassType, Type } from './types';
|
3
|
+
import { AnyType, ClassType, FunctionType, OverloadedType, Type, TypeVarType, UnknownType } from './types';
|
4
4
|
export interface TypeNarrowingResult {
|
5
5
|
type: Type;
|
6
6
|
isIncomplete: boolean;
|
7
7
|
}
|
8
8
|
export type TypeNarrowingCallback = (type: Type) => TypeNarrowingResult | undefined;
|
9
9
|
export declare function getTypeNarrowingCallback(evaluator: TypeEvaluator, reference: ExpressionNode, testExpression: ExpressionNode, isPositiveTest: boolean, recursionCount?: number): TypeNarrowingCallback | undefined;
|
10
|
-
export declare function
|
11
|
-
export declare function
|
10
|
+
export declare function getIsInstanceClassTypes(evaluator: TypeEvaluator, argType: Type): (ClassType | TypeVarType | FunctionType)[] | undefined;
|
11
|
+
export declare function narrowTypeForInstanceOrSubclass(evaluator: TypeEvaluator, type: Type, filterTypes: Type[], isInstanceCheck: boolean, isTypeIsCheck: boolean, isPositiveTest: boolean, errorNode: ExpressionNode): import("./types").UnboundType | UnknownType | AnyType | FunctionType | OverloadedType | ClassType | import("./types").ModuleType | TypeVarType | import("./types").NeverType | import("./types").UnionType;
|
12
12
|
export declare function getElementTypeForContainerNarrowing(containerType: Type): Type | undefined;
|
13
13
|
export declare function narrowTypeForContainerElementType(evaluator: TypeEvaluator, referenceType: Type, elementType: Type): Type;
|
14
14
|
export declare function narrowTypeForDiscriminatedDictEntryComparison(evaluator: TypeEvaluator, referenceType: Type, indexLiteralType: ClassType, literalType: Type, isPositiveTest: boolean): Type;
|
15
15
|
export declare function narrowTypeForDiscriminatedTupleComparison(evaluator: TypeEvaluator, referenceType: Type, indexLiteralType: ClassType, literalType: Type, isPositiveTest: boolean): Type;
|
16
16
|
export declare function narrowTypeForDiscriminatedLiteralFieldComparison(evaluator: TypeEvaluator, referenceType: Type, memberName: string, literalType: ClassType, isPositiveTest: boolean): Type;
|
17
17
|
export declare function enumerateLiteralsForType(evaluator: TypeEvaluator, type: ClassType): ClassType[] | undefined;
|
18
|
-
export declare class Animal {
|
19
|
-
}
|
20
|
-
export declare class Dog extends Animal {
|
21
|
-
}
|
22
|
-
export declare class Plant {
|
23
|
-
}
|
24
|
-
export declare class Tree extends Plant {
|
25
|
-
}
|
26
|
-
export declare function func1(val: Animal): void;
|