@zzzen/pyright-internal 1.2.0-dev.20240128 → 1.2.0-dev.20240225
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/analysis.js +4 -1
- package/dist/analyzer/analysis.js.map +1 -1
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +1 -0
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -2
- package/dist/analyzer/checker.js +251 -121
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/circularDependency.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +29 -3
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/codeFlowUtils.js.map +1 -1
- package/dist/analyzer/commentUtils.js.map +1 -1
- package/dist/analyzer/constraintSolver.d.ts +2 -2
- package/dist/analyzer/constraintSolver.js +28 -6
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +6 -6
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +6 -6
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/deprecatedSymbols.js.map +1 -1
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/docStringUtils.js.map +1 -1
- package/dist/analyzer/enums.d.ts +4 -1
- package/dist/analyzer/enums.js +30 -16
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.js +12 -4
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +2 -0
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +1 -1
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +6 -0
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +1 -0
- package/dist/analyzer/parameterUtils.js +16 -2
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.js.map +1 -1
- package/dist/analyzer/parseTreeCleaner.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -0
- package/dist/analyzer/parseTreeUtils.js +4 -3
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.js +90 -61
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +1 -1
- package/dist/analyzer/program.js +2 -2
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +2 -2
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/pyTypedUtils.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/scopeUtils.js.map +1 -1
- 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/sourceFileInfo.js +1 -1
- package/dist/analyzer/sourceFileInfo.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.js.map +1 -1
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/symbol.js.map +1 -1
- package/dist/analyzer/symbolNameUtils.js.map +1 -1
- package/dist/analyzer/symbolUtils.js.map +1 -1
- package/dist/analyzer/testWalker.js.map +1 -1
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeCacheUtils.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +433 -334
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
- package/dist/analyzer/typeGuards.js +10 -5
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +1 -1
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +0 -1
- package/dist/analyzer/typeUtils.js +22 -8
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +2 -2
- package/dist/analyzer/typeVarContext.js +10 -4
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +6 -3
- package/dist/analyzer/typedDicts.js +292 -65
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +38 -26
- package/dist/analyzer/types.js +99 -72
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/commandController.js.map +1 -1
- package/dist/commands/commandResult.js.map +1 -1
- package/dist/commands/commands.js.map +1 -1
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +18 -18
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/commands/restartServer.js.map +1 -1
- package/dist/common/cancellationUtils.d.ts +6 -1
- package/dist/common/cancellationUtils.js +18 -4
- package/dist/common/cancellationUtils.js.map +1 -1
- package/dist/common/charCodes.js.map +1 -1
- package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
- package/dist/common/collectionUtils.js.map +1 -1
- package/dist/common/commandLineOptions.js.map +1 -1
- package/dist/common/commandUtils.js.map +1 -1
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/console.js.map +1 -1
- package/dist/common/core.js.map +1 -1
- package/dist/common/crypto.js.map +1 -1
- package/dist/common/debug.js.map +1 -1
- package/dist/common/deferred.js.map +1 -1
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +2 -1
- package/dist/common/envVarUtils.js +5 -1
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/extensions.js.map +1 -1
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/fileWatcher.js.map +1 -1
- package/dist/common/fullAccessHost.js +1 -1
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/lspUtils.js.map +1 -1
- package/dist/common/memUtils.js.map +1 -1
- package/dist/common/pathConsts.js.map +1 -1
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/positionUtils.js.map +1 -1
- package/dist/common/progressReporter.js.map +1 -1
- package/dist/common/pythonVersion.js.map +1 -1
- package/dist/common/realFileSystem.js +1 -1
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/stringUtils.js.map +1 -1
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.js.map +1 -1
- package/dist/common/textRangeCollection.js.map +1 -1
- package/dist/common/timing.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +2 -0
- package/dist/common/uri/baseUri.js +7 -7
- package/dist/common/uri/baseUri.js.map +1 -1
- package/dist/common/uri/emptyUri.d.ts +2 -0
- package/dist/common/uri/emptyUri.js +6 -0
- package/dist/common/uri/emptyUri.js.map +1 -1
- package/dist/common/uri/fileUri.d.ts +6 -4
- package/dist/common/uri/fileUri.js +18 -9
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/memoization.js.map +1 -1
- package/dist/common/uri/uri.d.ts +8 -0
- package/dist/common/uri/uri.js +16 -7
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/uri/webUri.d.ts +3 -1
- package/dist/common/uri/webUri.js +21 -8
- package/dist/common/uri/webUri.js.map +1 -1
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +1 -0
- package/dist/languageService/autoImporter.js +3 -1
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +11 -3
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.js +1 -1
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importSorter.js.map +1 -1
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.js +11 -1
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +45 -3
- package/dist/localization/localize.js +16 -3
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +15 -9
- package/dist/localization/package.nls.de.json +17 -11
- package/dist/localization/package.nls.en-us.json +25 -12
- package/dist/localization/package.nls.es.json +16 -10
- package/dist/localization/package.nls.fr.json +16 -10
- package/dist/localization/package.nls.it.json +16 -10
- package/dist/localization/package.nls.ja.json +17 -11
- package/dist/localization/package.nls.ko.json +14 -8
- package/dist/localization/package.nls.pl.json +14 -8
- package/dist/localization/package.nls.pt-br.json +17 -11
- package/dist/localization/package.nls.qps-ploc.json +12 -6
- package/dist/localization/package.nls.ru.json +17 -11
- package/dist/localization/package.nls.tr.json +16 -10
- package/dist/localization/package.nls.zh-cn.json +17 -11
- package/dist/localization/package.nls.zh-tw.json +17 -11
- package/dist/nodeMain.js.map +1 -1
- package/dist/nodeServer.js.map +1 -1
- package/dist/parser/characterStream.js.map +1 -1
- package/dist/parser/characters.js.map +1 -1
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/stringTokenUtils.js.map +1 -1
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/parser/unicode.js.map +1 -1
- package/dist/pprof/profiler.js.map +1 -1
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.d.ts +2 -1
- package/dist/server.js +9 -7
- package/dist/server.js.map +1 -1
- package/dist/tests/cacheManager.test.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +0 -4
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/classDeclaration.test.js.map +1 -1
- package/dist/tests/collectionUtils.test.js.map +1 -1
- package/dist/tests/common.test.js.map +1 -1
- package/dist/tests/completions.test.js +23 -0
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +1 -2
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/debug.test.js.map +1 -1
- package/dist/tests/deferred.test.js.map +1 -1
- package/dist/tests/diagnosticOverrides.test.js.map +1 -1
- package/dist/tests/diagnostics.test.js.map +1 -1
- package/dist/tests/docStringConversion.test.js.map +1 -1
- package/dist/tests/docStringUtils.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/envVarUtils.test.d.ts +1 -0
- package/dist/tests/envVarUtils.test.js +130 -0
- package/dist/tests/envVarUtils.test.js.map +1 -0
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourSlashRunner.test.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.disabled.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.builtinOverride.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.comment.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.declNames.class.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.declNames.exception.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.declNames.for.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.declNames.importAlias.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.declNames.lambda.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.declNames.method.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.declNames.overload.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.dunderNew.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.enums.members.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.errorNodes.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.excluded.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.fstring.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.fuzzyMatching.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.importDunderNames.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.importInterimFile.fourslash.disabled.js.map +1 -1
- package/dist/tests/fourslash/completions.importPrivateNoPytyped.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.importPytyped.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.importPytypedLocal.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.importSubmodule.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.importsDuplicates.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.inList.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.included.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.inherited.property.docFromStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.literals.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.overloads.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.override.default.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.override.default.importStub.js.map +1 -1
- package/dist/tests/fourslash/completions.override.default.imported.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.override.default.stub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.override.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.override.property.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.override.property.stub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.override.stub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.parameters.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.params.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.parentFolder.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.parentFolders.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.private.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.property.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.propertyDocStrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.typeAlias.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.typeshed.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.vardecls.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.with.fourslash.js.map +1 -1
- package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.classes.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.fields.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.functions.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.methods.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.modules.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.overloads.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.variables.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.importalias.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.module.nested.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.modules.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.openFiles.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.parameter.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.variable.fourslash.js.map +1 -1
- package/dist/tests/fourslash/fourslash.js.map +1 -1
- package/dist/tests/fourslash/highlightreferences.attributes.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.async.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.classNoInit.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.links.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.parameter.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.formatted.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.import.django.view.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.import.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inferred.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.property.docFromStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.libStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.optionalAliasParameter.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.plainText.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.slots.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.typedDict.key.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.variable.docString.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.publicSymbols.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.pytyped.dunderAll.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.wildcard.fourslash.js.map +1 -1
- package/dist/tests/fourslash/importnotresolved.fourslash.js.map +1 -1
- package/dist/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.js.map +1 -1
- package/dist/tests/fourslash/missingModuleSource.fourslash.js.map +1 -1
- package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
- package/dist/tests/fourslash/missingTypeStub.command.multipart.fourslash.js.map +1 -1
- package/dist/tests/fourslash/missingTypeStub.command.singlefile.fourslash.js.map +1 -1
- package/dist/tests/fourslash/missingTypeStub.command.singlepart.fourslash.js.map +1 -1
- package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js.map +1 -1
- package/dist/tests/fourslash/missingTypeStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.js.map +1 -1
- package/dist/tests/fourslash/noerrors.fourslash.js.map +1 -1
- package/dist/tests/fourslash/orderImports1.command.fourslash.js.map +1 -1
- package/dist/tests/fourslash/orderImports2.command.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.externallyHidden.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.function.untitledFile.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.init.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.library.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.library.sourceAndStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
- package/dist/tests/fourslash/rename.multipleDecl.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.parens.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.sourceAndStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.string.excluded.fourslash.js.map +1 -1
- package/dist/tests/fourslash/rename.string.fourslash.js.map +1 -1
- package/dist/tests/fourslash/shadowedImports.fourslash.js.map +1 -1
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.js.map +1 -1
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
- package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.js.map +1 -1
- package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.cornercases.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.docstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.overload.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
- package/dist/tests/fourslash/typeVerifier.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/runner.js +1 -1
- package/dist/tests/harness/fourslash/runner.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +0 -13
- package/dist/tests/harness/fourslash/testState.js +11 -0
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/utils.js.map +1 -1
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/hoverProvider.test.js.map +1 -1
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +8 -0
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/languageServer.test.d.ts +1 -0
- package/dist/tests/languageServer.test.js +137 -0
- package/dist/tests/languageServer.test.js.map +1 -0
- package/dist/tests/localizer.test.js.map +1 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/lsp/customLsp.d.ts +112 -0
- package/dist/tests/lsp/customLsp.js +67 -0
- package/dist/tests/lsp/customLsp.js.map +1 -0
- package/dist/tests/lsp/languageServer.d.ts +1 -0
- package/dist/tests/lsp/languageServer.js +326 -0
- package/dist/tests/lsp/languageServer.js.map +1 -0
- package/dist/tests/lsp/languageServerTestUtils.d.ts +100 -0
- package/dist/tests/lsp/languageServerTestUtils.js +803 -0
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -0
- package/dist/tests/lsp/main.d.ts +1 -0
- package/dist/tests/lsp/main.js +12 -0
- package/dist/tests/lsp/main.js.map +1 -0
- package/dist/tests/lsp/webpack.testserver.config.d.ts +4 -0
- package/dist/tests/lsp/webpack.testserver.config.js +64 -0
- package/dist/tests/lsp/webpack.testserver.config.js.map +1 -0
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/positionUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/serialization.test.js.map +1 -1
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/stringUtils.test.js.map +1 -1
- package/dist/tests/symbolNameUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/textRange.test.js.map +1 -1
- package/dist/tests/tokenizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +21 -5
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +8 -4
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +5 -9
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +1 -1
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +43 -1
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.js +74 -26
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.js +2 -1
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +23 -15
- package/dist/analyzer/regions.d.ts +0 -11
- package/dist/analyzer/regions.js +0 -62
- package/dist/analyzer/regions.js.map +0 -1
package/dist/analyzer/types.js
CHANGED
|
@@ -295,69 +295,76 @@ var ClassTypeFlags;
|
|
|
295
295
|
// value types and a limited set of static keys.
|
|
296
296
|
ClassTypeFlags[ClassTypeFlags["TypedDictClass"] = 128] = "TypedDictClass";
|
|
297
297
|
// Used in conjunction with TypedDictClass, indicates that
|
|
298
|
+
// the TypedDict class is marked "closed".
|
|
299
|
+
ClassTypeFlags[ClassTypeFlags["TypedDictMarkedClosed"] = 256] = "TypedDictMarkedClosed";
|
|
300
|
+
// Used in conjunction with TypedDictClass, indicates that
|
|
301
|
+
// the TypedDict class is marked "closed" or one or more of
|
|
302
|
+
// its superclasses is marked "closed".
|
|
303
|
+
ClassTypeFlags[ClassTypeFlags["TypedDictEffectivelyClosed"] = 512] = "TypedDictEffectivelyClosed";
|
|
304
|
+
// Used in conjunction with TypedDictClass, indicates that
|
|
298
305
|
// the dictionary values can be omitted.
|
|
299
|
-
ClassTypeFlags[ClassTypeFlags["CanOmitDictValues"] =
|
|
306
|
+
ClassTypeFlags[ClassTypeFlags["CanOmitDictValues"] = 1024] = "CanOmitDictValues";
|
|
300
307
|
// The class derives from a class that has the ABCMeta
|
|
301
308
|
// metaclass. Such classes are allowed to contain
|
|
302
309
|
// @abstractmethod decorators.
|
|
303
|
-
ClassTypeFlags[ClassTypeFlags["SupportsAbstractMethods"] =
|
|
310
|
+
ClassTypeFlags[ClassTypeFlags["SupportsAbstractMethods"] = 2048] = "SupportsAbstractMethods";
|
|
304
311
|
// Derives from property class and has the semantics of
|
|
305
312
|
// a property (with optional setter, deleter).
|
|
306
|
-
ClassTypeFlags[ClassTypeFlags["PropertyClass"] =
|
|
313
|
+
ClassTypeFlags[ClassTypeFlags["PropertyClass"] = 4096] = "PropertyClass";
|
|
307
314
|
// The class is decorated with a "@final" decorator
|
|
308
315
|
// indicating that it cannot be subclassed.
|
|
309
|
-
ClassTypeFlags[ClassTypeFlags["Final"] =
|
|
316
|
+
ClassTypeFlags[ClassTypeFlags["Final"] = 8192] = "Final";
|
|
310
317
|
// The class derives directly from "Protocol".
|
|
311
|
-
ClassTypeFlags[ClassTypeFlags["ProtocolClass"] =
|
|
318
|
+
ClassTypeFlags[ClassTypeFlags["ProtocolClass"] = 16384] = "ProtocolClass";
|
|
312
319
|
// A class whose constructor (__init__ method) does not have
|
|
313
320
|
// annotated types and is treated as though each parameter
|
|
314
321
|
// is a generic type for purposes of type inference.
|
|
315
|
-
ClassTypeFlags[ClassTypeFlags["PseudoGenericClass"] =
|
|
322
|
+
ClassTypeFlags[ClassTypeFlags["PseudoGenericClass"] = 32768] = "PseudoGenericClass";
|
|
316
323
|
// A protocol class that is "runtime checkable" can be used
|
|
317
324
|
// in an isinstance call.
|
|
318
|
-
ClassTypeFlags[ClassTypeFlags["RuntimeCheckable"] =
|
|
325
|
+
ClassTypeFlags[ClassTypeFlags["RuntimeCheckable"] = 65536] = "RuntimeCheckable";
|
|
319
326
|
// The type is defined in the typing_extensions.pyi file.
|
|
320
|
-
ClassTypeFlags[ClassTypeFlags["TypingExtensionClass"] =
|
|
327
|
+
ClassTypeFlags[ClassTypeFlags["TypingExtensionClass"] = 131072] = "TypingExtensionClass";
|
|
321
328
|
// The class type is in the process of being evaluated and
|
|
322
329
|
// is not yet complete. This allows us to detect cases where
|
|
323
330
|
// the class refers to itself (e.g. uses itself as a type
|
|
324
331
|
// argument to one of its generic base classes).
|
|
325
|
-
ClassTypeFlags[ClassTypeFlags["PartiallyEvaluated"] =
|
|
332
|
+
ClassTypeFlags[ClassTypeFlags["PartiallyEvaluated"] = 262144] = "PartiallyEvaluated";
|
|
326
333
|
// The class or one of its ancestors defines a __class_getitem__
|
|
327
334
|
// method that is used for subscripting. This is not set if the
|
|
328
335
|
// class is generic, and therefore supports standard subscripting
|
|
329
336
|
// semantics.
|
|
330
|
-
ClassTypeFlags[ClassTypeFlags["HasCustomClassGetItem"] =
|
|
337
|
+
ClassTypeFlags[ClassTypeFlags["HasCustomClassGetItem"] = 524288] = "HasCustomClassGetItem";
|
|
331
338
|
// The tuple class uses a variadic type parameter and requires
|
|
332
339
|
// special-case handling of its type arguments.
|
|
333
|
-
ClassTypeFlags[ClassTypeFlags["TupleClass"] =
|
|
340
|
+
ClassTypeFlags[ClassTypeFlags["TupleClass"] = 1048576] = "TupleClass";
|
|
334
341
|
// The class has a metaclass of EnumMeta or derives from
|
|
335
342
|
// a class that has this metaclass.
|
|
336
|
-
ClassTypeFlags[ClassTypeFlags["EnumClass"] =
|
|
343
|
+
ClassTypeFlags[ClassTypeFlags["EnumClass"] = 2097152] = "EnumClass";
|
|
337
344
|
// For dataclasses, should __init__ method always be generated
|
|
338
345
|
// with keyword-only parameters?
|
|
339
|
-
ClassTypeFlags[ClassTypeFlags["DataClassKeywordOnlyParams"] =
|
|
346
|
+
ClassTypeFlags[ClassTypeFlags["DataClassKeywordOnlyParams"] = 4194304] = "DataClassKeywordOnlyParams";
|
|
340
347
|
// Properties that are defined using the @classmethod decorator.
|
|
341
|
-
ClassTypeFlags[ClassTypeFlags["ClassProperty"] =
|
|
348
|
+
ClassTypeFlags[ClassTypeFlags["ClassProperty"] = 8388608] = "ClassProperty";
|
|
342
349
|
// Class is declared within a type stub file.
|
|
343
|
-
ClassTypeFlags[ClassTypeFlags["DefinedInStub"] =
|
|
350
|
+
ClassTypeFlags[ClassTypeFlags["DefinedInStub"] = 16777216] = "DefinedInStub";
|
|
344
351
|
// Class does not allow writing or deleting its instance variables
|
|
345
352
|
// through a member access. Used with named tuples.
|
|
346
|
-
ClassTypeFlags[ClassTypeFlags["ReadOnlyInstanceVariables"] =
|
|
353
|
+
ClassTypeFlags[ClassTypeFlags["ReadOnlyInstanceVariables"] = 33554432] = "ReadOnlyInstanceVariables";
|
|
347
354
|
// For dataclasses, should __slots__ be generated?
|
|
348
|
-
ClassTypeFlags[ClassTypeFlags["GenerateDataClassSlots"] =
|
|
355
|
+
ClassTypeFlags[ClassTypeFlags["GenerateDataClassSlots"] = 67108864] = "GenerateDataClassSlots";
|
|
349
356
|
// For dataclasses, should __hash__ be generated?
|
|
350
|
-
ClassTypeFlags[ClassTypeFlags["SynthesizeDataClassUnsafeHash"] =
|
|
357
|
+
ClassTypeFlags[ClassTypeFlags["SynthesizeDataClassUnsafeHash"] = 134217728] = "SynthesizeDataClassUnsafeHash";
|
|
351
358
|
// Decorated with @type_check_only.
|
|
352
|
-
ClassTypeFlags[ClassTypeFlags["TypeCheckOnly"] =
|
|
359
|
+
ClassTypeFlags[ClassTypeFlags["TypeCheckOnly"] = 268435456] = "TypeCheckOnly";
|
|
353
360
|
// Created with the NewType call.
|
|
354
|
-
ClassTypeFlags[ClassTypeFlags["NewTypeClass"] =
|
|
361
|
+
ClassTypeFlags[ClassTypeFlags["NewTypeClass"] = 536870912] = "NewTypeClass";
|
|
355
362
|
// Class is allowed to be used as an implicit type alias even
|
|
356
363
|
// though it is not defined using a `class` statement.
|
|
357
|
-
ClassTypeFlags[ClassTypeFlags["ValidTypeAliasClass"] =
|
|
364
|
+
ClassTypeFlags[ClassTypeFlags["ValidTypeAliasClass"] = 1073741824] = "ValidTypeAliasClass";
|
|
358
365
|
// A special form is not compatible with type[T] and cannot
|
|
359
366
|
// be directly instantiated.
|
|
360
|
-
ClassTypeFlags[ClassTypeFlags["SpecialFormClass"] =
|
|
367
|
+
ClassTypeFlags[ClassTypeFlags["SpecialFormClass"] = -2147483648] = "SpecialFormClass";
|
|
361
368
|
})(ClassTypeFlags || (exports.ClassTypeFlags = ClassTypeFlags = {}));
|
|
362
369
|
var ClassType;
|
|
363
370
|
(function (ClassType) {
|
|
@@ -420,7 +427,9 @@ var ClassType;
|
|
|
420
427
|
newClassType.includeSubclasses = true;
|
|
421
428
|
}
|
|
422
429
|
newClassType.tupleTypeArguments = tupleTypeArguments
|
|
423
|
-
? tupleTypeArguments.map((t) => isNever(t.type)
|
|
430
|
+
? tupleTypeArguments.map((t) => isNever(t.type)
|
|
431
|
+
? { type: UnknownType.create(), isUnbounded: t.isUnbounded, isOptional: t.isOptional }
|
|
432
|
+
: t)
|
|
424
433
|
: undefined;
|
|
425
434
|
if (isEmptyContainer !== undefined) {
|
|
426
435
|
newClassType.isEmptyContainer = isEmptyContainer;
|
|
@@ -601,7 +610,7 @@ var ClassType;
|
|
|
601
610
|
}
|
|
602
611
|
ClassType.derivesFromAnyOrUnknown = derivesFromAnyOrUnknown;
|
|
603
612
|
function supportsAbstractMethods(classType) {
|
|
604
|
-
return !!(classType.details.flags &
|
|
613
|
+
return !!(classType.details.flags & 2048 /* ClassTypeFlags.SupportsAbstractMethods */);
|
|
605
614
|
}
|
|
606
615
|
ClassType.supportsAbstractMethods = supportsAbstractMethods;
|
|
607
616
|
function isDataClass(classType) {
|
|
@@ -625,31 +634,31 @@ var ClassType;
|
|
|
625
634
|
}
|
|
626
635
|
ClassType.isSynthesizedDataclassOrder = isSynthesizedDataclassOrder;
|
|
627
636
|
function isDataClassKeywordOnlyParams(classType) {
|
|
628
|
-
return !!(classType.details.flags &
|
|
637
|
+
return !!(classType.details.flags & 4194304 /* ClassTypeFlags.DataClassKeywordOnlyParams */);
|
|
629
638
|
}
|
|
630
639
|
ClassType.isDataClassKeywordOnlyParams = isDataClassKeywordOnlyParams;
|
|
631
640
|
function isGeneratedDataClassSlots(classType) {
|
|
632
|
-
return !!(classType.details.flags &
|
|
641
|
+
return !!(classType.details.flags & 67108864 /* ClassTypeFlags.GenerateDataClassSlots */);
|
|
633
642
|
}
|
|
634
643
|
ClassType.isGeneratedDataClassSlots = isGeneratedDataClassSlots;
|
|
635
644
|
function isSynthesizeDataClassUnsafeHash(classType) {
|
|
636
|
-
return !!(classType.details.flags &
|
|
645
|
+
return !!(classType.details.flags & 134217728 /* ClassTypeFlags.SynthesizeDataClassUnsafeHash */);
|
|
637
646
|
}
|
|
638
647
|
ClassType.isSynthesizeDataClassUnsafeHash = isSynthesizeDataClassUnsafeHash;
|
|
639
648
|
function isTypeCheckOnly(classType) {
|
|
640
|
-
return !!(classType.details.flags &
|
|
649
|
+
return !!(classType.details.flags & 268435456 /* ClassTypeFlags.TypeCheckOnly */);
|
|
641
650
|
}
|
|
642
651
|
ClassType.isTypeCheckOnly = isTypeCheckOnly;
|
|
643
652
|
function isNewTypeClass(classType) {
|
|
644
|
-
return !!(classType.details.flags &
|
|
653
|
+
return !!(classType.details.flags & 536870912 /* ClassTypeFlags.NewTypeClass */);
|
|
645
654
|
}
|
|
646
655
|
ClassType.isNewTypeClass = isNewTypeClass;
|
|
647
656
|
function isValidTypeAliasClass(classType) {
|
|
648
|
-
return !!(classType.details.flags &
|
|
657
|
+
return !!(classType.details.flags & 1073741824 /* ClassTypeFlags.ValidTypeAliasClass */);
|
|
649
658
|
}
|
|
650
659
|
ClassType.isValidTypeAliasClass = isValidTypeAliasClass;
|
|
651
660
|
function isSpecialFormClass(classType) {
|
|
652
|
-
return !!(classType.details.flags &
|
|
661
|
+
return !!(classType.details.flags & -2147483648 /* ClassTypeFlags.SpecialFormClass */);
|
|
653
662
|
}
|
|
654
663
|
ClassType.isSpecialFormClass = isSpecialFormClass;
|
|
655
664
|
function isTypedDictClass(classType) {
|
|
@@ -657,35 +666,43 @@ var ClassType;
|
|
|
657
666
|
}
|
|
658
667
|
ClassType.isTypedDictClass = isTypedDictClass;
|
|
659
668
|
function isCanOmitDictValues(classType) {
|
|
660
|
-
return !!(classType.details.flags &
|
|
669
|
+
return !!(classType.details.flags & 1024 /* ClassTypeFlags.CanOmitDictValues */);
|
|
661
670
|
}
|
|
662
671
|
ClassType.isCanOmitDictValues = isCanOmitDictValues;
|
|
672
|
+
function isTypedDictMarkedClosed(classType) {
|
|
673
|
+
return !!(classType.details.flags & 256 /* ClassTypeFlags.TypedDictMarkedClosed */);
|
|
674
|
+
}
|
|
675
|
+
ClassType.isTypedDictMarkedClosed = isTypedDictMarkedClosed;
|
|
676
|
+
function isTypedDictEffectivelyClosed(classType) {
|
|
677
|
+
return !!(classType.details.flags & 512 /* ClassTypeFlags.TypedDictEffectivelyClosed */);
|
|
678
|
+
}
|
|
679
|
+
ClassType.isTypedDictEffectivelyClosed = isTypedDictEffectivelyClosed;
|
|
663
680
|
function isEnumClass(classType) {
|
|
664
|
-
return !!(classType.details.flags &
|
|
681
|
+
return !!(classType.details.flags & 2097152 /* ClassTypeFlags.EnumClass */);
|
|
665
682
|
}
|
|
666
683
|
ClassType.isEnumClass = isEnumClass;
|
|
667
684
|
function isPropertyClass(classType) {
|
|
668
|
-
return !!(classType.details.flags &
|
|
685
|
+
return !!(classType.details.flags & 4096 /* ClassTypeFlags.PropertyClass */);
|
|
669
686
|
}
|
|
670
687
|
ClassType.isPropertyClass = isPropertyClass;
|
|
671
688
|
function isClassProperty(classType) {
|
|
672
|
-
return !!(classType.details.flags &
|
|
689
|
+
return !!(classType.details.flags & 8388608 /* ClassTypeFlags.ClassProperty */);
|
|
673
690
|
}
|
|
674
691
|
ClassType.isClassProperty = isClassProperty;
|
|
675
692
|
function isFinal(classType) {
|
|
676
|
-
return !!(classType.details.flags &
|
|
693
|
+
return !!(classType.details.flags & 8192 /* ClassTypeFlags.Final */);
|
|
677
694
|
}
|
|
678
695
|
ClassType.isFinal = isFinal;
|
|
679
696
|
function isProtocolClass(classType) {
|
|
680
|
-
return !!(classType.details.flags &
|
|
697
|
+
return !!(classType.details.flags & 16384 /* ClassTypeFlags.ProtocolClass */);
|
|
681
698
|
}
|
|
682
699
|
ClassType.isProtocolClass = isProtocolClass;
|
|
683
700
|
function isDefinedInStub(classType) {
|
|
684
|
-
return !!(classType.details.flags &
|
|
701
|
+
return !!(classType.details.flags & 16777216 /* ClassTypeFlags.DefinedInStub */);
|
|
685
702
|
}
|
|
686
703
|
ClassType.isDefinedInStub = isDefinedInStub;
|
|
687
704
|
function isPseudoGenericClass(classType) {
|
|
688
|
-
return !!(classType.details.flags &
|
|
705
|
+
return !!(classType.details.flags & 32768 /* ClassTypeFlags.PseudoGenericClass */);
|
|
689
706
|
}
|
|
690
707
|
ClassType.isPseudoGenericClass = isPseudoGenericClass;
|
|
691
708
|
function getDataClassEntries(classType) {
|
|
@@ -693,27 +710,27 @@ var ClassType;
|
|
|
693
710
|
}
|
|
694
711
|
ClassType.getDataClassEntries = getDataClassEntries;
|
|
695
712
|
function isRuntimeCheckable(classType) {
|
|
696
|
-
return !!(classType.details.flags &
|
|
713
|
+
return !!(classType.details.flags & 65536 /* ClassTypeFlags.RuntimeCheckable */);
|
|
697
714
|
}
|
|
698
715
|
ClassType.isRuntimeCheckable = isRuntimeCheckable;
|
|
699
716
|
function isTypingExtensionClass(classType) {
|
|
700
|
-
return !!(classType.details.flags &
|
|
717
|
+
return !!(classType.details.flags & 131072 /* ClassTypeFlags.TypingExtensionClass */);
|
|
701
718
|
}
|
|
702
719
|
ClassType.isTypingExtensionClass = isTypingExtensionClass;
|
|
703
720
|
function isPartiallyEvaluated(classType) {
|
|
704
|
-
return !!(classType.details.flags &
|
|
721
|
+
return !!(classType.details.flags & 262144 /* ClassTypeFlags.PartiallyEvaluated */);
|
|
705
722
|
}
|
|
706
723
|
ClassType.isPartiallyEvaluated = isPartiallyEvaluated;
|
|
707
724
|
function hasCustomClassGetItem(classType) {
|
|
708
|
-
return !!(classType.details.flags &
|
|
725
|
+
return !!(classType.details.flags & 524288 /* ClassTypeFlags.HasCustomClassGetItem */);
|
|
709
726
|
}
|
|
710
727
|
ClassType.hasCustomClassGetItem = hasCustomClassGetItem;
|
|
711
728
|
function isTupleClass(classType) {
|
|
712
|
-
return !!(classType.details.flags &
|
|
729
|
+
return !!(classType.details.flags & 1048576 /* ClassTypeFlags.TupleClass */);
|
|
713
730
|
}
|
|
714
731
|
ClassType.isTupleClass = isTupleClass;
|
|
715
732
|
function isReadOnlyInstanceVariables(classType) {
|
|
716
|
-
return !!(classType.details.flags &
|
|
733
|
+
return !!(classType.details.flags & 33554432 /* ClassTypeFlags.ReadOnlyInstanceVariables */);
|
|
717
734
|
}
|
|
718
735
|
ClassType.isReadOnlyInstanceVariables = isReadOnlyInstanceVariables;
|
|
719
736
|
function getTypeParameters(classType) {
|
|
@@ -1556,6 +1573,8 @@ var UnionType;
|
|
|
1556
1573
|
const newUnionType = {
|
|
1557
1574
|
category: 8 /* TypeCategory.Union */,
|
|
1558
1575
|
subtypes: [],
|
|
1576
|
+
literalInstances: {},
|
|
1577
|
+
literalClasses: {},
|
|
1559
1578
|
flags: 2 /* TypeFlags.Instance */ | 1 /* TypeFlags.Instantiable */,
|
|
1560
1579
|
};
|
|
1561
1580
|
return newUnionType;
|
|
@@ -1565,25 +1584,26 @@ var UnionType;
|
|
|
1565
1584
|
// If we're adding a string, integer or enum literal, add it to the
|
|
1566
1585
|
// corresponding literal map to speed up some operations. It's not
|
|
1567
1586
|
// uncommon for unions to contain hundreds of literals.
|
|
1568
|
-
if (
|
|
1587
|
+
if (isClass(newType) && newType.literalValue !== undefined && newType.condition === undefined) {
|
|
1588
|
+
const literalMaps = isClassInstance(newType) ? unionType.literalInstances : unionType.literalClasses;
|
|
1569
1589
|
if (ClassType.isBuiltIn(newType, 'str')) {
|
|
1570
|
-
if (
|
|
1571
|
-
|
|
1590
|
+
if (literalMaps.literalStrMap === undefined) {
|
|
1591
|
+
literalMaps.literalStrMap = new Map();
|
|
1572
1592
|
}
|
|
1573
|
-
|
|
1593
|
+
literalMaps.literalStrMap.set(newType.literalValue, newType);
|
|
1574
1594
|
}
|
|
1575
1595
|
else if (ClassType.isBuiltIn(newType, 'int')) {
|
|
1576
|
-
if (
|
|
1577
|
-
|
|
1596
|
+
if (literalMaps.literalIntMap === undefined) {
|
|
1597
|
+
literalMaps.literalIntMap = new Map();
|
|
1578
1598
|
}
|
|
1579
|
-
|
|
1599
|
+
literalMaps.literalIntMap.set(newType.literalValue, newType);
|
|
1580
1600
|
}
|
|
1581
1601
|
else if (ClassType.isEnumClass(newType)) {
|
|
1582
|
-
if (
|
|
1583
|
-
|
|
1602
|
+
if (literalMaps.literalEnumMap === undefined) {
|
|
1603
|
+
literalMaps.literalEnumMap = new Map();
|
|
1584
1604
|
}
|
|
1585
1605
|
const enumLiteral = newType.literalValue;
|
|
1586
|
-
|
|
1606
|
+
literalMaps.literalEnumMap.set(enumLiteral.getName(), newType);
|
|
1587
1607
|
}
|
|
1588
1608
|
}
|
|
1589
1609
|
unionType.flags &= newType.flags;
|
|
@@ -1601,16 +1621,17 @@ var UnionType;
|
|
|
1601
1621
|
function containsType(unionType, subtype, exclusionSet, recursionCount = 0) {
|
|
1602
1622
|
// Handle string literals as a special case because unions can sometimes
|
|
1603
1623
|
// contain hundreds of string literal types.
|
|
1604
|
-
if (
|
|
1605
|
-
|
|
1606
|
-
|
|
1624
|
+
if (isClass(subtype) && subtype.condition === undefined && subtype.literalValue !== undefined) {
|
|
1625
|
+
const literalMaps = isClassInstance(subtype) ? unionType.literalInstances : unionType.literalClasses;
|
|
1626
|
+
if (ClassType.isBuiltIn(subtype, 'str') && literalMaps.literalStrMap !== undefined) {
|
|
1627
|
+
return literalMaps.literalStrMap.has(subtype.literalValue);
|
|
1607
1628
|
}
|
|
1608
|
-
else if (ClassType.isBuiltIn(subtype, 'int') &&
|
|
1609
|
-
return
|
|
1629
|
+
else if (ClassType.isBuiltIn(subtype, 'int') && literalMaps.literalIntMap !== undefined) {
|
|
1630
|
+
return literalMaps.literalIntMap.has(subtype.literalValue);
|
|
1610
1631
|
}
|
|
1611
|
-
else if (ClassType.isEnumClass(subtype) &&
|
|
1632
|
+
else if (ClassType.isEnumClass(subtype) && literalMaps.literalEnumMap !== undefined) {
|
|
1612
1633
|
const enumLiteral = subtype.literalValue;
|
|
1613
|
-
return
|
|
1634
|
+
return literalMaps.literalEnumMap.has(enumLiteral.getName());
|
|
1614
1635
|
}
|
|
1615
1636
|
}
|
|
1616
1637
|
const foundIndex = unionType.subtypes.findIndex((t, i) => {
|
|
@@ -2276,10 +2297,14 @@ function combineTypes(subtypes, maxSubtypeCount) {
|
|
|
2276
2297
|
return subtypes[0];
|
|
2277
2298
|
}
|
|
2278
2299
|
// Expand all union types.
|
|
2279
|
-
let expandedTypes
|
|
2300
|
+
let expandedTypes;
|
|
2280
2301
|
const typeAliasSources = new Set();
|
|
2281
|
-
for (
|
|
2302
|
+
for (let i = 0; i < subtypes.length; i++) {
|
|
2303
|
+
const subtype = subtypes[i];
|
|
2282
2304
|
if (isUnion(subtype)) {
|
|
2305
|
+
if (!expandedTypes) {
|
|
2306
|
+
expandedTypes = subtypes.slice(0, i);
|
|
2307
|
+
}
|
|
2283
2308
|
expandedTypes = expandedTypes.concat(subtype.subtypes);
|
|
2284
2309
|
if (subtype.typeAliasInfo) {
|
|
2285
2310
|
typeAliasSources.add(subtype);
|
|
@@ -2290,10 +2315,11 @@ function combineTypes(subtypes, maxSubtypeCount) {
|
|
|
2290
2315
|
});
|
|
2291
2316
|
}
|
|
2292
2317
|
}
|
|
2293
|
-
else {
|
|
2318
|
+
else if (expandedTypes) {
|
|
2294
2319
|
expandedTypes.push(subtype);
|
|
2295
2320
|
}
|
|
2296
2321
|
}
|
|
2322
|
+
expandedTypes = expandedTypes !== null && expandedTypes !== void 0 ? expandedTypes : subtypes;
|
|
2297
2323
|
// Sort all of the literal and empty types to the end.
|
|
2298
2324
|
expandedTypes = expandedTypes.sort((type1, type2) => {
|
|
2299
2325
|
if (isClass(type1) && type1.literalValue !== undefined) {
|
|
@@ -2368,28 +2394,29 @@ function _addTypeIfUnique(unionType, typeToAdd) {
|
|
|
2368
2394
|
// Handle the addition of a string literal in a special manner to
|
|
2369
2395
|
// avoid n^2 behavior in unions that contain hundreds of string
|
|
2370
2396
|
// literal types. Skip this for constrained types.
|
|
2371
|
-
if (
|
|
2397
|
+
if (isClass(typeToAdd) && typeToAdd.condition === undefined) {
|
|
2398
|
+
const literalMaps = isClassInstance(typeToAdd) ? unionType.literalInstances : unionType.literalClasses;
|
|
2372
2399
|
if (ClassType.isBuiltIn(typeToAdd, 'str') &&
|
|
2373
2400
|
typeToAdd.literalValue !== undefined &&
|
|
2374
|
-
|
|
2375
|
-
if (!
|
|
2401
|
+
literalMaps.literalStrMap !== undefined) {
|
|
2402
|
+
if (!literalMaps.literalStrMap.has(typeToAdd.literalValue)) {
|
|
2376
2403
|
UnionType.addType(unionType, typeToAdd);
|
|
2377
2404
|
}
|
|
2378
2405
|
return;
|
|
2379
2406
|
}
|
|
2380
2407
|
else if (ClassType.isBuiltIn(typeToAdd, 'int') &&
|
|
2381
2408
|
typeToAdd.literalValue !== undefined &&
|
|
2382
|
-
|
|
2383
|
-
if (!
|
|
2409
|
+
literalMaps.literalIntMap !== undefined) {
|
|
2410
|
+
if (!literalMaps.literalIntMap.has(typeToAdd.literalValue)) {
|
|
2384
2411
|
UnionType.addType(unionType, typeToAdd);
|
|
2385
2412
|
}
|
|
2386
2413
|
return;
|
|
2387
2414
|
}
|
|
2388
2415
|
else if (ClassType.isEnumClass(typeToAdd) &&
|
|
2389
2416
|
typeToAdd.literalValue !== undefined &&
|
|
2390
|
-
|
|
2417
|
+
literalMaps.literalEnumMap !== undefined) {
|
|
2391
2418
|
const enumLiteral = typeToAdd.literalValue;
|
|
2392
|
-
if (!
|
|
2419
|
+
if (!literalMaps.literalEnumMap.has(enumLiteral.getName())) {
|
|
2393
2420
|
UnionType.addType(unionType, typeToAdd);
|
|
2394
2421
|
}
|
|
2395
2422
|
return;
|