@zzzen/pyright-internal 1.2.0-dev.20240721 → 1.2.0-dev.20240728
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/analyzerNodeInfo.js +2 -2
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/binder.js +8 -8
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.js +3 -0
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +3 -2
- package/dist/analyzer/checker.js +115 -122
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +2 -2
- package/dist/analyzer/codeFlowEngine.js +49 -42
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.js +1 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.d.ts +2 -2
- package/dist/analyzer/constraintSolver.js +164 -204
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.d.ts +2 -2
- package/dist/analyzer/constructorTransform.js +15 -15
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +2 -2
- package/dist/analyzer/constructors.js +28 -33
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.d.ts +2 -2
- package/dist/analyzer/dataClasses.js +59 -36
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +9 -9
- package/dist/analyzer/declaration.js +9 -9
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +1 -1
- package/dist/analyzer/declarationUtils.js +6 -6
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +4 -4
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/docStringConversion.js +2 -2
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/enums.d.ts +2 -2
- package/dist/analyzer/enums.js +6 -6
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.d.ts +2 -2
- package/dist/analyzer/functionTransform.js +4 -4
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.js +5 -3
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/namedTuples.d.ts +3 -3
- package/dist/analyzer/namedTuples.js +21 -22
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +10 -10
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +8 -8
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +10 -10
- package/dist/analyzer/parameterUtils.js +58 -58
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +6 -6
- package/dist/analyzer/parseTreeUtils.js +22 -22
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +108 -89
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +11 -4
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +19 -19
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +14 -15
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +1 -1
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +3 -7
- package/dist/analyzer/service.js +28 -30
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/serviceUtils.d.ts +8 -0
- package/dist/analyzer/serviceUtils.js +31 -0
- package/dist/analyzer/serviceUtils.js.map +1 -0
- package/dist/analyzer/sourceFile.js +5 -19
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +1 -1
- package/dist/analyzer/sourceMapper.js +4 -4
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +1 -1
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +4 -4
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/tuples.d.ts +9 -0
- package/dist/analyzer/tuples.js +252 -0
- package/dist/analyzer/tuples.js.map +1 -0
- package/dist/analyzer/typeComplexity.d.ts +2 -0
- package/dist/analyzer/typeComplexity.js +86 -0
- package/dist/analyzer/typeComplexity.js.map +1 -0
- package/dist/analyzer/typeEvaluator.js +1062 -1311
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +44 -40
- package/dist/analyzer/typeEvaluatorTypes.js +7 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +114 -85
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +1 -1
- package/dist/analyzer/typePrinter.js +54 -53
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +3 -3
- package/dist/analyzer/typeStubWriter.js +15 -15
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +20 -18
- package/dist/analyzer/typeUtils.js +316 -321
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +24 -36
- package/dist/analyzer/typeVarContext.js +89 -193
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typeWalker.js +4 -4
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +2 -2
- package/dist/analyzer/typedDicts.js +48 -52
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +79 -57
- package/dist/analyzer/types.js +125 -113
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +11 -11
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +5 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +1 -0
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/fileSystem.d.ts +0 -1
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +13 -0
- package/dist/common/languageServerInterface.js +15 -1
- package/dist/common/languageServerInterface.js.map +1 -1
- package/dist/common/lspUtils.js +2 -2
- package/dist/common/memUtils.d.ts +4 -0
- package/dist/common/memUtils.js +33 -2
- package/dist/common/memUtils.js.map +1 -1
- package/dist/common/serviceKeys.d.ts +3 -0
- package/dist/common/serviceKeys.js +2 -0
- package/dist/common/serviceKeys.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js +7 -0
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/languageServerBase.d.ts +4 -3
- package/dist/languageServerBase.js +14 -10
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +3 -2
- package/dist/languageService/autoImporter.js +5 -1
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +5 -3
- package/dist/languageService/completionProvider.js +38 -37
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +1 -1
- package/dist/languageService/completionProviderUtils.js +3 -3
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
- package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
- package/dist/languageService/hoverProvider.js +3 -3
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.js +2 -2
- package/dist/languageService/signatureHelpProvider.js +1 -1
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +3 -3
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +5 -0
- package/dist/localization/localize.js +6 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +5 -1
- package/dist/localization/package.nls.de.json +5 -1
- package/dist/localization/package.nls.en-us.json +5 -0
- package/dist/localization/package.nls.es.json +5 -1
- package/dist/localization/package.nls.fr.json +5 -1
- package/dist/localization/package.nls.it.json +5 -1
- package/dist/localization/package.nls.ja.json +5 -1
- package/dist/localization/package.nls.ko.json +5 -1
- package/dist/localization/package.nls.pl.json +5 -1
- package/dist/localization/package.nls.pt-br.json +5 -1
- package/dist/localization/package.nls.qps-ploc.json +5 -1
- package/dist/localization/package.nls.ru.json +5 -1
- package/dist/localization/package.nls.tr.json +5 -1
- package/dist/localization/package.nls.zh-cn.json +5 -1
- package/dist/localization/package.nls.zh-tw.json +5 -1
- package/dist/parser/parseNodes.d.ts +9 -9
- package/dist/parser/parseNodes.js +20 -20
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +30 -30
- package/dist/parser/parser.js.map +1 -1
- package/dist/tests/checker.test.js +2 -2
- package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js +4 -21
- package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -1
- package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +2 -2
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +0 -1
- package/dist/tests/harness/vfs/filesystem.js +0 -4
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +62 -15
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +1 -1
- package/dist/tests/typeEvaluator4.test.js +9 -1
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +8 -2
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +72 -60
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +2 -2
- package/dist/tests/typePrinter.test.js +13 -18
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +3 -2
- package/dist/workspaceFactory.js +15 -2
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
@@ -3,7 +3,7 @@ import { ConsoleInterface } from '../common/console';
|
|
3
3
|
import { Diagnostic, DiagnosticAddendum } from '../common/diagnostic';
|
4
4
|
import { DiagnosticRule } from '../common/diagnosticRules';
|
5
5
|
import { TextRange } from '../common/textRange';
|
6
|
-
import {
|
6
|
+
import { ArgCategory, ArgumentNode, CallNode, CaseNode, ClassNode, DecoratorNode, ExpressionNode, FunctionNode, MatchNode, NameNode, ParamCategory, ParameterNode, ParseNode, RaiseNode, StringNode } from '../parser/parseNodes';
|
7
7
|
import { AnalyzerFileInfo } from './analyzerFileInfo';
|
8
8
|
import { CodeFlowReferenceExpressionNode, FlowNode } from './codeFlowTypes';
|
9
9
|
import { Declaration } from './declaration';
|
@@ -75,7 +75,7 @@ export interface TypeResultWithNode extends TypeResult {
|
|
75
75
|
export interface MemberAccessDeprecationInfo {
|
76
76
|
accessType: 'property' | 'descriptor';
|
77
77
|
accessMethod: 'get' | 'set' | 'del';
|
78
|
-
|
78
|
+
deprecatedMessage: string;
|
79
79
|
}
|
80
80
|
export interface EvaluatorUsage {
|
81
81
|
method: 'get' | 'set' | 'del';
|
@@ -105,21 +105,21 @@ export interface AbstractSymbol {
|
|
105
105
|
classType: Type;
|
106
106
|
hasImplementation: boolean;
|
107
107
|
}
|
108
|
-
export interface
|
109
|
-
|
108
|
+
export interface ArgBase {
|
109
|
+
argCategory: ArgCategory;
|
110
110
|
node?: ArgumentNode | undefined;
|
111
111
|
name?: NameNode | undefined;
|
112
112
|
typeResult?: TypeResult | undefined;
|
113
113
|
valueExpression?: ExpressionNode | undefined;
|
114
114
|
active?: boolean | undefined;
|
115
115
|
}
|
116
|
-
export interface
|
116
|
+
export interface ArgWithType extends ArgBase {
|
117
117
|
typeResult: TypeResult;
|
118
118
|
}
|
119
|
-
export interface
|
119
|
+
export interface ArgWithExpression extends ArgBase {
|
120
120
|
valueExpression: ExpressionNode;
|
121
121
|
}
|
122
|
-
export type
|
122
|
+
export type Arg = ArgWithType | ArgWithExpression;
|
123
123
|
export interface EffectiveTypeResult {
|
124
124
|
type: Type;
|
125
125
|
isIncomplete: boolean;
|
@@ -130,10 +130,10 @@ export interface EffectiveTypeResult {
|
|
130
130
|
evaluationAttempts?: number;
|
131
131
|
}
|
132
132
|
export interface ValidateArgTypeParams {
|
133
|
-
paramCategory:
|
133
|
+
paramCategory: ParamCategory;
|
134
134
|
paramType: Type;
|
135
135
|
requiresTypeVarMatching: boolean;
|
136
|
-
argument:
|
136
|
+
argument: Arg;
|
137
137
|
isDefaultArg?: boolean;
|
138
138
|
argType?: Type | undefined;
|
139
139
|
errorNode: ExpressionNode;
|
@@ -142,28 +142,23 @@ export interface ValidateArgTypeParams {
|
|
142
142
|
mapsToVarArgList?: boolean | undefined;
|
143
143
|
isinstanceParam?: boolean;
|
144
144
|
}
|
145
|
-
export interface AnnotationTypeOptions {
|
146
|
-
isVariableAnnotation?: boolean;
|
147
|
-
allowFinal?: boolean;
|
148
|
-
allowClassVar?: boolean;
|
149
|
-
associateTypeVarsWithScope?: boolean;
|
150
|
-
allowTypeVarTuple?: boolean;
|
151
|
-
allowParamSpec?: boolean;
|
152
|
-
allowRequired?: boolean;
|
153
|
-
allowUnpackedTypedDict?: boolean;
|
154
|
-
allowUnpackedTuple?: boolean;
|
155
|
-
notParsedByInterpreter?: boolean;
|
156
|
-
enforceClassTypeVarScope?: boolean;
|
157
|
-
}
|
158
145
|
export interface ExpectedTypeOptions {
|
159
146
|
allowFinal?: boolean;
|
160
147
|
allowRequired?: boolean;
|
161
148
|
allowUnpackedTuple?: boolean;
|
149
|
+
allowUnpackedTypedDict?: boolean;
|
162
150
|
allowParamSpec?: boolean;
|
163
|
-
|
151
|
+
allowClassVar?: boolean;
|
152
|
+
varTypeAnnotation?: boolean;
|
153
|
+
typeVarGetsCurScope?: boolean;
|
164
154
|
allowTypeVarsWithoutScopeId?: boolean;
|
165
|
-
|
166
|
-
|
155
|
+
enforceClassTypeVarScope?: boolean;
|
156
|
+
parsesStringLiteral?: boolean;
|
157
|
+
notParsed?: boolean;
|
158
|
+
noNonTypeSpecialForms?: boolean;
|
159
|
+
forwardRefs?: boolean;
|
160
|
+
typeExpression?: boolean;
|
161
|
+
convertEllipsisToAny?: boolean;
|
167
162
|
}
|
168
163
|
export interface ExpectedTypeResult {
|
169
164
|
type: Type;
|
@@ -186,7 +181,7 @@ export interface CallResult {
|
|
186
181
|
returnType?: Type | undefined;
|
187
182
|
isTypeIncomplete?: boolean | undefined;
|
188
183
|
argumentErrors?: boolean;
|
189
|
-
|
184
|
+
anyOrUnknownArg?: UnknownType | AnyType;
|
190
185
|
activeParam?: FunctionParam | undefined;
|
191
186
|
specializedInitSelfType?: Type | undefined;
|
192
187
|
overloadsUsedForCall?: FunctionType[];
|
@@ -204,6 +199,11 @@ export interface ClassMemberLookup {
|
|
204
199
|
narrowedTypeForSet?: Type;
|
205
200
|
memberAccessDeprecationInfo?: MemberAccessDeprecationInfo;
|
206
201
|
}
|
202
|
+
export declare enum Reachability {
|
203
|
+
Reachable = 0,
|
204
|
+
UnreachableAlways = 1,
|
205
|
+
UnreachableByAnalysis = 2
|
206
|
+
}
|
207
207
|
export interface PrintTypeOptions {
|
208
208
|
expandTypeAlias?: boolean;
|
209
209
|
enforcePythonSyntax?: boolean;
|
@@ -211,7 +211,7 @@ export interface PrintTypeOptions {
|
|
211
211
|
useTypingUnpack?: boolean;
|
212
212
|
printUnknownWithAny?: boolean;
|
213
213
|
printTypeVarVariance?: boolean;
|
214
|
-
|
214
|
+
omitTypeArgsIfUnknown?: boolean;
|
215
215
|
}
|
216
216
|
export interface DeclaredSymbolTypeInfo {
|
217
217
|
type: Type | undefined;
|
@@ -223,7 +223,7 @@ export interface ResolveAliasOptions {
|
|
223
223
|
}
|
224
224
|
export interface ValidateTypeArgsOptions {
|
225
225
|
allowEmptyTuple?: boolean;
|
226
|
-
|
226
|
+
allowTypeVarTuple?: boolean;
|
227
227
|
allowParamSpec?: boolean;
|
228
228
|
allowTypeArgList?: boolean;
|
229
229
|
allowUnpackedTuples?: boolean;
|
@@ -244,27 +244,31 @@ export interface TypeEvaluator {
|
|
244
244
|
getTypeResultForDecorator: (node: DecoratorNode) => TypeResult | undefined;
|
245
245
|
getCachedType: (node: ExpressionNode) => Type | undefined;
|
246
246
|
getTypeOfExpression: (node: ExpressionNode, flags?: EvalFlags, context?: InferenceContext) => TypeResult;
|
247
|
-
getTypeOfAnnotation: (node: ExpressionNode, options?:
|
247
|
+
getTypeOfAnnotation: (node: ExpressionNode, options?: ExpectedTypeOptions) => Type;
|
248
248
|
getTypeOfClass: (node: ClassNode) => ClassTypeResult | undefined;
|
249
|
+
createSubclass: (errorNode: ExpressionNode, type1: ClassType, type2: ClassType) => ClassType;
|
249
250
|
getTypeOfFunction: (node: FunctionNode) => FunctionTypeResult | undefined;
|
250
251
|
getTypeOfExpressionExpectingType: (node: ExpressionNode, options?: ExpectedTypeOptions) => TypeResult;
|
251
252
|
evaluateTypeForSubnode: (subnode: ParseNode, callback: () => void) => TypeResult | undefined;
|
252
253
|
evaluateTypesForStatement: (node: ParseNode) => void;
|
253
254
|
evaluateTypesForMatchStatement: (node: MatchNode) => void;
|
254
255
|
evaluateTypesForCaseStatement: (node: CaseNode) => void;
|
255
|
-
|
256
|
+
evaluateTypeOfParam: (node: ParameterNode) => void;
|
256
257
|
canBeTruthy: (type: Type) => boolean;
|
257
258
|
canBeFalsy: (type: Type) => boolean;
|
258
259
|
stripLiteralValue: (type: Type) => Type;
|
259
260
|
removeTruthinessFromType: (type: Type) => Type;
|
260
261
|
removeFalsinessFromType: (type: Type) => Type;
|
262
|
+
stripTypeGuard: (type: Type) => Type;
|
261
263
|
getExpectedType: (node: ExpressionNode) => ExpectedTypeResult | undefined;
|
262
264
|
verifyRaiseExceptionType: (node: RaiseNode) => void;
|
263
265
|
verifyDeleteExpression: (node: ExpressionNode) => void;
|
264
|
-
validateOverloadedArgTypes: (errorNode: ExpressionNode, argList:
|
266
|
+
validateOverloadedArgTypes: (errorNode: ExpressionNode, argList: Arg[], typeResult: TypeResult<OverloadedFunctionType>, typeVarContext: TypeVarContext | undefined, skipUnknownArgCheck: boolean, inferenceContext: InferenceContext | undefined) => CallResult;
|
265
267
|
validateInitSubclassArgs: (node: ClassNode, classType: ClassType) => void;
|
266
|
-
isAfterNodeReachable: (node: ParseNode) => boolean;
|
267
268
|
isNodeReachable: (node: ParseNode, sourceNode?: ParseNode | undefined) => boolean;
|
269
|
+
isAfterNodeReachable: (node: ParseNode) => boolean;
|
270
|
+
getNodeReachability: (node: ParseNode, sourceNode?: ParseNode | undefined) => Reachability;
|
271
|
+
getAfterNodeReachability: (node: ParseNode) => Reachability;
|
268
272
|
isAsymmetricAccessorAssignment: (node: ParseNode) => boolean;
|
269
273
|
suppressDiagnostics: (node: ParseNode, callback: () => void) => void;
|
270
274
|
isSpecialFormClass: (classType: ClassType, flags: AssignTypeFlags) => boolean;
|
@@ -276,7 +280,7 @@ export interface TypeEvaluator {
|
|
276
280
|
getTypeOfIterable: (typeResult: TypeResult, isAsync: boolean, errorNode: ExpressionNode, emitNotIterableError?: boolean) => TypeResult | undefined;
|
277
281
|
getTypeOfIterator: (typeResult: TypeResult, isAsync: boolean, errorNode: ExpressionNode, emitNotIterableError?: boolean) => TypeResult | undefined;
|
278
282
|
getGetterTypeFromProperty: (propertyClass: ClassType, inferTypeIfNeeded: boolean) => Type | undefined;
|
279
|
-
|
283
|
+
getTypeOfArg: (arg: Arg, inferenceContext: InferenceContext | undefined) => TypeResult;
|
280
284
|
markNamesAccessed: (node: ParseNode, names: string[]) => void;
|
281
285
|
expandPromotionTypes: (node: ParseNode, type: Type) => Type;
|
282
286
|
makeTopLevelTypeVarsConcrete: (type: Type, makeParamSpecsConcrete?: boolean) => Type;
|
@@ -290,7 +294,7 @@ export interface TypeEvaluator {
|
|
290
294
|
getDeclaredTypeForExpression: (expression: ExpressionNode, usage?: EvaluatorUsage) => Type | undefined;
|
291
295
|
getFunctionDeclaredReturnType: (node: FunctionNode) => Type | undefined;
|
292
296
|
getFunctionInferredReturnType: (type: FunctionType, callSiteInfo?: CallSiteEvaluationInfo) => Type;
|
293
|
-
|
297
|
+
getBestOverloadForArgs: (errorNode: ExpressionNode, typeResult: TypeResult<OverloadedFunctionType>, argList: Arg[]) => FunctionType | undefined;
|
294
298
|
getBuiltInType: (node: ParseNode, name: string) => Type;
|
295
299
|
getTypeOfMember: (member: ClassMember) => Type;
|
296
300
|
getTypeOfBoundMember(errorNode: ExpressionNode, objectType: ClassType, memberName: string, usage?: EvaluatorUsage, diag?: DiagnosticAddendum | undefined, flags?: MemberAccessFlags, selfType?: ClassType | TypeVarType): TypeResult | undefined;
|
@@ -302,11 +306,11 @@ export interface TypeEvaluator {
|
|
302
306
|
narrowConstrainedTypeVar: (node: ParseNode, typeVar: TypeVarType) => Type | undefined;
|
303
307
|
assignType: (destType: Type, srcType: Type, diag?: DiagnosticAddendum, destTypeVarContext?: TypeVarContext, srcTypeVarContext?: TypeVarContext, flags?: AssignTypeFlags, recursionCount?: number) => boolean;
|
304
308
|
validateOverrideMethod: (baseMethod: Type, overrideMethod: FunctionType | OverloadedFunctionType, baseClass: ClassType | undefined, diag: DiagnosticAddendum, enforceParamNames?: boolean) => boolean;
|
305
|
-
|
309
|
+
validateCallArgs: (errorNode: ExpressionNode, argList: Arg[], callTypeResult: TypeResult, typeVarContext: TypeVarContext | undefined, skipUnknownArgCheck: boolean | undefined, inferenceContext: InferenceContext | undefined) => CallResult;
|
306
310
|
validateTypeArg: (argResult: TypeResultWithNode, options?: ValidateTypeArgsOptions) => boolean;
|
307
311
|
assignTypeToExpression: (target: ExpressionNode, typeResult: TypeResult, srcExpr: ExpressionNode) => void;
|
308
312
|
assignClassToSelf: (destType: ClassType, srcType: ClassType, assumedVariance: Variance) => boolean;
|
309
|
-
getBuiltInObject: (node: ParseNode, name: string,
|
313
|
+
getBuiltInObject: (node: ParseNode, name: string, typeArgs?: Type[]) => Type;
|
310
314
|
getTypedDictClassType: () => ClassType | undefined;
|
311
315
|
getTupleClassType: () => ClassType | undefined;
|
312
316
|
getObjectType: () => Type;
|
@@ -315,15 +319,15 @@ export interface TypeEvaluator {
|
|
315
319
|
getTypeClassType(): ClassType | undefined;
|
316
320
|
getTypingType: (node: ParseNode, symbolName: string) => Type | undefined;
|
317
321
|
inferReturnTypeIfNecessary: (type: Type) => void;
|
318
|
-
|
319
|
-
|
320
|
-
|
322
|
+
inferVarianceForClass: (type: ClassType) => void;
|
323
|
+
assignTypeArgs: (destType: ClassType, srcType: ClassType, diag: DiagnosticAddendum | undefined, destTypeVarContext: TypeVarContext | undefined, srcTypeVarContext: TypeVarContext | undefined, flags: AssignTypeFlags, recursionCount: number) => boolean;
|
324
|
+
reportMissingTypeArgs: (node: ExpressionNode, type: Type, flags: EvalFlags) => Type;
|
321
325
|
isFinalVariable: (symbol: Symbol) => boolean;
|
322
326
|
isFinalVariableDeclaration: (decl: Declaration) => boolean;
|
323
327
|
isExplicitTypeAliasDeclaration: (decl: Declaration) => boolean;
|
324
328
|
addInformation: (message: string, node: ParseNode, range?: TextRange) => Diagnostic | undefined;
|
325
329
|
addUnusedCode: (node: ParseNode, textRange: TextRange) => void;
|
326
|
-
addUnreachableCode: (node: ParseNode, textRange: TextRange) => void;
|
330
|
+
addUnreachableCode: (node: ParseNode, reachability: Reachability, textRange: TextRange) => void;
|
327
331
|
addDeprecated: (message: string, node: ParseNode) => void;
|
328
332
|
addDiagnostic: (rule: DiagnosticRule, message: string, node: ParseNode, range?: TextRange) => Diagnostic | undefined;
|
329
333
|
addDiagnosticForTextRange: (fileInfo: AnalyzerFileInfo, rule: DiagnosticRule, message: string, range: TextRange) => Diagnostic | undefined;
|
@@ -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.EvalFlags = exports.maxSubtypesForInferredType = void 0;
|
11
|
+
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;
|
@@ -103,4 +103,10 @@ var EvalFlags;
|
|
103
103
|
// or 'issubclass' call.
|
104
104
|
EvalFlags[EvalFlags["IsInstanceArgDefaults"] = 536871546] = "IsInstanceArgDefaults";
|
105
105
|
})(EvalFlags || (exports.EvalFlags = EvalFlags = {}));
|
106
|
+
var Reachability;
|
107
|
+
(function (Reachability) {
|
108
|
+
Reachability[Reachability["Reachable"] = 0] = "Reachable";
|
109
|
+
Reachability[Reachability["UnreachableAlways"] = 1] = "UnreachableAlways";
|
110
|
+
Reachability[Reachability["UnreachableByAnalysis"] = 2] = "UnreachableByAnalysis";
|
111
|
+
})(Reachability || (exports.Reachability = Reachability = {}));
|
106
112
|
//# 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,SAgIjB;AAhID,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,mDAAmD;IACnD,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,8CAA8C;IAC9C,0FAAkC,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,EAhIiB,SAAS,yBAAT,SAAS,QAgI1B"}
|
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,SAgIjB;AAhID,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,mDAAmD;IACnD,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,8CAA8C;IAC9C,0FAAkC,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,EAhIiB,SAAS,yBAAT,SAAS,QAgI1B;AA8PD,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,yDAAS,CAAA;IACT,yEAAiB,CAAA;IACjB,iFAAqB,CAAA;AACzB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
|