@zzzen/pyright-internal 1.2.0-dev.20240317 → 1.2.0-dev.20240331
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/analyzerFileInfo.js +1 -1
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/binder.js +4 -1
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.d.ts +1 -0
- package/dist/analyzer/cacheManager.js +4 -1
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -2
- package/dist/analyzer/checker.js +16 -11
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +3 -2
- package/dist/analyzer/constructors.js +76 -54
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +2 -0
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.js +1 -1
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/deprecatedSymbols.js +40 -40
- package/dist/analyzer/deprecatedSymbols.js.map +1 -1
- package/dist/analyzer/enums.js +1 -0
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.js +25 -23
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/namedTuples.js +2 -0
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +1 -1
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +1 -1
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/patternMatching.js +14 -3
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +1 -7
- package/dist/analyzer/program.js +15 -19
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/programTypes.d.ts +11 -0
- package/dist/analyzer/programTypes.js +11 -0
- package/dist/analyzer/programTypes.js.map +1 -0
- package/dist/analyzer/properties.js +2 -8
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +1 -2
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +2 -2
- package/dist/analyzer/service.js +20 -14
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.js +4 -4
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +3 -3
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +52 -30
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +2 -2
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +81 -56
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +14 -7
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +2 -2
- package/dist/analyzer/typeUtils.js +41 -5
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +3 -0
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/backgroundAnalysis.js +1 -1
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.js +1 -1
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.js +23 -11
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/commandController.d.ts +2 -1
- package/dist/commands/commandController.js +3 -0
- package/dist/commands/commandController.js.map +1 -1
- package/dist/commands/createTypeStub.d.ts +1 -1
- package/dist/commands/createTypeStub.js +3 -3
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.d.ts +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.d.ts +1 -1
- package/dist/commands/quickActionCommand.js +2 -2
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/commands/restartServer.d.ts +1 -1
- package/dist/common/cancellationUtils.js +2 -2
- package/dist/common/cancellationUtils.js.map +1 -1
- package/dist/common/caseSensitivityDetector.d.ts +6 -0
- package/dist/common/caseSensitivityDetector.js +18 -0
- package/dist/common/caseSensitivityDetector.js.map +1 -0
- package/dist/common/commandLineOptions.d.ts +3 -2
- package/dist/common/commandLineOptions.js.map +1 -1
- package/dist/common/commandUtils.js +1 -1
- package/dist/common/commandUtils.js.map +1 -1
- package/dist/common/configOptions.js +7 -7
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +1 -0
- package/dist/common/envVarUtils.js +42 -7
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +1 -1
- package/dist/common/fileBasedCancellationUtils.js +2 -2
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/common/fileSystem.d.ts +0 -1
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/fullAccessHost.js +11 -6
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +62 -0
- package/dist/common/languageServerInterface.js +10 -0
- package/dist/common/languageServerInterface.js.map +1 -0
- package/dist/common/pythonVersion.d.ts +36 -20
- package/dist/common/pythonVersion.js +160 -54
- package/dist/common/pythonVersion.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +8 -4
- package/dist/common/realFileSystem.js +56 -17
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceKeys.d.ts +21 -0
- package/dist/common/serviceKeys.js +26 -0
- package/dist/common/serviceKeys.js.map +1 -0
- package/dist/common/serviceProviderExtensions.d.ts +2 -16
- package/dist/common/serviceProviderExtensions.js +19 -27
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.js +2 -2
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/uri/constantUri.d.ts +36 -0
- package/dist/common/uri/constantUri.js +112 -0
- package/dist/common/uri/constantUri.js.map +1 -0
- package/dist/common/uri/emptyUri.d.ts +3 -31
- package/dist/common/uri/emptyUri.js +3 -84
- package/dist/common/uri/emptyUri.js.map +1 -1
- package/dist/common/uri/fileUri.d.ts +1 -0
- package/dist/common/uri/fileUri.js +3 -2
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/uri.d.ts +11 -3
- package/dist/common/uri/uri.js +31 -20
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +11 -5
- package/dist/common/uri/uriUtils.js +31 -53
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/workspaceEditUtils.js +4 -4
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +9 -57
- package/dist/languageServerBase.js +18 -8
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +1 -1
- package/dist/languageService/analyzerServiceExecutor.js +4 -5
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +6 -6
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.js +43 -42
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +4 -4
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.js +2 -2
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +2 -2
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +3 -2
- package/dist/languageService/documentSymbolProvider.js +3 -2
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.js +2 -2
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +2 -2
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +4 -1
- package/dist/languageService/symbolIndexer.js +21 -11
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +1 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.js +21 -16
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +1 -0
- package/dist/localization/package.nls.de.json +1 -0
- package/dist/localization/package.nls.es.json +1 -0
- package/dist/localization/package.nls.fr.json +1 -0
- package/dist/localization/package.nls.it.json +1 -0
- package/dist/localization/package.nls.ja.json +1 -0
- package/dist/localization/package.nls.ko.json +1 -0
- package/dist/localization/package.nls.pl.json +1 -0
- package/dist/localization/package.nls.pt-br.json +1 -0
- package/dist/localization/package.nls.qps-ploc.json +1 -0
- package/dist/localization/package.nls.ru.json +1 -0
- package/dist/localization/package.nls.tr.json +1 -0
- package/dist/localization/package.nls.zh-cn.json +1 -0
- package/dist/localization/package.nls.zh-tw.json +1 -0
- package/dist/parser/parser.js +24 -21
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/unicode.js +3456 -2853
- package/dist/parser/unicode.js.map +1 -1
- package/dist/pyright.js +7 -7
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +3 -1
- package/dist/pyrightFileSystem.js +14 -9
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +0 -1
- package/dist/readonlyAugmentedFileSystem.js +0 -3
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.d.ts +3 -1
- package/dist/server.js +14 -10
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +12 -12
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +11 -11
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/completions.test.js +4 -4
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +26 -21
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +2 -3
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/envVarUtils.test.js +77 -2
- package/dist/tests/envVarUtils.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +13 -13
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +12 -12
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +12 -10
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashTypes.d.ts +1 -0
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +3 -2
- package/dist/tests/harness/fourslash/testLanguageService.js +2 -2
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +3 -3
- package/dist/tests/harness/fourslash/testState.js +36 -32
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testHost.d.ts +7 -0
- package/dist/tests/harness/testHost.js +33 -14
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +3 -4
- package/dist/tests/harness/vfs/factory.js +7 -6
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +5 -3
- package/dist/tests/harness/vfs/filesystem.js +22 -15
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +35 -34
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +5 -6
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/languageServer.test.js +1 -1
- package/dist/tests/languageServer.test.js.map +1 -1
- package/dist/tests/logger.test.js +1 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/lsp/customLsp.d.ts +1 -1
- package/dist/tests/lsp/languageServer.js +7 -5
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js +21 -16
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +1 -2
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +6 -5
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/serialization.test.js +5 -5
- package/dist/tests/serialization.test.js.map +1 -1
- package/dist/tests/service.test.js +16 -25
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +8 -5
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +4 -4
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +5 -5
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.js +6 -6
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.js +6 -4
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +16 -12
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +2 -2
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +57 -57
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +21 -21
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +27 -27
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.js +220 -199
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +7 -7
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +7 -5
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +15 -6
- package/dist/workspaceFactory.js +16 -10
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +5 -5
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"staticExpressions.js","sourceRoot":"","sources":["../../../../../src/analyzer/staticExpressions.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,2DAA+E;
|
1
|
+
{"version":3,"file":"staticExpressions.js","sourceRoot":"","sources":["../../../../../src/analyzer/staticExpressions.ts"],"names":[],"mappings":"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"}
|
@@ -52,7 +52,7 @@ function createTracePrinter(roots) {
|
|
52
52
|
const separatorRegExp = /[\\/]/g;
|
53
53
|
function printFileOrModuleName(fileUriOrModule) {
|
54
54
|
if (fileUriOrModule) {
|
55
|
-
if (uri_1.Uri.
|
55
|
+
if (uri_1.Uri.is(fileUriOrModule)) {
|
56
56
|
for (const root of roots) {
|
57
57
|
if (fileUriOrModule.isChild(root)) {
|
58
58
|
const subFile = root.getRelativePath(fileUriOrModule);
|
@@ -193,7 +193,7 @@ function createTracePrinter(roots) {
|
|
193
193
|
}
|
194
194
|
function isDeclaration(o) {
|
195
195
|
const d = o;
|
196
|
-
return d && (0, core_1.isNumber)(d.type) && uri_1.Uri.
|
196
|
+
return d && (0, core_1.isNumber)(d.type) && uri_1.Uri.is(d.uri) && (0, core_1.isString)(d.moduleName);
|
197
197
|
}
|
198
198
|
function isType(o) {
|
199
199
|
const t = o;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tracePrinter.js","sourceRoot":"","sources":["../../../../../src/analyzer/tracePrinter.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yCAAoD;AACpD,2CAA8C;AAC9C,mDAAyD;AACzD,2DAAkE;AAClE,2CAAwC;AACxC,qDAAkF;AAElF,qEAAuD;AAEvD,iEAAmD;AACnD,qCAAkC;AAClC,mCAAuD;AASvD,SAAgB,kBAAkB,CAAC,KAAY;IAC3C,SAAS,IAAI,CAAC,KAAyB,EAAE,EAAE,GAAG,GAAG;QAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED,gEAAgE;IAChE,8BAA8B;IAC9B,mDAAmD;IACnD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAEnE,MAAM,eAAe,GAAG,QAAQ,CAAC;IACjC,SAAS,qBAAqB,CAAC,eAA2D;QACtF,IAAI,eAAe,EAAE;YACjB,IAAI,SAAG,CAAC,
|
1
|
+
{"version":3,"file":"tracePrinter.js","sourceRoot":"","sources":["../../../../../src/analyzer/tracePrinter.ts"],"names":[],"mappings":"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"}
|
@@ -86,21 +86,21 @@ const types_1 = require("./types");
|
|
86
86
|
// It lists the first version of Python where subscripting is
|
87
87
|
// allowed.
|
88
88
|
const nonSubscriptableBuiltinTypes = new Map([
|
89
|
-
['asyncio.futures.Future', pythonVersion_1.
|
90
|
-
['asyncio.tasks.Task', pythonVersion_1.
|
91
|
-
['builtins.dict', pythonVersion_1.
|
92
|
-
['builtins.frozenset', pythonVersion_1.
|
93
|
-
['builtins.list', pythonVersion_1.
|
94
|
-
['builtins._PathLike', pythonVersion_1.
|
95
|
-
['builtins.set', pythonVersion_1.
|
96
|
-
['builtins.tuple', pythonVersion_1.
|
97
|
-
['collections.ChainMap', pythonVersion_1.
|
98
|
-
['collections.Counter', pythonVersion_1.
|
99
|
-
['collections.defaultdict', pythonVersion_1.
|
100
|
-
['collections.DefaultDict', pythonVersion_1.
|
101
|
-
['collections.deque', pythonVersion_1.
|
102
|
-
['collections.OrderedDict', pythonVersion_1.
|
103
|
-
['queue.Queue', pythonVersion_1.
|
89
|
+
['asyncio.futures.Future', pythonVersion_1.pythonVersion3_9],
|
90
|
+
['asyncio.tasks.Task', pythonVersion_1.pythonVersion3_9],
|
91
|
+
['builtins.dict', pythonVersion_1.pythonVersion3_9],
|
92
|
+
['builtins.frozenset', pythonVersion_1.pythonVersion3_9],
|
93
|
+
['builtins.list', pythonVersion_1.pythonVersion3_9],
|
94
|
+
['builtins._PathLike', pythonVersion_1.pythonVersion3_9],
|
95
|
+
['builtins.set', pythonVersion_1.pythonVersion3_9],
|
96
|
+
['builtins.tuple', pythonVersion_1.pythonVersion3_9],
|
97
|
+
['collections.ChainMap', pythonVersion_1.pythonVersion3_9],
|
98
|
+
['collections.Counter', pythonVersion_1.pythonVersion3_9],
|
99
|
+
['collections.defaultdict', pythonVersion_1.pythonVersion3_9],
|
100
|
+
['collections.DefaultDict', pythonVersion_1.pythonVersion3_9],
|
101
|
+
['collections.deque', pythonVersion_1.pythonVersion3_9],
|
102
|
+
['collections.OrderedDict', pythonVersion_1.pythonVersion3_9],
|
103
|
+
['queue.Queue', pythonVersion_1.pythonVersion3_9],
|
104
104
|
]);
|
105
105
|
// Some types that do not inherit from others are still considered
|
106
106
|
// "compatible" based on the Python spec. These are sometimes referred
|
@@ -1421,13 +1421,17 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
1421
1421
|
subDiag = metaclassDiag;
|
1422
1422
|
}
|
1423
1423
|
}
|
1424
|
-
if (memberInfo
|
1424
|
+
if (memberInfo) {
|
1425
|
+
if (memberInfo.isDescriptorError && diag && subDiag) {
|
1426
|
+
diag.addAddendum(subDiag);
|
1427
|
+
}
|
1425
1428
|
return {
|
1426
1429
|
type: memberInfo.type,
|
1427
1430
|
classType: memberInfo.classType,
|
1428
1431
|
isIncomplete: !!memberInfo.isTypeIncomplete,
|
1429
1432
|
isAsymmetricAccessor: memberInfo.isAsymmetricAccessor,
|
1430
1433
|
memberAccessDeprecationInfo: memberInfo.memberAccessDeprecationInfo,
|
1434
|
+
typeErrors: memberInfo.isDescriptorError,
|
1431
1435
|
};
|
1432
1436
|
}
|
1433
1437
|
// If this is a type[Any] or type[Unknown], allow any other members.
|
@@ -1545,7 +1549,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
1545
1549
|
let constructorType;
|
1546
1550
|
// Try to get the `__init__` method first because it typically has more
|
1547
1551
|
// type information than `__new__`.
|
1548
|
-
const initMethodResult = (0, constructors_1.getBoundInitMethod)(evaluatorInterface, callNode, types_1.ClassType.cloneAsInstance(subtype),
|
1552
|
+
const initMethodResult = (0, constructors_1.getBoundInitMethod)(evaluatorInterface, callNode, types_1.ClassType.cloneAsInstance(subtype),
|
1553
|
+
/* diag */ undefined, 0 /* MemberAccessFlags.Default */);
|
1549
1554
|
if (initMethodResult && !initMethodResult.typeErrors) {
|
1550
1555
|
if ((0, types_1.isFunction)(initMethodResult.type) || (0, types_1.isOverloadedFunction)(initMethodResult.type)) {
|
1551
1556
|
constructorType = initMethodResult.type;
|
@@ -1561,7 +1566,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
1561
1566
|
// the `object` class or accepts only default parameters(* args, ** kwargs),
|
1562
1567
|
// see if we can find a better signature from the `__new__` method.
|
1563
1568
|
if (!constructorType || isObjectInit || isDefaultParams) {
|
1564
|
-
const newMethodResult = (0, constructors_1.getBoundNewMethod)(evaluatorInterface, callNode, subtype
|
1569
|
+
const newMethodResult = (0, constructors_1.getBoundNewMethod)(evaluatorInterface, callNode, subtype);
|
1565
1570
|
if (newMethodResult && !newMethodResult.typeErrors) {
|
1566
1571
|
if ((0, types_1.isFunction)(newMethodResult.type) &&
|
1567
1572
|
newMethodResult.type.details.fullName !== 'builtins.object.__new__') {
|
@@ -3611,18 +3616,18 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
3611
3616
|
typeResult = getTypeOfBoundMember(node.memberName, baseType, memberName, usage, diag,
|
3612
3617
|
/* memberAccessFlags */ undefined, baseTypeResult.bindToSelfType);
|
3613
3618
|
}
|
3614
|
-
if (typeResult) {
|
3619
|
+
if (typeResult && !typeResult.typeErrors) {
|
3615
3620
|
type = (0, typeUtils_1.addConditionToType)(typeResult.type, (0, typeUtils_1.getTypeCondition)(baseType),
|
3616
3621
|
/* skipSelfCondition */ true);
|
3617
|
-
|
3618
|
-
|
3619
|
-
|
3620
|
-
|
3621
|
-
|
3622
|
-
|
3623
|
-
|
3624
|
-
|
3625
|
-
|
3622
|
+
if (typeResult.isIncomplete) {
|
3623
|
+
isIncomplete = true;
|
3624
|
+
}
|
3625
|
+
if (typeResult.isAsymmetricAccessor) {
|
3626
|
+
isAsymmetricAccessor = true;
|
3627
|
+
}
|
3628
|
+
if (typeResult.memberAccessDeprecationInfo) {
|
3629
|
+
memberAccessDeprecationInfo = typeResult.memberAccessDeprecationInfo;
|
3630
|
+
}
|
3626
3631
|
}
|
3627
3632
|
break;
|
3628
3633
|
}
|
@@ -3662,7 +3667,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
3662
3667
|
if (usage.method === 'get') {
|
3663
3668
|
const getAttrSymbol = types_1.ModuleType.getField(baseType, '__getattr__');
|
3664
3669
|
if (getAttrSymbol) {
|
3665
|
-
const isModuleGetAttrSupported = fileInfo.executionEnvironment.pythonVersion
|
3670
|
+
const isModuleGetAttrSupported = fileInfo.executionEnvironment.pythonVersion.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_7) ||
|
3666
3671
|
getAttrSymbol.getDeclarations().some((decl) => decl.uri.hasExtension('.pyi'));
|
3667
3672
|
if (isModuleGetAttrSupported) {
|
3668
3673
|
const getAttrTypeResult = getEffectiveTypeOfSymbolForUsage(getAttrSymbol);
|
@@ -3701,7 +3706,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
3701
3706
|
}
|
3702
3707
|
if ((0, typeUtils_1.isNoneInstance)(subtype) && noneType && (0, types_1.isClassInstance)(noneType)) {
|
3703
3708
|
const typeResult = getTypeOfBoundMember(node.memberName, noneType, memberName, usage, diag);
|
3704
|
-
if (typeResult) {
|
3709
|
+
if (typeResult && !typeResult.typeErrors) {
|
3705
3710
|
type = (0, typeUtils_1.addConditionToType)(typeResult.type, (0, typeUtils_1.getTypeCondition)(baseType));
|
3706
3711
|
if (typeResult.isIncomplete) {
|
3707
3712
|
isIncomplete = true;
|
@@ -4015,7 +4020,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4015
4020
|
}
|
4016
4021
|
const methodTypeResult = getTypeOfBoundMember(errorNode, concreteMemberType, accessMethodName,
|
4017
4022
|
/* usage */ undefined, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), 16 /* MemberAccessFlags.SkipInstanceMembers */ | 512 /* MemberAccessFlags.SkipAttributeAccessOverride */);
|
4018
|
-
if (!methodTypeResult) {
|
4023
|
+
if (!methodTypeResult || methodTypeResult.typeErrors) {
|
4019
4024
|
// Provide special error messages for properties.
|
4020
4025
|
if (types_1.ClassType.isPropertyClass(concreteMemberType)) {
|
4021
4026
|
if (usage.method !== 'get') {
|
@@ -4385,7 +4390,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4385
4390
|
!baseTypeResult.type.aliasName) {
|
4386
4391
|
const minPythonVersion = nonSubscriptableBuiltinTypes.get(baseTypeResult.type.details.fullName);
|
4387
4392
|
if (minPythonVersion !== undefined &&
|
4388
|
-
fileInfo.executionEnvironment.pythonVersion
|
4393
|
+
fileInfo.executionEnvironment.pythonVersion.isLessThan(minPythonVersion) &&
|
4389
4394
|
!fileInfo.isStubFile) {
|
4390
4395
|
addError(localize_1.LocMessage.classNotRuntimeSubscriptable().format({
|
4391
4396
|
name: baseTypeResult.type.aliasName || baseTypeResult.type.details.name,
|
@@ -6792,7 +6797,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
6792
6797
|
const result = {
|
6793
6798
|
returnType: (0, namedTuples_1.createNamedTupleType)(evaluatorInterface, errorNode, argList, /* includesTypes */ true),
|
6794
6799
|
};
|
6795
|
-
const initTypeResult = (0, constructors_1.getBoundInitMethod)(evaluatorInterface, errorNode, types_1.ClassType.cloneAsInstance(expandedCallType),
|
6800
|
+
const initTypeResult = (0, constructors_1.getBoundInitMethod)(evaluatorInterface, errorNode, types_1.ClassType.cloneAsInstance(expandedCallType),
|
6801
|
+
/* diag */ undefined, 0 /* MemberAccessFlags.Default */);
|
6796
6802
|
if (initTypeResult && (0, types_1.isOverloadedFunction)(initTypeResult.type)) {
|
6797
6803
|
validateOverloadedFunctionArguments(errorNode, argList, { type: initTypeResult.type },
|
6798
6804
|
/* typeVarContext */ undefined, skipUnknownArgCheck,
|
@@ -6895,15 +6901,15 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
6895
6901
|
}
|
6896
6902
|
function validateCallForClassInstance(errorNode, argList, expandedCallType, unexpandedCallType, typeVarContext, skipUnknownArgCheck, inferenceContext, recursionCount) {
|
6897
6903
|
var _a;
|
6904
|
+
const callDiag = new diagnostic_1.DiagnosticAddendum();
|
6898
6905
|
const callMethodResult = getTypeOfBoundMember(errorNode, expandedCallType, '__call__',
|
6899
|
-
/* usage */ undefined,
|
6900
|
-
/* diag */ undefined, 16 /* MemberAccessFlags.SkipInstanceMembers */ | 512 /* MemberAccessFlags.SkipAttributeAccessOverride */,
|
6906
|
+
/* usage */ undefined, callDiag, 16 /* MemberAccessFlags.SkipInstanceMembers */ | 512 /* MemberAccessFlags.SkipAttributeAccessOverride */,
|
6901
6907
|
/* selfType */ undefined, recursionCount);
|
6902
6908
|
const callMethodType = callMethodResult === null || callMethodResult === void 0 ? void 0 : callMethodResult.type;
|
6903
|
-
if (!callMethodType) {
|
6909
|
+
if (!callMethodType || callMethodResult.typeErrors) {
|
6904
6910
|
addDiagnostic(diagnosticRules_1.DiagnosticRule.reportCallIssue, localize_1.LocMessage.objectNotCallable().format({
|
6905
6911
|
type: printType(expandedCallType),
|
6906
|
-
}), errorNode);
|
6912
|
+
}) + callDiag.getString(), errorNode);
|
6907
6913
|
return { returnType: types_1.UnknownType.create(), argumentErrors: true };
|
6908
6914
|
}
|
6909
6915
|
const callResult = validateCallArguments(errorNode, argList, { type: callMethodType }, typeVarContext, skipUnknownArgCheck, inferenceContext, recursionCount);
|
@@ -8696,7 +8702,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
8696
8702
|
typeVar.details.isDefaultExplicit = true;
|
8697
8703
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
|
8698
8704
|
if (!fileInfo.isStubFile &&
|
8699
|
-
fileInfo.executionEnvironment.pythonVersion
|
8705
|
+
fileInfo.executionEnvironment.pythonVersion.isLessThan(pythonVersion_1.pythonVersion3_13) &&
|
8700
8706
|
classType.details.moduleName !== 'typing_extensions') {
|
8701
8707
|
addError(localize_1.LocMessage.typeVarDefaultIllegal(), defaultValueNode);
|
8702
8708
|
}
|
@@ -8796,7 +8802,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
8796
8802
|
}
|
8797
8803
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
|
8798
8804
|
if (!fileInfo.isStubFile &&
|
8799
|
-
fileInfo.executionEnvironment.pythonVersion
|
8805
|
+
fileInfo.executionEnvironment.pythonVersion.isLessThan(pythonVersion_1.pythonVersion3_13) &&
|
8800
8806
|
classType.details.moduleName !== 'typing_extensions') {
|
8801
8807
|
addError(localize_1.LocMessage.typeVarDefaultIllegal(), expr);
|
8802
8808
|
}
|
@@ -8855,7 +8861,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
8855
8861
|
}
|
8856
8862
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
|
8857
8863
|
if (!fileInfo.isStubFile &&
|
8858
|
-
fileInfo.executionEnvironment.pythonVersion
|
8864
|
+
fileInfo.executionEnvironment.pythonVersion.isLessThan(pythonVersion_1.pythonVersion3_13) &&
|
8859
8865
|
classType.details.moduleName !== 'typing_extensions') {
|
8860
8866
|
addError(localize_1.LocMessage.typeVarDefaultIllegal(), expr);
|
8861
8867
|
}
|
@@ -9114,6 +9120,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
9114
9120
|
});
|
9115
9121
|
types_1.FunctionType.addDefaultParameters(newType);
|
9116
9122
|
newType.details.declaredReturnType = types_1.ClassType.cloneAsInstance(classType);
|
9123
|
+
newType.details.constructorTypeVarScopeId = classType.details.typeVarScopeId;
|
9117
9124
|
classType.details.fields.set('__new__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, newType));
|
9118
9125
|
}
|
9119
9126
|
return classType;
|
@@ -9420,7 +9427,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
9420
9427
|
let isIncomplete = false;
|
9421
9428
|
// Infer the key and value types if possible.
|
9422
9429
|
node.entries.forEach((entryNode, index) => {
|
9423
|
-
var _a;
|
9430
|
+
var _a, _b, _c, _d;
|
9424
9431
|
let addUnknown = true;
|
9425
9432
|
if (entryNode.nodeType === 17 /* ParseNodeType.DictionaryKeyEntry */) {
|
9426
9433
|
const keyTypeResult = getTypeOfExpression(entryNode.keyExpression,
|
@@ -9467,6 +9474,15 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
9467
9474
|
isIncomplete = true;
|
9468
9475
|
}
|
9469
9476
|
if (forceStrictInference || index < maxEntriesToUseForInference) {
|
9477
|
+
// If an existing key has the same literal type, delete the previous
|
9478
|
+
// key since we're overwriting it here.
|
9479
|
+
if ((0, types_1.isClass)(keyType) && (0, typeUtils_1.isLiteralType)(keyType)) {
|
9480
|
+
const existingIndex = keyTypes.findIndex((kt) => (0, types_1.isTypeSame)(keyType, kt.type));
|
9481
|
+
if (existingIndex >= 0) {
|
9482
|
+
keyTypes.splice(existingIndex, 1);
|
9483
|
+
valueTypes.splice(existingIndex, 1);
|
9484
|
+
}
|
9485
|
+
}
|
9470
9486
|
keyTypes.push({ node: entryNode.keyExpression, type: keyType });
|
9471
9487
|
valueTypes.push({ node: entryNode.valueExpression, type: valueType });
|
9472
9488
|
}
|
@@ -9504,10 +9520,20 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
9504
9520
|
/* allowNarrowed */ true);
|
9505
9521
|
tdEntries.knownItems.forEach((entry, name) => {
|
9506
9522
|
if (entry.isRequired || entry.isProvided) {
|
9507
|
-
keyTypes.push({
|
9523
|
+
keyTypes.push({
|
9524
|
+
node: entryNode,
|
9525
|
+
type: types_1.ClassType.cloneWithLiteral(strObject, name),
|
9526
|
+
});
|
9508
9527
|
valueTypes.push({ node: entryNode, type: entry.valueType });
|
9509
9528
|
}
|
9510
9529
|
});
|
9530
|
+
if (!expectedTypedDictEntries) {
|
9531
|
+
keyTypes.push({ node: entryNode, type: types_1.ClassType.cloneAsInstance(strObject) });
|
9532
|
+
valueTypes.push({
|
9533
|
+
node: entryNode,
|
9534
|
+
type: (_c = (_b = (_a = tdEntries.extraItems) === null || _a === void 0 ? void 0 : _a.valueType) !== null && _b !== void 0 ? _b : objectType) !== null && _c !== void 0 ? _c : types_1.UnknownType.create(),
|
9535
|
+
});
|
9536
|
+
}
|
9511
9537
|
addUnknown = false;
|
9512
9538
|
}
|
9513
9539
|
}
|
@@ -9541,7 +9567,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
9541
9567
|
}
|
9542
9568
|
// The result should be a tuple.
|
9543
9569
|
if ((0, types_1.isClassInstance)(dictEntryType) && (0, typeUtils_1.isTupleClass)(dictEntryType)) {
|
9544
|
-
const typeArgs = (
|
9570
|
+
const typeArgs = (_d = dictEntryType.tupleTypeArguments) === null || _d === void 0 ? void 0 : _d.map((t) => t.type);
|
9545
9571
|
if (typeArgs && typeArgs.length === 2) {
|
9546
9572
|
if (forceStrictInference || index < maxEntriesToUseForInference) {
|
9547
9573
|
keyTypes.push({ node: entryNode, type: typeArgs[0] });
|
@@ -9755,7 +9781,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
9755
9781
|
}
|
9756
9782
|
function inferTypeArgFromExpectedEntryType(inferenceContext, entryTypes, isNarrowable) {
|
9757
9783
|
// If the expected type is Any, the resulting type becomes Any.
|
9758
|
-
if ((0, types_1.
|
9784
|
+
if ((0, types_1.isAny)(inferenceContext.expectedType)) {
|
9759
9785
|
return inferenceContext.expectedType;
|
9760
9786
|
}
|
9761
9787
|
const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(inferenceContext.expectedType));
|
@@ -11552,7 +11578,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
11552
11578
|
if (types_1.ClassType.isBuiltIn(argType, 'Protocol')) {
|
11553
11579
|
if (!fileInfo.isStubFile &&
|
11554
11580
|
!types_1.ClassType.isTypingExtensionClass(argType) &&
|
11555
|
-
fileInfo.executionEnvironment.pythonVersion
|
11581
|
+
fileInfo.executionEnvironment.pythonVersion.isLessThan(pythonVersion_1.pythonVersion3_7)) {
|
11556
11582
|
addError(localize_1.LocMessage.protocolIllegal(), arg.valueExpression);
|
11557
11583
|
}
|
11558
11584
|
classType.details.flags |= 16384 /* ClassTypeFlags.ProtocolClass */;
|
@@ -11562,7 +11588,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
11562
11588
|
}
|
11563
11589
|
// If the class directly derives from NamedTuple (in Python 3.6 or
|
11564
11590
|
// newer), it's considered a (read-only) dataclass.
|
11565
|
-
if (fileInfo.executionEnvironment.pythonVersion
|
11591
|
+
if (fileInfo.executionEnvironment.pythonVersion.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_6)) {
|
11566
11592
|
if (types_1.ClassType.isBuiltIn(argType, 'NamedTuple')) {
|
11567
11593
|
classType.details.flags |=
|
11568
11594
|
4 /* ClassTypeFlags.DataClass */ |
|
@@ -12249,7 +12275,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
12249
12275
|
const paramInfo = paramListDetails.params[paramIndex];
|
12250
12276
|
const argParam = {
|
12251
12277
|
paramCategory: paramInfo.param.category,
|
12252
|
-
paramType:
|
12278
|
+
paramType: paramInfo.type,
|
12253
12279
|
requiresTypeVarMatching: false,
|
12254
12280
|
argument: arg,
|
12255
12281
|
errorNode: (_b = arg.valueExpression) !== null && _b !== void 0 ? _b : errorNode,
|
@@ -12526,6 +12552,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
12526
12552
|
else {
|
12527
12553
|
annotatedType = getTypeOfParameterAnnotation(paramTypeNode, param.category);
|
12528
12554
|
}
|
12555
|
+
if (annotatedType) {
|
12556
|
+
(0, typeUtils_1.addTypeVarsToListIfUnique)(typeParametersSeen, (0, typeUtils_1.getTypeVarArgumentsRecursive)(annotatedType), functionType.details.typeVarScopeId);
|
12557
|
+
}
|
12529
12558
|
if ((0, types_1.isVariadicTypeVar)(annotatedType) && !annotatedType.isVariadicUnpacked) {
|
12530
12559
|
addError(localize_1.LocMessage.unpackedTypeVarTupleExpected().format({
|
12531
12560
|
name1: annotatedType.details.name,
|
@@ -12631,7 +12660,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
12631
12660
|
};
|
12632
12661
|
types_1.FunctionType.addParameter(functionType, functionParam);
|
12633
12662
|
if (functionParam.hasDeclaredType) {
|
12634
|
-
(0, typeUtils_1.addTypeVarsToListIfUnique)(typeParametersSeen, (0, typeUtils_1.getTypeVarArgumentsRecursive)(functionParam.type));
|
12663
|
+
(0, typeUtils_1.addTypeVarsToListIfUnique)(typeParametersSeen, (0, typeUtils_1.getTypeVarArgumentsRecursive)(functionParam.type), functionType.details.typeVarScopeId);
|
12635
12664
|
}
|
12636
12665
|
if (param.name) {
|
12637
12666
|
const variadicParamType = transformVariadicParamType(node, param.category, functionParam.type);
|
@@ -12741,17 +12770,12 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
12741
12770
|
// Callable, these type variables are "rescoped" from the function to
|
12742
12771
|
// the Callable.
|
12743
12772
|
function rescopeTypeVarsForCallableReturnType(returnType, functionType, typeParametersSeen) {
|
12744
|
-
const typeVarsInReturnType = (0, typeUtils_1.getTypeVarArgumentsRecursive)(returnType);
|
12773
|
+
const typeVarsInReturnType = (0, typeUtils_1.getTypeVarArgumentsRecursive)(returnType).filter((t) => t.scopeId === functionType.details.typeVarScopeId);
|
12745
12774
|
const rescopedTypeVars = [];
|
12746
12775
|
typeVarsInReturnType.forEach((typeVar) => {
|
12747
12776
|
if (types_1.TypeBase.isInstantiable(typeVar)) {
|
12748
12777
|
typeVar = types_1.TypeVarType.cloneAsInstance(typeVar);
|
12749
12778
|
}
|
12750
|
-
// If this type variable isn't scoped to this function, it is probably
|
12751
|
-
// associated with an outer scope.
|
12752
|
-
if (typeVar.scopeId !== functionType.details.typeVarScopeId) {
|
12753
|
-
return;
|
12754
|
-
}
|
12755
12779
|
// If this type variable was already seen in one or more input parameters,
|
12756
12780
|
// don't attempt to rescope it.
|
12757
12781
|
if (typeParametersSeen.some((tp) => (0, types_1.isTypeSame)((0, typeUtils_1.convertToInstance)(tp), typeVar))) {
|
@@ -13349,7 +13373,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
13349
13373
|
reportError = true;
|
13350
13374
|
// Handle PEP 562 support for module-level __getattr__ function,
|
13351
13375
|
// introduced in Python 3.7.
|
13352
|
-
if (fileInfo.executionEnvironment.pythonVersion
|
13376
|
+
if (fileInfo.executionEnvironment.pythonVersion.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_7) ||
|
13377
|
+
fileInfo.isStubFile) {
|
13353
13378
|
const getAttrSymbol = importLookupInfo.symbolTable.get('__getattr__');
|
13354
13379
|
if (getAttrSymbol) {
|
13355
13380
|
const getAttrType = getEffectiveTypeOfSymbol(getAttrSymbol);
|
@@ -14155,7 +14180,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
14155
14180
|
}
|
14156
14181
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
|
14157
14182
|
if (fileInfo.isStubFile ||
|
14158
|
-
fileInfo.executionEnvironment.pythonVersion
|
14183
|
+
fileInfo.executionEnvironment.pythonVersion.isGreaterOrEqualTo(pythonVersion_1.pythonVersion3_9) ||
|
14159
14184
|
(0, analyzerFileInfo_1.isAnnotationEvaluationPostponed)(AnalyzerNodeInfo.getFileInfo(errorNode)) ||
|
14160
14185
|
(flags & 4 /* EvaluatorFlags.AllowForwardReferences */) !== 0) {
|
14161
14186
|
// Handle "type" specially, since it needs to act like "Type"
|