@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.
Files changed (132) hide show
  1. package/dist/analyzer/analysis.d.ts +1 -0
  2. package/dist/analyzer/analysis.js +2 -0
  3. package/dist/analyzer/analysis.js.map +1 -1
  4. package/dist/analyzer/backgroundAnalysisProgram.js +6 -2
  5. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  6. package/dist/analyzer/cacheManager.d.ts +2 -2
  7. package/dist/analyzer/cacheManager.js.map +1 -1
  8. package/dist/analyzer/checker.js +31 -156
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/codeFlowEngine.js +21 -3
  11. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  12. package/dist/analyzer/constraintSolver.d.ts +1 -2
  13. package/dist/analyzer/constraintSolver.js +5 -20
  14. package/dist/analyzer/constraintSolver.js.map +1 -1
  15. package/dist/analyzer/constraintTracker.d.ts +0 -4
  16. package/dist/analyzer/constraintTracker.js +0 -21
  17. package/dist/analyzer/constraintTracker.js.map +1 -1
  18. package/dist/analyzer/constructors.js +0 -1
  19. package/dist/analyzer/constructors.js.map +1 -1
  20. package/dist/analyzer/patternMatching.js +3 -1
  21. package/dist/analyzer/patternMatching.js.map +1 -1
  22. package/dist/analyzer/program.js +2 -3
  23. package/dist/analyzer/program.js.map +1 -1
  24. package/dist/analyzer/properties.js.map +1 -1
  25. package/dist/analyzer/protocols.d.ts +1 -2
  26. package/dist/analyzer/protocols.js +2 -2
  27. package/dist/analyzer/protocols.js.map +1 -1
  28. package/dist/analyzer/pythonPathUtils.d.ts +1 -1
  29. package/dist/analyzer/service.d.ts +2 -1
  30. package/dist/analyzer/service.js +56 -42
  31. package/dist/analyzer/service.js.map +1 -1
  32. package/dist/analyzer/sourceMapper.js +8 -4
  33. package/dist/analyzer/sourceMapper.js.map +1 -1
  34. package/dist/analyzer/tuples.d.ts +1 -2
  35. package/dist/analyzer/tuples.js.map +1 -1
  36. package/dist/analyzer/typeEvaluator.js +168 -108
  37. package/dist/analyzer/typeEvaluator.js.map +1 -1
  38. package/dist/analyzer/typeEvaluatorTypes.d.ts +27 -2
  39. package/dist/analyzer/typeEvaluatorTypes.js +62 -1
  40. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  41. package/dist/analyzer/typeGuards.d.ts +3 -12
  42. package/dist/analyzer/typeGuards.js +282 -456
  43. package/dist/analyzer/typeGuards.js.map +1 -1
  44. package/dist/analyzer/typePrinter.d.ts +1 -2
  45. package/dist/analyzer/typePrinter.js +4 -24
  46. package/dist/analyzer/typePrinter.js.map +1 -1
  47. package/dist/analyzer/typeStubWriter.js +12 -1
  48. package/dist/analyzer/typeStubWriter.js.map +1 -1
  49. package/dist/analyzer/typeUtils.d.ts +0 -17
  50. package/dist/analyzer/typeUtils.js +7 -59
  51. package/dist/analyzer/typeUtils.js.map +1 -1
  52. package/dist/analyzer/typedDicts.d.ts +1 -2
  53. package/dist/analyzer/typedDicts.js.map +1 -1
  54. package/dist/analyzer/types.d.ts +1 -0
  55. package/dist/analyzer/types.js +12 -0
  56. package/dist/analyzer/types.js.map +1 -1
  57. package/dist/backgroundAnalysisBase.d.ts +23 -16
  58. package/dist/backgroundAnalysisBase.js +65 -35
  59. package/dist/backgroundAnalysisBase.js.map +1 -1
  60. package/dist/backgroundThreadBase.js +9 -0
  61. package/dist/backgroundThreadBase.js.map +1 -1
  62. package/dist/common/commandLineOptions.d.ts +1 -0
  63. package/dist/common/commandLineOptions.js.map +1 -1
  64. package/dist/common/languageServerInterface.d.ts +1 -1
  65. package/dist/common/uri/uriUtils.d.ts +1 -1
  66. package/dist/common/uri/uriUtils.js +6 -1
  67. package/dist/common/uri/uriUtils.js.map +1 -1
  68. package/dist/languageServerBase.d.ts +2 -2
  69. package/dist/languageServerBase.js +1 -3
  70. package/dist/languageServerBase.js.map +1 -1
  71. package/dist/languageService/analyzerServiceExecutor.d.ts +6 -1
  72. package/dist/languageService/analyzerServiceExecutor.js +8 -7
  73. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  74. package/dist/languageService/fileWatcherDynamicFeature.d.ts +5 -1
  75. package/dist/languageService/fileWatcherDynamicFeature.js +12 -2
  76. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  77. package/dist/languageService/hoverProvider.d.ts +1 -1
  78. package/dist/languageService/hoverProvider.js +9 -10
  79. package/dist/languageService/hoverProvider.js.map +1 -1
  80. package/dist/localization/localize.d.ts +8 -0
  81. package/dist/localization/localize.js +2 -0
  82. package/dist/localization/localize.js.map +1 -1
  83. package/dist/localization/package.nls.cs.json +157 -153
  84. package/dist/localization/package.nls.de.json +130 -126
  85. package/dist/localization/package.nls.en-us.json +1632 -406
  86. package/dist/localization/package.nls.es.json +153 -149
  87. package/dist/localization/package.nls.fr.json +131 -127
  88. package/dist/localization/package.nls.it.json +145 -141
  89. package/dist/localization/package.nls.ja.json +144 -140
  90. package/dist/localization/package.nls.ko.json +157 -153
  91. package/dist/localization/package.nls.pl.json +180 -176
  92. package/dist/localization/package.nls.pt-br.json +141 -137
  93. package/dist/localization/package.nls.qps-ploc.json +394 -390
  94. package/dist/localization/package.nls.ru.json +172 -168
  95. package/dist/localization/package.nls.tr.json +155 -151
  96. package/dist/localization/package.nls.zh-cn.json +151 -147
  97. package/dist/localization/package.nls.zh-tw.json +135 -131
  98. package/dist/parser/unicode.js +136 -8
  99. package/dist/parser/unicode.js.map +1 -1
  100. package/dist/tests/checker.test.js +9 -0
  101. package/dist/tests/checker.test.js.map +1 -1
  102. package/dist/tests/config.test.js +40 -3
  103. package/dist/tests/config.test.js.map +1 -1
  104. package/dist/tests/envVarUtils.test.js +0 -3
  105. package/dist/tests/envVarUtils.test.js.map +1 -1
  106. package/dist/tests/harness/fourslash/testLanguageService.js +0 -3
  107. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  108. package/dist/tests/harness/fourslash/testState.js +2 -5
  109. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  110. package/dist/tests/harness/fourslash/testStateUtils.d.ts +1 -0
  111. package/dist/tests/harness/fourslash/testStateUtils.js +5 -0
  112. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  113. package/dist/tests/harness/vfs/filesystem.d.ts +3 -2
  114. package/dist/tests/harness/vfs/filesystem.js +6 -3
  115. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  116. package/dist/tests/service.test.js +31 -0
  117. package/dist/tests/service.test.js.map +1 -1
  118. package/dist/tests/typeEvaluator1.test.js +4 -0
  119. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  120. package/dist/tests/typeEvaluator2.test.js +4 -0
  121. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  122. package/dist/tests/typeEvaluator3.test.js +8 -0
  123. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  124. package/dist/tests/typeEvaluator6.test.js +5 -1
  125. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  126. package/dist/tests/typeEvaluator7.test.js +5 -1
  127. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  128. package/dist/tests/typeEvaluator8.test.js +2 -2
  129. package/dist/workspaceFactory.d.ts +2 -20
  130. package/dist/workspaceFactory.js +20 -58
  131. package/dist/workspaceFactory.js.map +1 -1
  132. 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 { AssignTypeFlags, ClassMember, InferenceContext, MemberAccessFlags } from './typeUtils';
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: Type[];
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":";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;AAmDD,IAAkB,eA0EjB;AA1ED,WAAkB,eAAe;IAC7B,2DAAW,CAAA;IAEX,8DAA8D;IAC9D,0BAA0B;IAC1B,+DAAkB,CAAA;IAElB,2DAA2D;IAC3D,yDAAyD;IACzD,iDAAiD;IACjD,uEAAsB,CAAA;IAEtB,sEAAsE;IACtE,sEAAsE;IACtE,6DAA6D;IAC7D,yFAA+B,CAAA;IAE/B,kEAAkE;IAClE,sEAAsE;IACtE,0BAA0B;IAC1B,yFAA+B,CAAA;IAE/B,sDAAsD;IACtD,4DAA4D;IAC5D,4DAA4D;IAC5D,uCAAuC;IACvC,4EAAwB,CAAA;IAExB,2DAA2D;IAC3D,2DAA2D;IAC3D,8BAA8B;IAC9B,0FAA+B,CAAA;IAE/B,kDAAkD;IAClD,oFAA4B,CAAA;IAE5B,2DAA2D;IAC3D,uDAAuD;IACvD,+FAAiC,CAAA;IAEjC,6DAA6D;IAC7D,mEAAmE;IACnE,mEAAmE;IACnE,UAAU;IACV,uFAA6B,CAAA;IAE7B,oEAAoE;IACpE,kEAAkE;IAClE,mEAAmE;IACnE,iEAAiE;IACjE,wFAA8B,CAAA;IAE9B,uEAAuE;IACvE,gDAAgD;IAChD,8GAAyC,CAAA;IAEzC,sEAAsE;IACtE,kEAAkE;IAClE,gEAAgE;IAChE,aAAa;IACb,gGAAkC,CAAA;IAElC,mEAAmE;IACnE,gEAAgE;IAChE,sBAAsB;IACtB,uGAAqC,CAAA;IAErC,0EAA0E;IAC1E,kEAAkE;IAClE,2FAA+B,CAAA;IAE/B,yEAAyE;IACzE,kCAAkC;IAClC,iGAAkC,CAAA;AACtC,CAAC,EA1EiB,eAAe,+BAAf,eAAe,QA0EhC"}
@@ -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 isIsinstanceFilterSuperclass(evaluator: TypeEvaluator, varType: Type, concreteVarType: ClassType, filterType: Type, concreteFilterType: ClassType, isInstanceCheck: boolean): boolean;
11
- export declare function isIsinstanceFilterSubclass(evaluator: TypeEvaluator, varType: ClassType, concreteFilterType: ClassType, isInstanceCheck: boolean): boolean;
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;