@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
@@ -0,0 +1,326 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
+
exports.run = void 0;
|
27
|
+
/*
|
28
|
+
* languageServer.ts
|
29
|
+
* Copyright (c) Microsoft Corporation.
|
30
|
+
* Licensed under the MIT license.
|
31
|
+
*
|
32
|
+
* Test language server wrapper that lets us run the language server during a test.
|
33
|
+
*/
|
34
|
+
const node_1 = require("vscode-languageserver/node");
|
35
|
+
const worker_threads_1 = require("worker_threads");
|
36
|
+
const deferred_1 = require("../../common/deferred");
|
37
|
+
const pathUtils_1 = require("../../common/pathUtils");
|
38
|
+
const serviceProvider_1 = require("../../common/serviceProvider");
|
39
|
+
const uri_1 = require("../../common/uri/uri");
|
40
|
+
const fourSlashParser_1 = require("../harness/fourslash/fourSlashParser");
|
41
|
+
const PyrightTestHost = __importStar(require("../harness/testHost"));
|
42
|
+
const factory_1 = require("../harness/vfs/factory");
|
43
|
+
const backgroundAnalysis_1 = require("../../backgroundAnalysis");
|
44
|
+
const backgroundThreadBase_1 = require("../../backgroundThreadBase");
|
45
|
+
const serviceProviderExtensions_1 = require("../../common/serviceProviderExtensions");
|
46
|
+
const pyrightFileSystem_1 = require("../../pyrightFileSystem");
|
47
|
+
const server_1 = require("../../server");
|
48
|
+
const customLsp_1 = require("./customLsp");
|
49
|
+
const languageServerTestUtils_1 = require("./languageServerTestUtils");
|
50
|
+
const WORKER_STARTED = 'WORKER_STARTED';
|
51
|
+
const WORKER_BACKGROUND_DATA = 'WORKER_BACKGROUND_DATA';
|
52
|
+
function getCommonRoot(files) {
|
53
|
+
var _a;
|
54
|
+
let root = ((_a = files[0]) === null || _a === void 0 ? void 0 : _a.getPath()) || languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT;
|
55
|
+
for (let i = 1; i < files.length; i++) {
|
56
|
+
const file = files[i];
|
57
|
+
while (root.length > 0 && !file.pathStartsWith(root)) {
|
58
|
+
root = root.slice(0, root.lastIndexOf('/'));
|
59
|
+
}
|
60
|
+
}
|
61
|
+
return root;
|
62
|
+
}
|
63
|
+
class TestPyrightHost {
|
64
|
+
constructor(_host) {
|
65
|
+
this._host = _host;
|
66
|
+
}
|
67
|
+
useCaseSensitiveFileNames() {
|
68
|
+
return this._host.useCaseSensitiveFileNames();
|
69
|
+
}
|
70
|
+
getAccessibleFileSystemEntries(dirname) {
|
71
|
+
return this._host.getAccessibleFileSystemEntries(dirname);
|
72
|
+
}
|
73
|
+
directoryExists(path) {
|
74
|
+
return this._host.directoryExists(path);
|
75
|
+
}
|
76
|
+
fileExists(fileName) {
|
77
|
+
return this._host.fileExists(fileName);
|
78
|
+
}
|
79
|
+
getFileSize(path) {
|
80
|
+
return this._host.getFileSize(path);
|
81
|
+
}
|
82
|
+
readFile(path) {
|
83
|
+
return this._host.readFile(path);
|
84
|
+
}
|
85
|
+
getWorkspaceRoot() {
|
86
|
+
// The default workspace root is wrong. It should be based on where the bundle is running.
|
87
|
+
// That's where the typeshed fallback and other bundled files are located.
|
88
|
+
return (0, pathUtils_1.resolvePaths)(__dirname);
|
89
|
+
}
|
90
|
+
writeFile(path, contents) {
|
91
|
+
this._host.writeFile(path, contents);
|
92
|
+
}
|
93
|
+
listFiles(path, filter, options) {
|
94
|
+
return this._host.listFiles(path, filter, options);
|
95
|
+
}
|
96
|
+
log(text) {
|
97
|
+
this._host.log(text);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
function createTestHost(testServerData) {
|
101
|
+
const scriptOutput = '';
|
102
|
+
const runScript = async (pythonPath, scriptPath, args, cwd, token) => {
|
103
|
+
return { stdout: scriptOutput, stderr: '', exitCode: 0 };
|
104
|
+
};
|
105
|
+
const options = new languageServerTestUtils_1.TestHostOptions({ version: testServerData.pythonVersion, runScript });
|
106
|
+
const projectRootPaths = testServerData.projectRoots.map((p) => (0, languageServerTestUtils_1.getFileLikePath)(p));
|
107
|
+
const testData = (0, fourSlashParser_1.parseTestData)(testServerData.projectRoots.length === 1 ? projectRootPaths[0] : languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, testServerData.code, 'noname.py');
|
108
|
+
const commonRoot = getCommonRoot(testServerData.projectRoots);
|
109
|
+
// Make sure global variables from previous tests are cleared.
|
110
|
+
(0, factory_1.clearCache)();
|
111
|
+
// create a test file system using the test data.
|
112
|
+
const fs = (0, languageServerTestUtils_1.createFileSystem)(commonRoot, testData, new TestPyrightHost(PyrightTestHost.HOST));
|
113
|
+
return new languageServerTestUtils_1.TestHost(fs, fs, testData, projectRootPaths, options);
|
114
|
+
}
|
115
|
+
class TestServer extends server_1.PyrightServer {
|
116
|
+
constructor(connection, fs, _supportsBackgroundAnalysis) {
|
117
|
+
super(connection, fs);
|
118
|
+
this._supportsBackgroundAnalysis = _supportsBackgroundAnalysis;
|
119
|
+
}
|
120
|
+
test_onDidChangeWatchedFiles(params) {
|
121
|
+
this.onDidChangeWatchedFiles(params);
|
122
|
+
}
|
123
|
+
async updateSettingsForWorkspace(workspace, status, serverSettings) {
|
124
|
+
const result = await super.updateSettingsForWorkspace(workspace, status, serverSettings);
|
125
|
+
// LSP notification only allows synchronous callback. because of that, the one that sent the notification can't know
|
126
|
+
// when the work caused by the notification actually ended. To workaround that issue, we will send custom lsp to indicate
|
127
|
+
// something has been done.
|
128
|
+
customLsp_1.CustomLSP.sendNotification(this.connection, customLsp_1.CustomLSP.Notifications.TestSignal, {
|
129
|
+
uri: workspace.rootUri.toString(),
|
130
|
+
kind: customLsp_1.CustomLSP.TestSignalKinds.Initialization,
|
131
|
+
});
|
132
|
+
return result;
|
133
|
+
}
|
134
|
+
createBackgroundAnalysis(serviceId) {
|
135
|
+
if (this._supportsBackgroundAnalysis) {
|
136
|
+
return new backgroundAnalysis_1.BackgroundAnalysis(this.serverOptions.serviceProvider);
|
137
|
+
}
|
138
|
+
return undefined;
|
139
|
+
}
|
140
|
+
}
|
141
|
+
async function runServer(testServerData, reader, writer, connectionFactory) {
|
142
|
+
// Create connection back to the client first.
|
143
|
+
const connection = connectionFactory(reader, writer);
|
144
|
+
// Fixup the input data.
|
145
|
+
testServerData = {
|
146
|
+
...testServerData,
|
147
|
+
projectRoots: testServerData.projectRoots.map((p) => uri_1.Uri.fromJsonObj(p)),
|
148
|
+
logFile: uri_1.Uri.fromJsonObj(testServerData.logFile),
|
149
|
+
};
|
150
|
+
try {
|
151
|
+
// Create a host so we can control the file system for the PyrightServer.
|
152
|
+
const disposables = [];
|
153
|
+
const host = createTestHost(testServerData);
|
154
|
+
const server = new TestServer(connection, host.fs, testServerData.backgroundAnalysis);
|
155
|
+
// Listen for the test messages from the client. These messages
|
156
|
+
// are how the test code queries the state of the server.
|
157
|
+
disposables.push(customLsp_1.CustomLSP.onRequest(connection, customLsp_1.CustomLSP.Requests.GetDiagnostics, async (params, token) => {
|
158
|
+
const filePath = uri_1.Uri.parse(params.uri, true);
|
159
|
+
const workspace = await server.getWorkspaceForFile(filePath);
|
160
|
+
workspace.service.test_program.analyze(undefined, token);
|
161
|
+
const file = workspace.service.test_program.getBoundSourceFile(filePath);
|
162
|
+
const diagnostics = (file === null || file === void 0 ? void 0 : file.getDiagnostics(workspace.service.test_program.configOptions)) || [];
|
163
|
+
return { diagnostics: (0, backgroundThreadBase_1.serialize)(diagnostics) };
|
164
|
+
}));
|
165
|
+
// Dispose the server and connection when terminating the server.
|
166
|
+
disposables.push(server);
|
167
|
+
disposables.push(connection);
|
168
|
+
return { disposables, connection };
|
169
|
+
}
|
170
|
+
catch (err) {
|
171
|
+
console.error(err);
|
172
|
+
return { disposables: [], connection };
|
173
|
+
}
|
174
|
+
}
|
175
|
+
class ListeningPortMessageWriter extends node_1.PortMessageWriter {
|
176
|
+
constructor(port) {
|
177
|
+
super(port);
|
178
|
+
this._callbacks = [];
|
179
|
+
}
|
180
|
+
async write(msg) {
|
181
|
+
await Promise.all(this._callbacks.map((c) => c(msg)));
|
182
|
+
return super.write(msg);
|
183
|
+
}
|
184
|
+
onPostMessage(callback) {
|
185
|
+
this._callbacks.push(callback);
|
186
|
+
}
|
187
|
+
}
|
188
|
+
/**
|
189
|
+
* Object that exists in the worker thread that starts and stops (and cleans up after) the main server.
|
190
|
+
*/
|
191
|
+
class ServerStateManager {
|
192
|
+
constructor(_connectionFactory) {
|
193
|
+
this._connectionFactory = _connectionFactory;
|
194
|
+
this._instances = [];
|
195
|
+
this._reader = new node_1.PortMessageReader(worker_threads_1.parentPort);
|
196
|
+
this._writer = new ListeningPortMessageWriter(worker_threads_1.parentPort);
|
197
|
+
this._shutdownId = null;
|
198
|
+
// Listen for shutdown response.
|
199
|
+
this._writer.onPostMessage(async (msg) => {
|
200
|
+
if (node_1.Message.isResponse(msg) && msg.id === this._shutdownId) {
|
201
|
+
await this._handleShutdown();
|
202
|
+
}
|
203
|
+
});
|
204
|
+
}
|
205
|
+
run() {
|
206
|
+
worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.on('message', (message) => this._handleMessage(message));
|
207
|
+
}
|
208
|
+
_handleMessage(message) {
|
209
|
+
try {
|
210
|
+
// Debug output to help diagnose sync issues.
|
211
|
+
if (message && message.method === customLsp_1.CustomLSP.Notifications.TestStartServer) {
|
212
|
+
this._handleStart(message.params);
|
213
|
+
}
|
214
|
+
else if (node_1.Message.isRequest(message) && message.method === node_1.ShutdownRequest.method) {
|
215
|
+
this._shutdownId = message.id;
|
216
|
+
}
|
217
|
+
}
|
218
|
+
catch (err) {
|
219
|
+
console.error(err);
|
220
|
+
}
|
221
|
+
}
|
222
|
+
async _handleStart(options) {
|
223
|
+
var _a;
|
224
|
+
(0, languageServerTestUtils_1.logToDisk)(`Starting server for ${options.testName}`, options.logFile);
|
225
|
+
// Every time we start the server, remove all message handlers from our PortMessageReader.
|
226
|
+
// This prevents the old servers from responding to messages for new ones.
|
227
|
+
this._reader.dispose();
|
228
|
+
// Wait for the previous server to finish. This should be okay because the test
|
229
|
+
// client waits for the response message before sending anything else. Otherwise
|
230
|
+
// we'd receive the initialize message for the server and drop it before the server
|
231
|
+
// actually started.
|
232
|
+
if (this._pendingDispose) {
|
233
|
+
(0, languageServerTestUtils_1.logToDisk)(`Waiting for previous server ${(_a = this._currentOptions) === null || _a === void 0 ? void 0 : _a.testName} to finish for ${options.testName}`, options.logFile);
|
234
|
+
await this._pendingDispose.promise;
|
235
|
+
this._pendingDispose = undefined;
|
236
|
+
}
|
237
|
+
this._currentOptions = options;
|
238
|
+
// Set the worker data for the current test. Any background threads
|
239
|
+
// started after this point will pick up this value.
|
240
|
+
(0, worker_threads_1.setEnvironmentData)(WORKER_BACKGROUND_DATA, options);
|
241
|
+
// Create an instance of the server.
|
242
|
+
const { disposables, connection } = await runServer(options, this._reader, this._writer, this._connectionFactory);
|
243
|
+
this._instances.push({ disposables, connection });
|
244
|
+
// Enable this to help diagnose sync issues.
|
245
|
+
(0, languageServerTestUtils_1.logToDisk)(`Started server for ${options.testName}`, options.logFile);
|
246
|
+
// Respond back.
|
247
|
+
worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.postMessage({
|
248
|
+
jsonrpc: '2.0',
|
249
|
+
method: customLsp_1.CustomLSP.Notifications.TestStartServerResponse,
|
250
|
+
params: options,
|
251
|
+
});
|
252
|
+
}
|
253
|
+
async _handleShutdown() {
|
254
|
+
var _a, _b, _c, _d, _e;
|
255
|
+
if (this._currentOptions) {
|
256
|
+
(0, languageServerTestUtils_1.logToDisk)(`Stopping ${(_a = this._currentOptions) === null || _a === void 0 ? void 0 : _a.testName}`, this._currentOptions.logFile);
|
257
|
+
}
|
258
|
+
this._shutdownId = null;
|
259
|
+
const instance = this._instances.pop();
|
260
|
+
if (instance) {
|
261
|
+
this._pendingDispose = (0, deferred_1.createDeferred)();
|
262
|
+
// Wait for our connection to finish first. Give it 10 tries.
|
263
|
+
// This is a bit of a hack but there are no good ways to cancel all running requests
|
264
|
+
// on shutdown.
|
265
|
+
let count = 0;
|
266
|
+
while (count < 10 && ((_c = (_b = instance.connection.console) === null || _b === void 0 ? void 0 : _b._rawConnection) === null || _c === void 0 ? void 0 : _c.hasPendingResponse())) {
|
267
|
+
await (0, languageServerTestUtils_1.sleep)(10);
|
268
|
+
count += 1;
|
269
|
+
}
|
270
|
+
this._pendingDispose.resolve();
|
271
|
+
instance.disposables.forEach((d) => {
|
272
|
+
d.dispose();
|
273
|
+
});
|
274
|
+
this._pendingDispose = undefined;
|
275
|
+
if (this._currentOptions) {
|
276
|
+
(0, languageServerTestUtils_1.logToDisk)(`Stopped ${(_d = this._currentOptions) === null || _d === void 0 ? void 0 : _d.testName}`, this._currentOptions.logFile);
|
277
|
+
}
|
278
|
+
}
|
279
|
+
else {
|
280
|
+
if (this._currentOptions) {
|
281
|
+
(0, languageServerTestUtils_1.logToDisk)(`Failed to stop ${(_e = this._currentOptions) === null || _e === void 0 ? void 0 : _e.testName}`, this._currentOptions.logFile);
|
282
|
+
}
|
283
|
+
}
|
284
|
+
if (global.gc) {
|
285
|
+
global.gc();
|
286
|
+
}
|
287
|
+
}
|
288
|
+
}
|
289
|
+
async function runTestBackgroundThread() {
|
290
|
+
let options = (0, worker_threads_1.getEnvironmentData)(WORKER_BACKGROUND_DATA);
|
291
|
+
// Normalize the options.
|
292
|
+
options = {
|
293
|
+
...options,
|
294
|
+
projectRoots: options.projectRoots.map((p) => uri_1.Uri.fromJsonObj(p)),
|
295
|
+
logFile: uri_1.Uri.fromJsonObj(options.logFile),
|
296
|
+
};
|
297
|
+
try {
|
298
|
+
// Create a host on the background thread too so that it uses
|
299
|
+
// the host's file system. Has to be sync so that we don't
|
300
|
+
// drop any messages sent to the background thread.
|
301
|
+
const host = createTestHost(options);
|
302
|
+
const fs = new pyrightFileSystem_1.PyrightFileSystem(host.fs);
|
303
|
+
const serviceProvider = new serviceProvider_1.ServiceProvider();
|
304
|
+
serviceProvider.add(serviceProviderExtensions_1.ServiceKeys.fs, fs);
|
305
|
+
// run default background runner
|
306
|
+
const runner = new backgroundAnalysis_1.BackgroundAnalysisRunner(serviceProvider);
|
307
|
+
runner.start();
|
308
|
+
}
|
309
|
+
catch (e) {
|
310
|
+
console.error(`BackgroundThread crashed with ${e}`);
|
311
|
+
}
|
312
|
+
}
|
313
|
+
function run() {
|
314
|
+
// Start the background thread if this is not the first worker.
|
315
|
+
if ((0, worker_threads_1.getEnvironmentData)(WORKER_STARTED) === 'true') {
|
316
|
+
runTestBackgroundThread();
|
317
|
+
}
|
318
|
+
else {
|
319
|
+
(0, worker_threads_1.setEnvironmentData)(WORKER_STARTED, 'true');
|
320
|
+
// Start the server state manager.
|
321
|
+
const stateManager = new ServerStateManager((reader, writer) => (0, node_1.createConnection)(reader, writer, {}));
|
322
|
+
stateManager.run();
|
323
|
+
}
|
324
|
+
}
|
325
|
+
exports.run = run;
|
326
|
+
//# sourceMappingURL=languageServer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"languageServer.js","sourceRoot":"","sources":["../../../../../../src/tests/lsp/languageServer.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,100 @@
|
|
1
|
+
import { ApplyWorkspaceEditParams, CancellationToken, ConfigurationItem, Disposable, InitializeParams, LogMessageParams, PublishDiagnosticsParams, Registration } from 'vscode-languageserver-protocol';
|
2
|
+
import { Connection, Event, NotificationHandler, ProgressToken, ProgressType, ProtocolNotificationType } from 'vscode-languageserver/node';
|
3
|
+
import { PythonPathResult } from '../../analyzer/pythonPathUtils';
|
4
|
+
import { IPythonMode } from '../../analyzer/sourceFile';
|
5
|
+
import { PythonPlatform } from '../../common/configOptions';
|
6
|
+
import { Deferred } from '../../common/deferred';
|
7
|
+
import { FileSystem } from '../../common/fileSystem';
|
8
|
+
import { LimitedAccessHost } from '../../common/fullAccessHost';
|
9
|
+
import { HostKind, ScriptOutput } from '../../common/host';
|
10
|
+
import { PythonVersion } from '../../common/pythonVersion';
|
11
|
+
import { Uri } from '../../common/uri/uri';
|
12
|
+
import { FourSlashData } from '../harness/fourslash/fourSlashTypes';
|
13
|
+
import * as host from '../harness/testHost';
|
14
|
+
import * as vfs from '../harness/vfs/filesystem';
|
15
|
+
import { CustomLSP } from './customLsp';
|
16
|
+
export declare const DEFAULT_WORKSPACE_ROOT: string;
|
17
|
+
export declare const ERROR_SCRIPT_OUTPUT = "Error: script failed to run";
|
18
|
+
export declare const STALL_SCRIPT_OUTPUT = "Timeout: script never finished running";
|
19
|
+
export interface PyrightServerInfo {
|
20
|
+
disposables: Disposable[];
|
21
|
+
registrations: Registration[];
|
22
|
+
logs: LogMessageParams[];
|
23
|
+
connection: Connection;
|
24
|
+
signals: Map<CustomLSP.TestSignalKinds, Deferred<boolean>>;
|
25
|
+
testName: string;
|
26
|
+
testData: FourSlashData;
|
27
|
+
projectRoots: Uri[];
|
28
|
+
progressReporters: string[];
|
29
|
+
progressReporterStatus: Map<string, number>;
|
30
|
+
progressParts: Map<string, TestProgressPart>;
|
31
|
+
telemetry: any[];
|
32
|
+
diagnostics: PublishDiagnosticsParams[];
|
33
|
+
diagnosticsEvent: Event<PublishDiagnosticsParams>;
|
34
|
+
workspaceEdits: ApplyWorkspaceEditParams[];
|
35
|
+
workspaceEditsEvent: Event<ApplyWorkspaceEditParams>;
|
36
|
+
getInitializeParams(): InitializeParams;
|
37
|
+
dispose(): Promise<void>;
|
38
|
+
convertPathToUri(path: string): Uri;
|
39
|
+
}
|
40
|
+
export declare class TestHostOptions {
|
41
|
+
version: PythonVersion;
|
42
|
+
platform: PythonPlatform;
|
43
|
+
searchPaths: Uri[];
|
44
|
+
runScript: (pythonPath: Uri | undefined, scriptPath: Uri, args: string[], cwd: Uri, token: CancellationToken) => Promise<ScriptOutput>;
|
45
|
+
constructor({ version, platform, searchPaths, runScript, }?: {
|
46
|
+
version?: PythonVersion | undefined;
|
47
|
+
platform?: PythonPlatform | undefined;
|
48
|
+
searchPaths?: Uri[] | undefined;
|
49
|
+
runScript?: ((pythonPath: Uri | undefined, scriptPath: Uri, args: string[], cwd: Uri, token: CancellationToken) => Promise<{
|
50
|
+
stdout: string;
|
51
|
+
stderr: string;
|
52
|
+
}>) | undefined;
|
53
|
+
});
|
54
|
+
}
|
55
|
+
export declare const logToDisk: (m: string, f: Uri) => void;
|
56
|
+
export declare function logToDiskImpl(message: string, fileName: Uri): void;
|
57
|
+
export declare function cleanupAfterAll(): Promise<void>;
|
58
|
+
export declare function getFileLikePath(uri: Uri): string;
|
59
|
+
export declare function createFileSystem(projectRoot: string, testData: FourSlashData, optionalHost?: host.TestHost): vfs.TestFileSystem;
|
60
|
+
export declare function updateSettingsMap(info: PyrightServerInfo, settings: {
|
61
|
+
item: ConfigurationItem;
|
62
|
+
value: any;
|
63
|
+
}[]): void;
|
64
|
+
export declare function getParseResults(fileContents: string, isStubFile?: boolean, ipythonMode?: IPythonMode): import("../../parser/parser").ParseResults;
|
65
|
+
export declare function waitForDiagnostics(info: PyrightServerInfo, timeout?: number): Promise<PublishDiagnosticsParams[]>;
|
66
|
+
interface ProgressPart {
|
67
|
+
}
|
68
|
+
interface ProgressContext {
|
69
|
+
onProgress<P>(type: ProgressType<P>, token: string | number, handler: NotificationHandler<P>): Disposable;
|
70
|
+
sendNotification<P, RO>(type: ProtocolNotificationType<P, RO>, params?: P): void;
|
71
|
+
}
|
72
|
+
declare class TestProgressPart implements ProgressPart {
|
73
|
+
private readonly _context;
|
74
|
+
private readonly _token;
|
75
|
+
constructor(_context: ProgressContext, _token: ProgressToken, info: PyrightServerInfo, done: () => void);
|
76
|
+
sendCancel(): void;
|
77
|
+
}
|
78
|
+
export declare function runPyrightServer(projectRoots: string[] | string, code: string, callInitialize?: boolean, extraSettings?: {
|
79
|
+
item: ConfigurationItem;
|
80
|
+
value: any;
|
81
|
+
}[], pythonVersion?: PythonVersion, backgroundAnalysis?: boolean): Promise<PyrightServerInfo>;
|
82
|
+
export declare function initializeLanguageServer(info: PyrightServerInfo): Promise<import("vscode-languageserver-protocol").InitializeResult<any>>;
|
83
|
+
export declare function sleep(timeout: number): Promise<number>;
|
84
|
+
export declare function openFile(info: PyrightServerInfo, markerName: string, text?: string): void;
|
85
|
+
export declare function hover(info: PyrightServerInfo, markerName: string): Promise<import("vscode-languageserver-types").Hover | null>;
|
86
|
+
export declare function getInitializeParams(projectRoots: Uri[]): InitializeParams;
|
87
|
+
export declare class TestHost extends LimitedAccessHost {
|
88
|
+
readonly fs: FileSystem;
|
89
|
+
readonly testFs: vfs.TestFileSystem;
|
90
|
+
readonly testData: FourSlashData;
|
91
|
+
readonly projectRoots: string[];
|
92
|
+
private readonly _options;
|
93
|
+
constructor(fs: FileSystem, testFs: vfs.TestFileSystem, testData: FourSlashData, projectRoots: string[], options?: TestHostOptions);
|
94
|
+
get kind(): HostKind;
|
95
|
+
getPythonVersion(pythonPath?: Uri, logInfo?: string[]): PythonVersion | undefined;
|
96
|
+
getPythonPlatform(logInfo?: string[]): PythonPlatform | undefined;
|
97
|
+
getPythonSearchPaths(pythonPath?: Uri, logInfo?: string[]): PythonPathResult;
|
98
|
+
runScript(pythonPath: Uri | undefined, scriptPath: Uri, args: string[], cwd: Uri, token: CancellationToken): Promise<ScriptOutput>;
|
99
|
+
}
|
100
|
+
export {};
|